My first RayCaster with miniLibX 🔫
In this repository, you'll find a detailed description of what this project entails, instructions on how to test it, and soon, a comprehensive theoretical breakdown of its construction. Our aim is to provide a clear and thorough overview, making it easy for you to navigate, explore, or contribute to this project. Scroll down for more in-depth details and relevant information.
- Project Overview
- Mandatory Features
- Project Compilation and Execution
- Theoretical Explanation (toggle-able)
- Copyright
This project is a simplified implementation of a RayCaster, adhering to the cub3D
project curriculum of 42 school. This was carried out following the rules described in the subject
version 10 released 2023.
- Must use the miniLibX.
- Window management (e.g., changing to another window, minimizing, etc).
- Implement close the window and quit the program cleanly (
ESC
and ✖️) - Read, interpret and validate the map from a .cub file.
- Ensure that the map consists of only 6 possible characters (
0
,1
,N
,S
,E
andW
). - Handle identifiers and all yours specific information on map.
- Display different wall textures for each cardinal direction (
NO
,SO
,EA
,WE
). - Define distinct colors for the floor and ceiling.
- Handle player movement within the field of view (
A
,W
,S
andD
). - Implement rotation of the field of view(⬅️ and ➡️).
- Display the type of any errors in the program on stdout.
- Apply raycaster engine calculations.
make
./cub3d assets/maps/valid/valid1.cub
I would like to extend my deepest gratitude to the
@pin3dev
for the remarkable partnership.