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

https://github.com/mbah24-dev/cube3d

My Cub3D 42 project
https://github.com/mbah24-dev/cube3d

Last synced: 5 months ago
JSON representation

My Cub3D 42 project

Awesome Lists containing this project

README

          


cub3D



Cub3D 42 project badge


Author: BAH Mamadou


Status: Student in common core at 42 School


Project Overview



cub3D is a 42 school project that aims to develop a basic 3D game engine using the
raycasting technique, inspired by classic games such as Wolfenstein 3D.
The project is written in C and uses the MinilibX graphical library.


Features



  • Raycasting-based 3D rendering

  • Keyboard input handling for movement

  • Texture rendering for walls

  • Sprite rendering

  • Collision detection


Installation


To compile and run the project, you need:



  • Linux or macOS

  • GCC compiler

  • MinilibX library


Compilation


Clone the repository and run the following commands in the terminal:



git clone <your-repo-url>
cd cub3D
make

Usage


After compilation, run the executable with a map file as argument:



./cub3D maps/example.cub

Controls:




  • W - Move forward


  • S - Move backward


  • A - Turn left


  • D - Turn right


  • ESC - Exit the game


Project Structure




  • src/ - Source code files


  • includes/ - Header files


  • maps/ - Example map files


  • Makefile - Build script


Documentation



All functions are documented using Doxygen style comments. You can generate
documentation by running:



doxygen Doxyfile

License


This project is open-source and free to use for educational purposes.


Contact


If you have questions or suggestions, contact me: BAH Mamadou