Welcome to the Raycaster Engine project! This project is an implementation of a raycasting engine similar to the ones used in classic games like Wolfenstein 3D and Doom.
Raycasting is a rendering technique used to create a 3D perspective in 2D games by casting rays from the player's viewpoint and determining the distance to objects in the game world. This project aims to recreate the feel and functionality of early 3D games using raycasting.
- Efficient Raycasting: Implemented using optimized algorithms to ensure smooth performance.
- Texture Mapping: Support for textured walls and floors to enhance visual realism.
- Player Movement: Basic player controls for moving and looking around the game world.
- Collision Detection: Prevents the player from walking through walls.
- Expandable Map: Easily customizable map layout to create new levels and experiences.
To build and run the raycaster engine, you'll need to have a C compiler and Make installed on your system. Follow these steps to get started:
-
Clone the repository:
git clone https://github.com/N1ghtm4reee/raycaster-engine.git cd raycaster-engine
-
Build the project using Make:
make
-
Run the executable:
./raycaster-engine
Once the engine is running, use the following controls to navigate the game world:
- W: Move forward
- S: Move backward
- A: Move left
- D: Move right
Contributions are welcome! If you'd like to add new features, fix bugs, or improve the documentation, please follow these steps:
- Fork the repository.
- Create a new branch for your changes (
git checkout -b feature-branch
). - Commit your changes (
git commit -m 'Add new feature'
). - Push to the branch (
git push origin feature-branch
). - Open a pull request.
This project is licensed under the MIT License. See the LICENSE file for more details.
Thank you for checking out the Raycaster Engine project! We hope you enjoy exploring and contributing to this classic game engine.