This is Cub3D, a 3D first-person shooter game developed in C using the old-school graphics library, Minilibx. Inspired by classic games like Wolfenstein and Doom, Cub3D brings back the nostalgia of the golden age of gaming with its raycasting technique to render the environment, complete with walls, enemies, and objects.
- Immersive first-person gameplay with raycasting rendering technique.
- Intricately designed levels featuring walls, floors, and ceilings.
- A variety of enemies, each with distinct abilities and characteristics, adding challenges to your adventure.
- Explore interactive doors, static and animated objects that enhance the gameplay experience.
- Classic retro-inspired visuals that evoke the essence of early 3D games.
- Clone the repository:
git clone https://github.com/abdeljalil-salhi/cub3d.git; cd cub3d
- Compile the game:
make bonus
- Run the game:
./cub3D_bonus bonus/maps/map.cub
Map data is stored as .cub
file. You can check this file for a quick example.
Also, use make help
to know what are the characters you can use in the map configuration.
- W, A, S, D: to move around
- Mouse: to rotate the player's view
- Left Click: Shoot
- E: to open a door
- M: to toggle map display
- 1 - 2: to change current weapon (only available/collected ones)
Contributions are welcome! If you find any bugs or want to add new features, feel free to fork the repository and submit a pull request, or create an issue.
Thank you for checking out Cub3D! I hope you enjoy the nostalgic experience of exploring a 3D world reminiscent of the early days of gaming. If you have any questions or feedback, please don't hesitate to reach out. Happy fragging! 🕹️
Made by absalhi: [email protected]