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.
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.