Skip to content

rimney/Cub3d

Repository files navigation

Cub3d - 42 Computer Graphics Project

Overview

"Cub3d" is a computer graphics project developed as part of the 42 School curriculum. The project involves creating a 3D maze game inspired by the classic Wolfenstein 3D. The graphics and rendering are done using the MLX library, an internal graphics library provided by 42 School.

Project Objective

The main objective of the "Cub3d" project is to introduce participants to computer graphics concepts and basic raycasting techniques. You will design a maze and implement a simple game engine that can render a textured 3D maze, allowing the player to navigate through it. The project emphasizes graphical and technical skills and requires you to optimize rendering for real-time interactivity.

Key Features

The "Cub3d" project typically includes the following key features:

  • 3D Rendering: Implementing raycasting techniques to render a 3D maze with textures.
  • Map Design: Creating a maze using a custom map file format.
  • Textures and Sprites: Displaying textured walls and adding sprites (enemies or items) in the maze.
  • Player Movement: Handling player movement and collision detection within the maze.
  • User Interaction: Capturing and processing user input to control the player's movement.
  • HUD (Heads-Up Display): Displaying essential game information, such as the minimap and health bar.
  • Error Management: Handling and displaying error messages for invalid map files or runtime issues.

Graphics Library: MLX

The MLX library is an internal graphics library provided by 42 School. It allows you to work with the graphics hardware directly and is specifically tailored for the projects at the school. It offers functions for opening windows, rendering pixels, handling user input, and displaying images. The MLX library is an essential tool for completing the "Cub3d" project.

Repository Structure

In your project repository, you may find the following components:

  • src: The folder containing the source code for your "Cub3d" project.
  • includes: The folder containing the header files for your project.
  • textures: The folder containing texture files for walls and sprites.
  • map: The folder containing custom map files that define the maze layout.

Getting Started

To start the "Cub3d" project, ensure you have access to the MLX library and graphics hardware. Familiarize yourself with raycasting techniques and the concept of rendering textured walls and sprites.

Conclusion

The "Cub3d" project is an exciting journey into the world of computer graphics and game development. By completing this project, you will gain valuable skills in rendering, user input processing, and optimization techniques for real-time applications.

Happy coding and enjoy creating your 3D maze game with "Cub3d"! 🎮🚀

(Note: This README provides a general overview of the project. For detailed instructions and specific requirements, refer to the original project guidelines provided by 42 School.)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •