GitHunt
WE

wernsey/rengine

A cross platform Game Engine for retro-style games based on SDL and Lua

Rengine

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.

Technical

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.

Dependencies

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.

License

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.

Languages

C86.4%C++8.0%Lua2.6%Makefile2.2%Awk0.7%

Contributors

Other
Created September 16, 2013
Updated August 27, 2023