I just released Maze Factory. If you need any help, have suggestions or comments, please feel free to drop a line below. Maze Factory is a Unity component suite for procedural mazes. In short: create a-maze-ing stuff and then get lost. Asset store Official website, web demo and documentation Feature list: All sourcecode included (C#) All examples included Separation of concern (possibility to write your own visualisation procedure) Random seed Randomizer through wrapper (possibility to connect your own) Walls are built out of 3d tiles. Possibility for game mechanics like for example: - destroying a limited amount of walls to cheat your way out - use the tiles for bigger buildings to create a maze of streets and buildings - use trees to get yourself a maze-forest - slide walls when hitting a trigger etc. In-editor preview of generated maze Fixed or random entrance/exit - possibility to connect multiple mazes - create multiple dungeons connected by mazes - create staircases between mazes etc. Sizeable All properties runtime changeable
This is pretty nice. For the blocks, you can use any size and just tell the generator what size they are? Does it have any way to choose from multiple tiles, depending on whether blocks are next to it on each side? (If not, that can be handled with a script, I'm just wondering.)
The package contains two parts. First part is generate and solve a maze in memory which is translated to a in-memory grid with information about the solution path. Second part is the visualisation of that grid onto the screen. I tried a few visualisation routines (with prefab tiles, primitives etc) and found the one supplied to be best suited for the best flexible way of constructing the maze. You can choose anything you like to build up your maze and because the grid is linked to the primitives, you can write your own algorithm as how to handle things. For instance, I'm currently using it on a game with procedural levels and content has to be determined by length of the hallways and if there are corners nearby and such. I'm not using the cube primitives offcourse but angled meshes instead which are lightmapped with ambient occlusion, prebaked in blender, to use as tiles. Because of using it this way, you avoid having troubles with corners where tiles don't connect nicely in traditional systems.