A group project focused on building a 2D game engine capable of creating games
that can be run separately from the engine. Built using C++, OpenGL, ImGui and Lua.
The engine features a full rendering pipeline, an Entity Component System, editor
tools with a scene graph hierarchy and properties inspector, save & load functionality,
an asset browser, and a built-in profiler with logging, FPS tracking and
memory monitoring. Physics support includes AABBs and limited OBBs, while
Lua scripting allows for flexible gameplay logic.
Built collaboratively, my role focused on low-level systems, architecture and tooling.
Key contributions include memory pooling, ECS architecture, UI factory, the profiling
window, and the asset browser.