Welcome to the Maze project, an exciting 3D game development journey using raycasting. The project unfolds progressively through different tasks, each adding unique features to create an immersive gaming experience.
Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D. It is used by video playback software, emulators, and popular games including Valve's award winning catalog and many Humble Bundle games.
To get started with The Maze, follow these steps:
-
Clone the repository:
$ git clone https://github.com/sassihamdi-CD/The-Maze.git
To run The Maze, follow these instructions:
-
Execute the following command in the terminal:
./maze
Alternatively, you can use the following command if you have
make
installed:make run
-
Use the following keys to navigate and interact in the game:
- Move forward/backward: Up and down arrow keys (W and S also work).
- Turn the camera: Right and left arrow keys (D and A also work).
Feel free to explore The Maze using these controls!
If you need to recompile the project, use the following command:
gcc -Wall -Werror -Wextra -pedantic ./src/*.c -lm -o maze `sdl2-config --cflags` `sdl2-config --libs`
Create a window with SDL2 and implement raycasting to draw walls.
- Set up SDL2.
- Implement raycasting for wall rendering.
- Provide a way to change the camera angle.
Differentiate wall colors based on their orientation (NORTH/SOUTH vs. EAST/WEST).
- Enhance wall rendering to differentiate orientations.
You must provide a way to rotate the camera during the execution.
1.For example, you can rotate the camera when the left,right arrows are pressed on the keyboard. 2.Or you can rotate the camera when the mouse moves, just like a FPS game !
You must provide a way to move the camera during the execution.
- For example, you can move the camera when the w,a,s,d keys are pressed on the keyboard.
- In this part you have to add textures on your walls !
In this part you have to add textures on the ground and/or on the ceiling !
Add weapons textures !
- SDL2 - Get started.pdf
- SDL2 tutorials
- Be cautious with online tutorials; ensure SDL2, not SDL-1.2, is used.
- Raycasting Tutorial
- Alternative Raycasting Tutorial
- Install SDL2 and SDL2 tutorials.
Enjoy the Maze project! Feel free to explore and add your creative touch to enhance the gaming experience.