I’ve been playing around with the idea of Procedural Maze Generation, researching Maze generation types and studying games that do this.
Primarily I want this for the editor so people don’t have to start with a blank canvas every time (although this option will remain), I like the idea of including lots of Maze Generation algorithmsMy Plan is to do the following :
- Aldous-Broder Algorithm
- Binary Tree
- Eller’s Algorithm
- Growing Tree
- Hunt and Kill
- Kruskal’s Algorithm
- Prim’s Algorithm
- Recursive Backtracker
- Recursive Division
- Sidewinder
- Unicursal
- Wilson’s Algorithm
So far I have implemented all the core requirements ready to extend for each type and Growing Tree is working fine and creates solvable and interesting mazes.
I plan a 3 phase Procedural maze generator…
Phase 1: Generate – Use one of the above algorithms to generate the basic Maze based on a number of parameters, must include a start and end.
Phase 2: Populate – Place preset Room’s, some could be preset puzzles, skills, mine carts or layouts that fit into the maze, I plan to allow creation of these prefabs in the editor too, and save them for re-use.
Phase 3: Decorate – Process the maze to make it look good, add lights, pits, wall decorations etcThis should give a random and unique playable level with plenty of surprises, I imagine that this will give level editors a really good kick start to a layout that can then be optimised, I may also include a ‘Play a Random Dungeon’ as a bonus in the final game, exploring the truly unknown should be quite fun.
Crystal Rift is a square based dungeon crawling Oculus Rift Game inspired by Dungeon Master and Eye of the Beholder