Case Study

CatChase Engine - C++23 / OpenGL / CMake

Scratch-built C++23 2D engine with RAII resource management, batched rendering, JSON tile-map loading, Nuklear UI, and portable CMake builds.

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.