The purpose of cub3D is to render a 3D maze in C using the graphic library miniLibX and using raycasting, inspired by the iconic game Wolfenstein3D.
The project encourages a deep understanding of graphics programming and serves as a hands-on exploration of classic video game rendering techniques.
The project's requirements:
- Keys to move:
W
move forwardA
move leftS
move backwardD
move right⬅️
rotate left➡️
rotate right
- To exit:
- press the
ESC
button - click the
X
on the window
- press the
- Map files must be (
.cub
) type - Valid maps must be composed of the following characters only:
0
for an empty space1
for wallsN
orS
orW
orE
for the player's view starting position (North, South, West, East)
- Maps must be closed/surrounded by walls
Clone repository and compile program:
git clone git@github.com:mariav7/cub3D_42project.git
cd cub3D_42project && make
Run the program:
./cub3D maps/map1.ber
Run the program with valgrind to test for leaks:
chmod +xr leak_test.sh && ./leak_test.sh