Skip to content

shivkr6/boom

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Boom | 2.5D Raycasting Engine in Rust

License: MIT

A 2.5D raycasting engine written in Rust from scratch. This project renders a 3D-style perspective from a 2D map, inspired by classic games like Wolfenstein 3D.

Engine Screenshot

Features

  • Raycasting Renderer: Renders a 3D perspective from a simple 2D tile-based map.
  • DDA Algorithm: Implements a Digital Differential Analyzer (DDA) algorithm for efficient ray-wall intersection calculations.
  • Player Movement: Includes first-person controls for movement (forward/backward, strafing) and rotation.
  • Collision Detection: Simple AABB-style collision detection to prevent the player from walking through walls.
  • Projection Math: Corrects for fisheye lens distortion to create a natural-looking perspective.

Getting Started

Prerequisites

Ensure you have the Rust toolchain installed. You can install it from rustup.rs.

Running the Project

  1. Clone the repository:

    git clone https://github.com/shivkr6/boom.git
    cd boom
  2. Build and run the project in release mode for the best performance:

    cargo run --release

Controls

  • ↑ / ↓: Move forward / backward
  • ← / →: Rotate left / right

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

A raycasting engine using DDA-based ray-wall intersection algorithm

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages