Procedural Maze Generation (Dev Diary)

By August 23, 2014Development Updates

Hi,

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 algorithms

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

Procedural Maze Generation

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 etc

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

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.