assets | ||
getnextline | ||
libft | ||
maps | ||
mlx | ||
src | ||
.gitignore | ||
cub3d.h | ||
Makefile | ||
Readme.md |
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
Bonus
- Doors
- Minimap
- Animated Sprites
Extra
- Help screen?
- Levels?
- Collectables
- Enemies?
- Moving Enemies?
- Weapon Sprite that fires?
- Zoom with right mouse button?
- Weapon pickups
- HP system
- Timer
- Score system
- End level screen
- Skybox?
- Sounds?
- Music?
- A Start Menu?
- Jumping?
- Crouching?
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
- Directional textures
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)
- Vertical Aiming
- Fullscreen
- Barrels
- Lights
Bugs
- Player gets stuck in walls
- Player walks twice as fast when holding W and A or W and D
Usage
- Simply clone or download the repository
- Run
make
in the cloned directory - Start the game with
./cub3d