cd ../projects

Axiom

A High-Performance 2D Game Engine built in Modern C++17 targeting 60fps with 10k+ entities.

C++17SDL3OpenGLCMake

Engineered sprite batching achieving 166+ FPS by consolidating 1000 sprites into a single draw call.

High-Performance 2D Game Engine

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 1000 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 detection logic using Liang-Barsky clipping.
  • Scalability: Targeted and maintained a steady 60fps 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