63 lines
1.3 KiB
Markdown
63 lines
1.3 KiB
Markdown
# Cub3D
|
|
Cub3D is a simple raycasting game using the mlx library
|
|
|
|
---
|
|
## Todo
|
|
### Parsing
|
|
- Flood fill the map starting from the player to check if it is a closed map
|
|
- Check if all needed elements are present in the closed part of the map
|
|
### Raycasting
|
|
- Replace walls with textures
|
|
### Bonus
|
|
- Doors
|
|
- Minimap
|
|
- Animated Sprites
|
|
### Extra
|
|
- Help screen?
|
|
- Levels?
|
|
- Barrels?
|
|
- Collectables
|
|
- Enemies?
|
|
- Moving Enemies?
|
|
- Weapon Sprite that fires?
|
|
- Zoom with right mouse button?
|
|
- Skybox?
|
|
- Sounds?
|
|
- Music?
|
|
- A Start Menu?
|
|
- Jumping?
|
|
- Vertical Aiming?
|
|
|
|
---
|
|
## 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
|
|
### Bonus
|
|
- Wall Collision
|
|
- Rotate with the mouse
|
|
### Extra
|
|
- FPS counter
|
|
- Player can walk in 8 directions
|
|
- Player can Run
|
|
- Map sizes up to 1 Megabyte (1000x1000)
|
|
|
|
---
|
|
## Bugs
|
|
- Player gets stuck in walls
|
|
- Player walks twice as fast when holding W and A or W and D
|
|
|
|
---
|
|
## Usage
|
|
1. Simply clone or download the repository
|
|
2. Run `make` in the cloned directory
|
|
3. Start the game with `./cub3d`
|
|
|
|
---
|
|
[This project is part of the studies at 42](https://42.fr/en/homepage/)
|