Skip to content

A 42 École project. A basic 3D game engine that uses raycasting to render a maze-like environment from a first-person perspective.

Notifications You must be signed in to change notification settings

BredyByte/42_cub3d

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

94 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧊 Cub3D

This repository contains a "cub3d" project that is part of the École 42 curriculum

Screen Recording - Feb 10, 2024

Cub3D is a fascinating project inspired by the world's first-ever first-person shooter, Wolfenstein 3D, which was a significant pioneer of the genre in the early 1990s. This project aims to recreate the technique of ray-casting used in the original game, albeit in a more modern and simplified context.

The Cub3D project is not just about creating a game, but it's about appreciating the history of computer graphics and understanding the underlying techniques that make our favorite video games possible.

🤨 Ray-casting ?

Ray-casting is a rendering technique used in 3D graphics to create a 3D perspective in a 2D map. Back in the day when the computers were not powerful enough to handle full 3D, ray-casting was a neat trick to simulate a 3D view with less computational cost.

🏚 Usage

Before running the program, ensure you have the necessary libraries installed, depending on your operating system.

macOS

brew update
brew install glfw

If you are a student of 42 Málaga and encounter the error "command not found: brew" run the following command to install Homebrew:

curl -fsSL https://rawgit.com/kube/42homebrew/master/install.sh | zsh

Linux

sudo apt update
sudo apt install build-essential libx11-dev libglfw3-dev libglfw3 xorg-dev

Once the libraries are installed, you can build and run the program using the following commands:

make

🙏 Appreciation Corner

This remarkable project was accomplished and refined to its finest form through the assistance of my comrade and collaborator, the virtuoso 🧮 pvilchez.

📝 P.S.

If you have any questions about the project, feel free to contact me via Telegram or LinkedIn.

About

A 42 École project. A basic 3D game engine that uses raycasting to render a maze-like environment from a first-person perspective.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published