42Project by csapt
Subject »
In this project, we have to create a game with Raycasting technology, used in particular by the famous Doom game.
This project has been coded in C with the minilibx from 42 with norminette v2.
All the Menu, Button, ... were made by me using other softwares.
Here are the commands to follow to try the project.
- MacOS 10.14
- Clone the repo
git clone https://github.com/clement0910/cub3D
- Create executable
Make
- Launch Project
./Cub3D map/mapbonus.cub
Maximal grade with bonus.
- Animated sprites (Multiples files in one sprite)
- Different sprites with advanced parsing system
- FPS Counter
- Debug Mode
- Data Viewer
- Settings
- Clickable Menu
- Live Map
- Live Screenshot
- And many more...
-
Raycasting:
- http://projet-moteur-3d.e-monsite.com/pages/raycasting/raycasting.html
- http://forums.mediabox.fr/wiki/tutoriaux/flashplatform/affichage/3d/raycasting
- http://www.playfuljs.com/a-first-person-engine-in-265-lines/
- https://gist.github.com/jhonnymichel/06139d11efe23616749b43484b0e3085
- https://dev.opera.com/articles/3d-games-with-canvas-and-raycasting-part-2/
- https://lodev.org/cgtutor/raycasting.html
-
BMP File:
-
Bitwise:
- https://skyduino.wordpress.com/2013/04/05/tuto-le-bitwise-pour-les-nuls/#:~:text=Le « bitwise » est une technique,à manipuler des « bits
- https://fr.wikipedia.org/wiki/Opération_bit_à_bit
- https://fr.wikipedia.org/wiki/Manipulation_de_bits
- https://zestedesavoir.com/tutoriels/755/le-langage-c-1/notions-avancees/manipulation-des-bits/
-
Bresenham's line algorith for minimap: