Where classic FPS meets code: 90s legend reborn in C
2024
Title
cube3D
The Challenge
I set out to recreate the essence of the iconic Wolfenstein 3D—the game that defined the first-person shooter genre—using nothing but C and a minimalist graphics library. The goal was to go beyond simple rendering and build a smooth, interactive 3D maze exploration experience from scratch using ray-casting principles.
This is a cloud-hosted version of my C-based 3D raycasting engine (cube3D). It runs in software mode without a GPU, so performance in the browser is limited. Source code and setup instructions are available for local compilation.
Solution
I developed cub3D entirely in C, using MiniLibX for rendering and event handling. Core features include:
-
Custom ray-casting engine for 3D projection
-
Texture mapping for walls and sprites
-
Keyboard-based movement and view rotation
-
Dynamic map parsing with validation
-
Optional BMP image export of the first rendered frame
-
Clean memory management with zero leaks
With this project, I deepened my understanding of low-level graphics, event-driven programming, and mathematical modeling—all while building a tribute to one of gaming’s most influential titles.


