Cub3D is a 3D maze navigation project inspired by the classic game Wolfenstein 3D. Using raycasting technology, it creates a retro-style first-person experience by transforming 2D map data into a dynamic 3D environment. Developed in C with the MiniLibX graphics library, the project highlights core principles of computer graphics and game development, offering a practical exploration of rendering techniques and real-time visual simulation.
-
Raycast Rendering Engine Efficient 3D projection from 2D maps using the DDA (Digital Differential Analyzer) algorithm.
-
GTA-Style Rotating Minimap Dynamic overhead map rotates with player orientation for intuitive navigation. Built using Inverse Mapping (Reverse Transformation/Destination-Driven Warping).
-
Interactive Door System Animated doors that open/close with smooth transitions.
-
Fluid Controls WASD movement, mouse/trackpad camera rotation, and real-time minimap rendering.
-
Clone Repository
git clone https://github.com/olaaroub/42_Cub3D.git && cd 42_Cub3D
-
Install Dependencies
-
MiniLibX (included) requires:
-
gcc
-
make
-
X11 include files (package xorg)
-
XShm extension must be present (package libxext-dev)
-
sudo apt-get install gcc make xserver-xorg-dev xorg-dev libbsd-dev sudo apt-get install libxext-dev libxrandr-dev libx11-dev libxml2-dev
-
| Action | Key |
|---|---|
| Move | W A S D |
| Turn Left/Right | Right/Left arrow |
| Rotate Camera | Mouse/Trackpad |
| Open/Close Doors | F E |
| Quit | ESC |





