Skip to content

Home

A raycasting engine built in C with MiniLibX

cub3D is a raycasting project in C with MiniLibX. This guide follows the repository as it exists today, covering both the mandatory engine (parsing, validation, input, and rendering) and the bonus systems (minimap, doors, sprites, pickups, HUD, retro rendering, and level progression).

Visual Reference Rebuilt for Starlight

This page includes an interactive illustration of the core view: a 2D map, a 3D player view, and live controls for heading and position.

It is a preview, not the game itself. It reflects the main raycasting ideas used in cub3D: player state, a field-of-view wedge on the map, and screen columns derived from DDA wall hits with fisheye correction.

2D map

3D player view

  • project overview and subject scope
  • setup, build, and runtime controls
  • .cub structure, headers, and map rules
  • engine internals from parsing to rendering
  • bonus systems and evaluation prep
  • tooling, testing, and project resources

Overview

Start with the project scope, structure, and feature matrix.

Getting Started

Review prerequisites, installation, build commands, and controls.

Configuration & Maps

Cover the .cub format, headers, tile alphabet, validation rules, and common errors.

Technical Docs

Walk through architecture, parsing, raycasting, texture mapping, rendering, and cleanup.

Bonus

Explore minimap, doors, pickups, HUD, sprites, retro rendering, and progression.

Evaluation Prep

Gather checklists, a demo flow, and common defense questions.