⚠️ I have decided to archive this project as I am no longer actively maintaining it.
A multi-platform C++ 2D game engine.
The engine runs and was successfully tested on the following platforms:
- OS X, macOS
- Windows (MinGW)
- Web (Emscripten)
Summary of the Entity-component-system approach:
- Entities are made up of one or more components
- Components contain data to store the state of an entity
- Systems contain the logic and operate on entities that have the required components
The engine provides standard components and systems usually needed in a game:
- Components:
Transform
,Velocity
,BoxShape
,Sprite
,Text
,MouseListener
,AudioSource
etc. - Systems:
Motion
,SpriteRender
,TextRender
,MouseEventTrigger
,AABBCollision
,DebugProfile
,DebugSprite
etc.
This collection of components and systems can be extended.
- Resources can be loaded from files or embedded resources.
- Embedded resources can be generated using the ResourceGenerator tool.
- All targets (except Web) are compiled using CMake.
- Web targets are compiled using Emscripten and Makefiles.
- My main IDE is CLion, the powerfull cross-platform C/C++ IDE from JetBrains!
The engine relies on the following awesome libraries and tools: