-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Jake Dube edited this page Feb 12, 2017
·
3 revisions
Note: this wiki is for the developers...if you need support you can contact us via the Blender Market.
- Clean custom tile storing interface - nice workflow (create tiles --> test tiles with a predefined maze --> export tiles)
- Research circular mazes further to see if that could be implemented
- Training videos
- Add bias for x or y axis (giving it a higher chance of going in a particular direction)
- Kruskal's Algorithm - DONE
- Recursive division algorithm
- Eller's algorithm - DONE
- Hunt and kill algorithm
- Binary tree algorithm - DONE
- Sidewinder algorithm
- Other shapes...see mazegenerator.net below
- https://en.wikipedia.org/wiki/Maze_generation_algorithm
- https://github.com/theJollySin/mazelib
- http://weblog.jamisbuck.org/2011/2/7/maze-generation-algorithm-recap
- http://www.astrolog.org/labyrnth/algrithm.htm
- http://weblog.jamisbuck.org/2015/1/15/better-recursive-division-algorithm.html
- https://community.unity.com/t5/General-Discussion/Pacman-Maze-Generation-Logic/td-p/2012538
- https://community.unity.com/t5/Scripting/Quick-maze-generator/m-p/1331871#M248963
- http://gamedev.stackexchange.com/questions/910/algorithm-for-generating-a-2d-maze
- http://pacman.shaunew.com/play/mapgen/
- http://datagenetics.com/blog/november22015/index.html
- http://ilay.org/yann/articles/maze/index.en.html
- http://pcg.wikidot.com/pcg-algorithm:maze
- http://www.mazegenerator.net
- https://en.wikipedia.org/wiki/Spanning_tree
- https://en.wikipedia.org/wiki/Maze_generation_algorithm#Graph_theory_based_methods
- http://elfnor.com/blender-3d-maze-generator.html
- http://catlikecoding.com/unity/tutorials/maze/
I created this script to quickly switch all the files that can be used in/out of Blender with slight modifications between Blender and non-Blender mode. Just add new scripts to it's files list and fire it up, then type "T" or "F" for if you are in Blender (T = True in Blender).
- Start at a (random) cell, make it a path, and add it to a stack
- Choose a cell in the stack
- If there is a valid neighboring cell, pick one at random
- Make the cell a path and add it to the stack
- If there is no valid neighboring cell, remove the cell from the stack
- Repeat steps 2-5 until the stack is empty
Always choose the last (most recent) cell in the stack.
Always choose the first (oldest) cell in the stack.
Choose a random cell from the stack.
- Choose 2 adjacent cardinal directions (NW, SE, NE, or SW)
- For every cell, choose 1 of the 2 directions to make a path
TODO
TODO
- Start in the center of the grid (or space you would like to infinitely fill)
- Assign that cell to a unique set
- For every set on the +x face of cells, clone it to the right
- Fill in cells in the x + 1 column that were not filled when cloning with their own unique set
- Repeat steps 3-4 for the -y, -x, and +y axis until an axis hits a boundary
- If an axis hits a boundary just remove it from the list to loop through, and continue on