Skip to content

BasFaggingerAuer/tiny-game-engine

Repository files navigation

tiny-game-engine

A small OpenGL game engine, created by Bas Fagginger Auer.

Copyright

The tiny game engine is distributed under the GNU General Public License version 3, please see COPYING.

Requirements

Before compiling this software, please ensure that the following tools are available on your system. Debian/Ubuntu package names are supplied between parenthesis for convenience.

  1. A sane build environment (build-essential, g++).
  2. CMake (cmake).
  3. OpenGL libraries.
  4. GLEW OpenGL Extension Wrangler Library (libglew-dev).
  5. OpenAL library (libopenal-dev).
  6. OGG Vorbis library (libogg-dev, libvorbis-dev).
  7. SDL 2 Simple DirectMedia Layer (libsdl2-dev).
  8. SDL 2 image library (libsdl2-image-dev).
  9. SDL 2 font library (libsdl2-ttf-dev).
  10. SDL 2 networking library (libsdl2-net-dev).
  11. Asset importer library (libassimp-dev).
  12. Tiny XML library (libtinyxml-dev).

Installation

Compiling the tiny game engine is done using CMake. Please open a terminal and go to the directory where the package was extracted (containing this README). Then, issue the following commands:

  1. mkdir build
  2. cd build
  3. cmake ..
  4. make

This will automatically build the tiny game engine library (libtinygame), as well as tests for this library's functionality.

Installation using Visual Studio 2013

Create a symbolic link inside the build_win32 folder:

  1. cd build_win32
  2. mklink /D tiny ..\tiny

Then, you can open build_win32/TinyGameEngine.sln using Visual Studio 2013 to compile TinyGameEngine.lib.

Currently, the Visual Studio project file assumes that all dependencies are available as follows:

  1. Include files in external_win32/Include, as well as a manually updated version of config.h (see config.h.cmake).
  2. 32-bit library files in external_win32/Lib/x86.

Using libtinygame

To familiarise yourself with the tiny game engine, I would recommend looking at the source code of the provided examples in the src directory. Below is a list of examples, ordered by complexity, together with the particular elements that they are designed to test.