Skip to content

3D ASCII engine for AABB-based mazes. First semester university project

License

Notifications You must be signed in to change notification settings

nolight132/mazing-engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MazingEngine 🚀

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.

Features

  • 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

Roadmap

  • 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.

About

3D ASCII engine for AABB-based mazes. First semester university project

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published