Problem
The engine brings rendering, resource ownership, map loading, camera behavior, UI, and build tooling into a single C++23/OpenGL codebase.
Architecture
CatChase uses RAII resource management, batched rendering, texture and shader managers, JSON tile-map loading, an orthographic camera, debug rendering, entity factory patterns, Nuklear UI, and portable CMake builds.
Constraints
- Keep resource management explicit through RAII patterns.
- Use batched rendering instead of treating every sprite as an isolated draw path.
- Load maps from JSON so levels and data can evolve independently from engine code.
- Support debug rendering and UI controls during engine development.
- Keep builds portable through CMake.
Technologies
C++23
OpenGL
CMake
RAII
Batched Rendering
Texture Manager
Shader Manager
JSON Tile Maps
Orthographic Camera
Nuklear UI
Outcome
The project demonstrates systems-level C++ design, rendering architecture, toolchain work, and performance-minded engine structure.