# 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? - Barrels? - 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 --- ## 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/)