There are so many game engines out there that yet another one is just a complete waste of time, for both the author and the potential users. Am I right?
I know it wasn’t a waste for me, I learned plenty of stuff and had lot of fun programming it. It might have ceased being a waste for others too: the project grew a lot during those years and could come in handy sometimes.
Some of the use cases for it are:
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. Last, but not least, being a minimal open source engine programmed by a single person, I hope it might represent a starting point to learn and experiment with game engine programming.