Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/unacoli/cub3d

My first RayCaster with miniLibX
https://github.com/unacoli/cub3d

c makefile raycasting school-project

Last synced: about 2 months ago
JSON representation

My first RayCaster with miniLibX

Awesome Lists containing this project

README

        

# cub3D

This project is inspired by the world-famous Wolfenstein 3D game, which
was the first FPS ever. It will enable you to explore ray-casting. Your goal will be to
make a dynamic view inside a maze, in which you’ll have to find your way. \
This project has been validated with a score of 110/100. \
⚠️ **ONLY WORKING ON LINUX** ⚠️

# Original assets

![north](https://user-images.githubusercontent.com/29428817/187674402-84dda422-6f52-467d-89f2-af37f351c6f4.png)
![east](https://user-images.githubusercontent.com/29428817/187674429-a2a8e069-9f96-410d-9879-72138935a9f4.png)
![west](https://user-images.githubusercontent.com/29428817/187674436-f512fbac-3a21-4bc9-a5a8-1059df2083e0.png)
![south](https://user-images.githubusercontent.com/29428817/187674443-57f0ae16-6f24-4e36-b0cf-5943d08bfa3c.png)

# Usage

The game has two versions.

- *Vanilla version*
- Compile with `make`
- Execute `./cub3D` with a `.cub` map as an argument : \
`./cub3D maps/normal_map.cub` \
`./cub3D maps/default_map.cub`

![cub3d normal](https://user-images.githubusercontent.com/29428817/187674937-ae632ffd-e8d2-41ba-9452-e67a7ac3607e.png)
![normalcub3d](https://user-images.githubusercontent.com/29428817/187674966-0eba63ea-c560-4d9b-8b30-e47908fd83e1.png)

- *Fancy version*
- Compile with `make bonus`
- Execute `./cub3D_bonus` with a `.cub` map as an argument : \
`./cub3D maps/normal_map.cub` \
`./cub3D maps/default_map.cub`

![cub3d bonus](https://user-images.githubusercontent.com/29428817/187674994-4a538b74-2943-4379-9a1e-055f21b97ed4.png)

# How to play

- Use `W`, `A`, `S`, `D` to move
- Use `Shift` to sprint
- Use `M` to show map (*fancy version*)

Collision is handle only in fancy version.
You can quit the game by pressing the `ESC` key or clicking the red cross !