cub3D is a graphic design project inspired by the classic game Wolfenstein 3D, the first First Person Shooter (FPS). It serves as a practical application of mathematics and ray-casting to create a dynamic 3D maze.
- To apply rigorous programming skills using C.
- To utilize basic algorithms and conduct information research.
- To handle graphical design elements such as windows, colors, and events.
- Create a realistic 3D graphical representation of a maze's interior.
- Use miniLibX for window management and texture display.
- Handle keyboard inputs for navigation and window interactions.
- Wall collisions.
- Minimap system.
- Mouse-controlled view rotation.
- Clone the repository.
- Copy minilibx library to mlx directory.
- Compile the project using the Makefile.
Run the program with a .cub map file as an argument: ./cub3D path_to_map.cub
- Arrow keys: Look around the maze.
- W, A, S, D: Move through the maze.
- Press M for bonus minimap and mouse movement.
- ESC: Exit the program.
The map is defined with characters representing spaces, walls, and the player's start position. It must be surrounded by walls and follow the specified format in the project description.