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: about 1 month 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 (11 months ago)
- Default Branch: main
- Last Pushed: 2024-06-13T08:33:33.000Z (11 months ago)
- Last Synced: 2025-01-21T07:08:58.571Z (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



## 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.---