Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pablovilchez/42-cub3d
A simple 3D game engine using raycasting techniques to render a maze.
https://github.com/pablovilchez/42-cub3d
3d-engine 42-school c game-development graphics maze raycasting
Last synced: 17 days ago
JSON representation
A simple 3D game engine using raycasting techniques to render a maze.
- Host: GitHub
- URL: https://github.com/pablovilchez/42-cub3d
- Owner: pablovilchez
- Created: 2024-06-12T20:43:49.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-06-13T08:33:33.000Z (8 months ago)
- Last Synced: 2024-11-20T07:38:29.775Z (3 months ago)
- Topics: 3d-engine, 42-school, c, game-development, graphics, maze, raycasting
- Language: C
- Homepage:
- Size: 8.31 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 42 - Cub3d
![42 School](https://img.shields.io/badge/42%20School-Project-blue)
![Git](https://img.shields.io/badge/Git-F05032?logo=git&logoColor=white)
![C](https://img.shields.io/badge/C-A8B9CC?logo=c&logoColor=white)
![Grade](https://img.shields.io/badge/Grade-105-brightgreen)## Description
Cub3d is a project from 42 School that involves creating a 3D graphical representation of a maze using raycasting techniques in C. The goal of this project is to gain a deeper understanding of how raycasting works and to develop advanced programming skills in C and graphics programming.
## Features
- Real-time rendering of a 3D maze using raycasting.
- Textured walls and sprites.
- Player movement and collision detection.## Requirements
- Unix-based operating system (Linux or macOS)
- GCC compiler
- MLX42 library for graphics (provided by 42 School)
- In Linux:```sh
sudo apt install build-essential libx11-dev libglfw3-dev libglfw3 xorg-dev
```## Installation
1. Clone the repository:
```sh
git clone https://github.com/pablovilchez/42-cub3d.git
```2. Navigate to the project directory:
```sh
cd cub3d
```3. Compile the project:
```sh
make
```## Usage
Run the program by executing the following command:
```sh
./cub3d [map_file.cub]
```## Example
```sh
./cub3d maps/map.cub
```## Controls
- Move forward: W
- Move backward: S
- Strafe left: A
- Strafe right: D
- Rotate left: Left arrow
- Rotate right: Right arrow
- Exit the program: ESC## Co-author
- **Davyd** - [github.com/BredyByte](https://github.com/gkrusta)
## License
This project is licensed under the MIT License.
## Acknowledgments
- Thanks to 42 School for the project guidelines and support.
- Special thanks to my teammate Davyd for his incredible effort, hard work, and for putting up with me throughout the project.---