A cross platform Game Engine for retro-style games based on SDL and Lua
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



An Open-Source Retro Game Engine.

Rengine is intended for Retro-style games. The word style is used because while games running under Rengine will look retro, they are by no means limited to the CPU and memory constraints of the computers of yore.

Rengine also includes a 2D level editor for editing maps.

Rengine is distributed under the terms of the MIT License, which means that it can be used for just about any purpose. See below for details.


It uses SDL for cross-platform operation.

Rengine implements a state machine where the parameters of the states are read from a configuration file.

Some states simply display a static screen and waits for user input, while others invoke a scripting engine to draw graphics and control the game.


Rengine is dependant upon these 3rd party libraries. The version numbers in parenthesis are the latest specific versions that rengine was built and tested against:

On Linux systems, these libraries can be found in your package manager. For example, on Ubuntu 14.04, the following should suffice:

$ sudo apt-get install libsdl2-dev liblua5.2-dev \
           zlib1g-dev libpng12-dev libjpeg-dev \
           libsdl2-mixer-dev libogg-dev libvorbis-dev \
           libfreetype6-dev libfltk1.3-dev

Since SDL2 is relatively new, it may not be available in your package manager, and you may have to compile SDL2 and SDL2_mixer yourself (I know that SDL2 is not available in Debian Wheezy, for instance). In this case, first install the abovementioned packages that are available, then for both those libraries download the sources and run

./configure make sudo make install

If you've compiled SDL yourself and Rengine complains about No such audio device then you need to install libasound2-dev like so

$ sudo apt-get install libasound2-dev

and recompile SDL2 (libpulse-dev may also work - Haven't tried it - more info here).

If you receive an error cannot find -lGL, you need to install OpenGL development libraries:

$ sudo apt-get install libgl1-mesa-dev

On Windows, Rengine is built with MinGW. See the webpages of the packages mentioned above for details on how to compile them under Windows.


Rengine is distributed under the terms of the MIT License.

The LICENSE.md file contains the specific details, along with the details of the library dependencies.

Here is a summary of the licenses of Rengine's 3rd party dependencies:

  • SDL2 is licensed under the zlib license.
  • Lua is licensed under the MIT license
  • libogg and libvorbis are licensed under the New BSD license.
  • libpng is licensed under the libpng license
  • zlib is licensed under the zlib license.
  • libjpeg uses a custom free software license.
  • FreeType uses a BSD-style license
  • FLTK is provided under the terms of the LGPL with an exception for static linking.

There are no restrictions on any games produced with the engine.