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, reduced field-of-view distortion, and textured the environment. Building a renderer from scratch forces you to understand how graphics actually work - every pixel on screen comes from a custom built algorithm.
02.
What I Learned
- Learned 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
- Debugged visual artifacts - when the renderer misbehaves, there's no stack trace, just a broken picture
03.
Gallery

Engine in action

Top-down prototype