Skip to content

This project is a raycasting game developed in C++ that recreates a 3D environment using the raycasting rendering technique. The game simulates a first-person view where the player navigates through a maze-like world. The project aims to replicate the graphical style of classic games like Wolfenstein 3D.

Notifications You must be signed in to change notification settings

TheKiesling/Doom

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Raycasting Game

doom.mp4

Overview

This project is a raycasting game developed in C++ that recreates a 3D environment using the raycasting rendering technique. The game simulates a first-person view where the player navigates through a maze-like world. The project aims to replicate the graphical style of classic games like Wolfenstein 3D.

Screenshots

image image
image image
image image

Getting Started

Follow these steps to get the raycasting game running on your local machine:

  1. Clone this repository to your local machine.
  2. Ensure you have a C++ development environment set up, including the required libraries, such as SDL2.
  3. Build the project using your preferred C++ development tools or compile it using a C++ compiler.

Prerequisites

Make sure you have the following installed before running the project:

Features

  • Raycasting Rendering: Utilizes raycasting techniques to render a 3D-like environment.
  • First-person Perspective: Offers a first-person view for the player to explore the game world.
  • Interactive Controls: Allows movement and interaction within the game environment.
  • Map Loading: Loads maps from files to create diverse gaming environments.
  • Dynamic Textures: Renders textures onto walls based on the map and player location.

Project Structure

  • main.cpp: Entry point for the application.
  • raycaster.h: Contains the raycasting logic and rendering.
  • imageloader.h: Handles image loading and manipulation.
  • color.h: Defines color structures and utilities.

Usage

  • Run the game executable after building the project.
  • Navigate through the environment using the arrow keys or other specified controls.
  • Interact with the environment based on the game's mechanics (if any).

Contributing

Contributions to improve the game or add new features are welcome! Follow these steps:

  1. Fork the repository.
  2. Create a new branch: git checkout -b feature/new-feature.
  3. Make your changes and commit them: git commit -m 'Add a new feature'.
  4. Push to the branch: git push origin feature/new-feature.
  5. Open a pull request.

License

This project is licensed under the MIT License.

About

This project is a raycasting game developed in C++ that recreates a 3D environment using the raycasting rendering technique. The game simulates a first-person view where the player navigates through a maze-like world. The project aims to replicate the graphical style of classic games like Wolfenstein 3D.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published