The sharing of this project on my GitHub aims to help peoples to open their minds to new logics or help peoples in case of difficulty. In no way, that aims to copy and paste this work on your own repository.
cub3d is a project from the 42 Common Core, The project aims to recreate the graphic engine used in Wolfenstein 3D. If you want to learn more about Recasting you can easily find resources and videos who explains "What recasting is ?"
~/> git clone --recurse-submodules https://github.com/mathias-mrsn/cub3d
~/> cd cub3d
~/cub3d$> make
~/cub3d$> ./cub3d maps/mandatory/map.cub
The cub3d bonus part contains 6 bonuses :
- animated sprites.
- automatic doors opening.
- camera control with mouse.
- wall collision.
- modular resolution variables
- gun
- minimap
~/cub3d$> make bonus
~/cub3d$> ./cub3d maps/bonus/map.cub
Here is a little work plan to easily start this project
- Find resources about how raycasting works (3 days)
- Create parser + test it to be sure that everything right (5 days)
- Launch rays and compute distance for each ray (7 days)
- Display your first result without texture (2 days)
- Display textures (2 days)
- Manage mouvements and wall collision (1 days)
- Do more test (corner collision, parsing error...)
- Check leaks
- Norme
- Do more test (again...)