Skip to content

Cub3D is a 3D game engine project inspired by Wolfenstein 3D, built using the C programming language. It features ray-casting to render a simple 3D world, with basic textures, lighting, and player movement. This project is part of the 42 curriculum, focusing on low-level programming, algorithm optimization, and graphics rendering techniques.

Notifications You must be signed in to change notification settings

justeozan/cub3D

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

90 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cub3D

Cub3D is a 3D game engine project inspired by the classic Wolfenstein 3D. Developed as part of the 42 curriculum, this project focuses on building a basic 3D game engine from scratch using the C programming language.

Features

  • Ray-Casting Engine: Utilizes ray-casting techniques to render a simple 3D environment.
  • Textures: Support for basic texture mapping on walls.
  • Player Movement: First-person player controls for exploring the environment.
  • Lighting: Basic lighting effects to enhance the visual experience.
  • Minimalist Design: Emphasis on efficient code and optimization, aligning with low-level programming principles.

Requirements

  • Language: C
  • Libraries: MiniLibX for graphics rendering
  • Operating System: Unix-based (Linux, macOS)

Setup and Installation

  1. Clone the repository:
    git clone https://github.com/yourusername/cub3D.git
  2. Navigate to the project directory:
    cd cub3D
  3. Compile the project:
    make
  4. Run the executable:
    ./cub3D [map_file]

Usage

  • Use the arrow keys or WASD to move around.
  • Press ESC to exit the game.

Project Structure

  • src/: Contains all source code files.
  • include/: Header files.
  • maps/: Example map files.
  • textures/: Texture images used in the game.

Contributing

Feel free to fork this project, submit pull requests, or report issues.

About

Cub3D is a 3D game engine project inspired by Wolfenstein 3D, built using the C programming language. It features ray-casting to render a simple 3D world, with basic textures, lighting, and player movement. This project is part of the 42 curriculum, focusing on low-level programming, algorithm optimization, and graphics rendering techniques.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published