The Foundation Engine is a lightweight 2D game engine which enables the user to create sprite based applications. At the time of writing this blog (03/04/23), the engine supports the following:
Batch Renderer
In anticipation of high numbers of entities, the batch renderer enables the rendering of thousands of geometric shapes at a significantly reduced draw call count. Dynamic texturing is supported allowing for unique texturing amongst the quads.
Entity Component System
I chose to use ENTT to handle the large number of entities as well as the considerable number of configurations said entities may 'own'. Within the editor layer, it is straightforward to add different components to the selected entity through the side panel.
Physics
The framework supports a 2D physics engine, simulating physics on all entities with a rigidbody component attached.