Yet another game engine, what a complete waste of time! Am I right?
Well, it surely wasn’t a waste of time for me, I learned plenty of stuff and had a lot of fun programming it. And it has also started to be useful to others!
It might not captivate the interest of who uses big engines like Unreal, Unity or Godot, but it should attract users of frameworks like Cocos2d, MonoGame, LibGDX, LÖVE, SFML, LWJGL, Phaser, HaxeFlixel, or raylib.
Some use cases
1. It could be used for small cross-platform 2D games. You can program your game in C++ for maximum performance and the ability to customize the engine itself or you can use the Lua bindings for prototypes or game jams.
2. You can use the ImGui integration and put together game developing tools like I did with my particle editor or with SpookyGhost. They would be cross-platform and work on Android and the web as well.
3. When compiled as a static library it becomes a graphics demo framework and every low-level implementation class would be accessible, including the OpenGL and threading layers. All the other features would still be available, like the cross-platform abstraction, the template library, or the RenderDoc and Tracy integrations.
4. Being a minimal open source engine programmed by a single person, it can represent a starting point to learn and experiment with game engine programming.