Axiom
A high-performance 2D game engine built in modern C++, targeting 60 FPS with 10,000+ entities.
- C++
- OpenGL
- SDL3
- CMake
Built a production-grade 2D game engine with hardware-accelerated rendering, a robust Entity-Component System (ECS), and custom spatial partitioning.
Key features
- High-performance rendering. Engineered sprite batching that achieves 166+ FPS by consolidating 1,000 sprites into a single draw call using dynamic VBOs, reducing GPU overhead by ~99%.
- Complex mathematics. Developed custom math libraries including Vector2/3/4, matrix operations, and geometric primitives.
- Collision detection. Implemented precise collision logic using Liang–Barsky clipping.
- Scalability. Targeted and maintained a steady 60 FPS even with 10,000+ active entities.
Development journey
Building Axiom was a deep dive into the fundamentals of computer graphics and low-level system optimization. The project started with a simple goal: render 10,000 entities at 60 FPS. Achieving that required rethinking memory management and GPU communication from the ground up.
The biggest breakthrough was implementing sprite batching, which consolidated thousands of draw calls into a single dynamic VBO update, jumping frame rates from 30 to over 160 FPS.
I’ve written more about the technical challenges and breakthroughs in my full reflection: Read: The Axiom Journey.