Super Tesseract Engine (STE) is a simple 2D game engine that represents a lot of my early programming work. It was developed mainly for the experience of building a game from the ground up with minimal help from external libraries. Due to its fighting game roots, STE favors precision and flexibility over efficiency.
Here are its main features (and some quirks):
- STE includes an intuitive level editor and a "Properties" system that makes it easy to edit the fields of objects in-game. (However, it does not implement reflection.)
- STE's levels are free from a grid but objects will snap to one another nicely. A "Layers" system allows for object grouping and basic level scripting.
- STE resolves collisions by enforcing that objects never overlap in the first place. This works well for games with few objects, but can take its toll on the performance of games with large object counts.
- STE includes a "Palettes" system for importing custom graphics into the game and a paint tool for reskinning objects. However, it does not support spritesheets or texture atlases.
This source code was compiled in the Code::Blocks IDE (http://www.codeblocks.org/) using the GNU GCC Compiler and with the SDL2 (https://www.libsdl.org/download-2.0.php), SDL_image (https://www.libsdl.org/projects/SDL_image/), SDL_ttf (https://www.libsdl.org/projects/SDL_ttf/), and SDL_mixer (https://www.libsdl.org/projects/SDL_mixer/) libraries linked.
If you need help setting these libraries up, here are some excellent tutorials:
Setting up the SDL2 Library: http://lazyfoo.net/tutorials/SDL/01_hello_SDL/windows/codeblocks/
Setting up the SDL library extensions: http://lazyfoo.net/tutorials/SDL/06_extension_libraries_and_loading_other_image_formats/windows/codeblocks/index.php