-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathreadme.txt
67 lines (49 loc) · 2.06 KB
/
readme.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
cub3D Project
Team Members
- Leo (lstorey)
- Marius (mmeiers)
Introduction
cub3D is a project from the 42 School that challenges students to create a basic 3D game
engine inspired by the early FPS games, specifically Wolfenstein 3D.
The project involves building a 3D world using raycasting techniques, rendering graphics
from a first-person perspective. Our goal is to complete the core requirements along with
the collision detection and mouse movement bonuses.
Features Implemented
Mandatory Features
- Raycasting Engine: Displaying walls, floor, and ceiling in a 3D perspective using
raycasting techniques.
- Basic Movement: Ability to move the player forward, backward, and sideways.
- Textures: Walls and floor textures are displayed based on the game's map.
- Simple Map Parsing: The game reads a .cub map file to generate the environment.
Bonuses we are aiming to complete
- Collision Detection: Our implementation includes proper collision detection, ensuring
that the player cannot move through walls or other obstacles.
- Mouse Movement: We implemented mouse control for player camera rotation, allowing for
smooth and intuitive looking around the environment.
Controls
- W / A / S / D: Move the player forward, left, backward, and right.
- Arrow Keys: Rotate the camera (left or right).
- Mouse: Move the mouse to rotate the camera (enabled for bonus).
- ESC: Exit the game.
Map Format
The map file should be a .cub file, which defines the layout of the walls and the spawn
point of the player. Example map format:
111111
100001
100001
1000N1
111111
In this example:
- 1 represents walls
- 0 represents empty space
- N represents the player spawn point (facing north)
Known Issues
- The project does not yet include advanced bonus features like sprite rendering or floor
casting.
- Some edge cases in map parsing might not be fully handled.
Future Improvements
- Implementing more bonuses such as minimap display and dynamic lighting.
- Adding more advanced collision mechanics, such as sliding along walls when hitting them
at an angle.
Conclusion
to be written.......