Back to Portfolio
Cub3D - 3D Raycasting Engine
Graphics Programming

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

CMiniLibXMakefileRaycasting42 Network

Project Gallery

Main Rendering View
Minimap & Player Position
Texture Rendering Example

Project Details

Client

42 Network (academic project)

Timeline

4 weeks (Q2 2025)

Role

Graphics Programmer

© 2025 Younes Bouyzem. All rights reserved.

0%