2023-10-26 11:23:45 +02:00
|
|
|
# Cub3D
|
|
|
|
Cub3D is a simple raycasting game using the mlx library
|
2023-10-25 13:56:45 +02:00
|
|
|
|
|
|
|
---
|
2023-10-26 11:23:45 +02:00
|
|
|
## Todo
|
|
|
|
### Parsing
|
2023-10-29 17:22:15 +01:00
|
|
|
- Flood fill the map starting from the player to check if it is a closed map
|
2023-10-26 11:23:45 +02:00
|
|
|
- Check if all needed elements are present in the closed part of the map
|
|
|
|
### Bonus
|
|
|
|
- Doors
|
|
|
|
- Minimap
|
|
|
|
- Animated Sprites
|
|
|
|
### Extra
|
2023-11-05 13:21:43 +01:00
|
|
|
- Help screen
|
|
|
|
- End level screen
|
|
|
|
- Weapon Sprite that fires
|
|
|
|
- Zoom with right mouse button
|
2023-11-03 22:51:26 +01:00
|
|
|
- Weapon pickups
|
2023-11-05 13:21:43 +01:00
|
|
|
- Shooting Enemies
|
|
|
|
- Moving Enemies
|
2023-11-03 22:51:26 +01:00
|
|
|
- HP system
|
|
|
|
- Timer
|
|
|
|
- Score system
|
2023-11-05 13:21:43 +01:00
|
|
|
- Levels
|
|
|
|
- Start Menu // breaks mandatory subject
|
|
|
|
- Skybox // Breaks mandatory subject
|
|
|
|
- Sounds // need forbidden functions
|
|
|
|
- Music // need forbidden functions
|
2023-10-25 13:56:45 +02:00
|
|
|
|
2023-10-29 17:22:15 +01:00
|
|
|
---
|
|
|
|
## Features
|
|
|
|
### Mandatory
|
|
|
|
- Parsing .cub file for colors and sprites
|
|
|
|
- Parsing .cub file for the map
|
|
|
|
- Set floor and ceiling color based on .cub file
|
|
|
|
- Set Player starting direction based on letter in map
|
|
|
|
- Render walls by raycasting
|
|
|
|
- Walk in 4 directions
|
|
|
|
- Rotate with arrow keys
|
2023-11-01 16:13:18 +01:00
|
|
|
- Directional textures
|
2023-10-29 17:22:15 +01:00
|
|
|
### Bonus
|
|
|
|
- Wall Collision
|
|
|
|
- Rotate with the mouse
|
|
|
|
### Extra
|
|
|
|
- FPS counter
|
|
|
|
- Player can walk in 8 directions
|
|
|
|
- Player can Run
|
2023-11-05 08:12:18 +01:00
|
|
|
- Player can Jump
|
|
|
|
- Player can Crouch
|
2023-10-29 22:32:27 +01:00
|
|
|
- Map sizes up to 1 Megabyte (1000x1000)
|
2023-11-05 08:12:18 +01:00
|
|
|
- Player can collect Treasure
|
2023-11-02 04:30:19 +01:00
|
|
|
- Vertical Aiming
|
2023-11-03 22:51:26 +01:00
|
|
|
- Fullscreen
|
2023-11-04 03:34:03 +01:00
|
|
|
- Barrels
|
|
|
|
- Lights
|
2023-11-03 22:51:26 +01:00
|
|
|
|
2023-10-25 13:56:45 +02:00
|
|
|
---
|
|
|
|
## Bugs
|
2023-10-29 17:22:15 +01:00
|
|
|
- Player gets stuck in walls
|
2023-10-29 18:24:24 +01:00
|
|
|
- Player walks twice as fast when holding W and A or W and D
|
2023-10-25 13:56:45 +02:00
|
|
|
|
|
|
|
---
|
|
|
|
## Usage
|
|
|
|
1. Simply clone or download the repository
|
|
|
|
2. Run `make` in the cloned directory
|
2023-10-26 11:23:45 +02:00
|
|
|
3. Start the game with `./cub3d`
|
2023-10-25 13:56:45 +02:00
|
|
|
|
|
|
|
---
|
|
|
|
[This project is part of the studies at 42](https://42.fr/en/homepage/)
|