/cub3D-macOS

cub3D, Codam 2020: create a Wolfenstein 3D inspired game, exploring ray-casting and the MLX library provided

Primary LanguageC

codam logo

❔ Basic Overview

cub3D is inspired by Wolfenstein 3D, the first ever first-person shooter. The goal of this project is to implement a dynamic view inside a maze from a first person perspective by utilizing ray-casting. It is obligatory to use miniLibX, a graphics library developed by 42Network.

πŸ“œ Game Configuration

It is necessary to provide a .cub file to compile the game. The program takes it as a first argument. The file contains the following information:

❕ Mandatory Part

Identifier Description Example
NO North-facing wall texture path NO ./path_to_the_north_texture
SO South-facing wall texture path SO ./path_to_the_south_texture
WE West-facing wall texture path WE ./path_to_the_west_texture
EA East-facing wall texture path EA ./path_to_the_east_texture
F Floor colour in RGB format F 220,100,0
C Ceiling colour in RGB format C 225,30,0
1111
1001
1N01
1111
A closed map (surronded by walls). It must be composed of only 4 possible characters: 0 for an empty space, 1 for a wall, 2 for a sprite (bonus) and N, S, E or W for the player’s start position and spawning orientation. 1111111111111111111111111
1000000000110000000000001
1011000001110000000000001
1001000000000000000000001
11111111101100000111111111111
100000000011000001110111111111111
11110111111111011100000012001
11110111111111011101010010201
11000000110101011100000010001
10000000000000001100000000001
10000000000000001101010010001
11000001110101011111011110N0111
11110111 1110101 101111010001
11111111 1111111 111111111111

🎰 Bonus / Optional

Identifier Description Example
S Sprite texture path (bonus) S ./path_to_the_sprite_texture
R Game window resolution (optional) R 1920 1080

πŸ”² Game Compilation

Run the following in the root directory:

  1. make
  2. ./cub3D map.cub
  3. ????
  4. PROFIT!!!

πŸ„ Game Demo

cub3D