MazingEngine is an ongoing project aimed at creating a terminal-based 3D maze visualization program using AABBs and raycasting. It will generate random mazes and render them in a first-person perspective using ASCII characters.
- Procedurally Generated Maze
- Implement random maze generation
- Frame Rate Control
- FPS control for smooth rendering
- Handy Unity/Godot-like deltaTime variable so that things don't go flying off the screen on high/low framerates
- Raycasting for 3D-like Rendering
- Raycasting algorithm
- Wall rendering
- Camera Movement
- Controls for moving the camera in the maze
- First-person perspective
- Collision Detection
- You can't go through walls
- There are totally no issues where sometimes a couple times a year with the right angle and a correct attitude you actually can for some reason
- Proper scoring system
- 2D sprite support
- Basic texture support
- Interactive minimap in another tty (toggleable)
- Hardware-accelerated computation
This project is licensed under the MIT License - see the LICENSE file for details.