The Mars Base Engine (MBE) is a light-weight 2D game engine based on SFML.
- An event system
- An entity component system
- A state system for managing program states
- A 2D rendering engine with support for glsl shaders
- A tile map functionality for easy and performant tile rendering
- A audio system allowing for spatialized sounds and music
- An animation system that can be used animate all kinds of objects (not just graphics)
There is no dedicated GUI module. However, due to the SFML rendering pipeline, third party libraries such as TGUI can be used. Either directly by creating a new render component and overloading the draw method or by simply drawing directly to the SFML render window.
A tutorial can be found here.
The source code is documented using doxigen and can be found in the docs folder. It also hosted online.
The engine makes use of a number of open source libraries.
SFML 2.5.1 is required and must be linked with the project. A tutorial showing how to set up SFML in different development environments can be found here. SFML itself is based on OpenGL and OpenAL to provide its graphics and audio functionality.
TinyXML2 is used as a source library and part of the Mars Base Engine's source code.