
Cub3D - 3D Raycasting Engine
A 3D game engine built from scratch using raycasting, mimicking early FPS games like Wolfenstein 3D.
Project Overview
Cub3D is a 42 Network project focused on low-level graphics programming and engine development. The goal was to create a basic 3D game engine using raycasting, implemented entirely in C with the MiniLibX graphics library.
The project required a deep understanding of rendering techniques, vector math, ray projection, and handling user input at a low level. The engine supports texture mapping, player movement, and dynamic rendering of walls and environments based on a 2D map file.
I implemented a robust raycasting algorithm, map parsing, and smooth player controls while ensuring performance optimization and frame stability. A key challenge was managing real-time rendering with limited library support, which helped sharpen my problem-solving and debugging skills.
Key Features
- Raycasting engine for 3D-like first-person rendering
- Wall and texture rendering using MiniLibX
- Player movement with collision detection
- Minimap rendering of the 2D map structure
- Keyboard input handling for movement and rotation
- Map parsing and validation from external `.cub` files
- Basic floor and ceiling coloring and texturing
Technologies Used
Project Gallery



Project Details
Client
42 Network (academic project)
Timeline
4 weeks (Q2 2025)
Role
Graphics Programmer
More Projects
© 2025 Younes Bouyzem. All rights reserved.