01.
Overview
A pseudo-3D rendering engine built in C++ from first principles. Inspired by the techniques used in Wolfenstein 3D, the engine uses a raycasting algorithm — casting rays from the player's viewpoint into a 2D grid map and calculating wall heights based on distance.
The result is a real-time 3D-looking environment rendered entirely through math with no game engine. I implemented player movement, field-of-view controls, textured walls, and a minimap overlay. Building a renderer from scratch forces a deep understanding of how graphics actually work — every pixel on screen is the result of deliberate calculation.
02.
What I Learned
- Deeply understood the math behind raycasting — DDA (Digital Differential Analysis), trigonometry, and perspective projection
- Learned how early 3D games worked and appreciated the ingenuity of software rendering before modern GPUs
- Practiced writing performance-critical C++ with tight render loops and careful memory management
- Understood how graphics systems work at a low level by building one from scratch
- Learned to debug visual artifacts — when the renderer misbehaves, there's no stack trace, just a broken picture
03.
Gallery

Engine in action

Top-down prototype