This project is a simple 2.5D raycasting engine build in Processing (Java). It was inspired by classic games I played like Wolfenstein 3D and Doom. Program itself renders a first-person view of a grid based map using raycasting techniques, a bit of math and physics. It includes dynamic lighting, file based maps, and GUI for real time control of parameters.
It was a grade 12 CS project completed in 2026. The goal of it was to learn core raycasting techniques and methods as well as physics and math formulas behind it.
- First person 2.5D raycasting engine
- Dynamic lighting simulation with adjustable parameters
- File-based map loading
- Interactive GUI
- Mini map with player position and light rays
- Multiple selecteble maps
- Player movement and rotation
- W / ↑ – Move forward
- S / ↓ – Move backward
- A / ← – Rotate left
- D / → – Rotate right