An over-engineered ray casting engine.
Maps are described in a 2D-grid format, one scalar for every vertex of the grid, describing its height.
For exemple, to do a flat square with the top right corner rising up, you would do
0 0 1 2 3 4 5 6 7 8 9
0 0 0 1 2 3 4 5 6 7 8
0 0 0 0 1 2 3 4 5 6 7
0 0 0 0 0 1 2 3 4 5 6
0 0 0 0 0 0 1 2 3 4 5
0 0 0 0 0 0 0 1 2 3 4
0 0 0 0 0 0 0 0 1 2 3
0 0 0 0 0 0 0 0 0 1 2
0 0 0 0 0 0 0 0 0 0 1
You will need to install libmlx. After that:
maketo compile the whole project.fdf ./my_map.txtto run it.
WASDto rotate around the origin.IJKLto shift the camera 1 unit to the the top/left/right/bottom, conserving the same angle.UOto move 1 unit toward/away the origin.
FDF was originally a school project at 42. It was graded 125/100.