polished version available at https://sylvainhb.blogspot.com/2019/03/labyrinth-flavours.html
oh mazes. Amazing Mazes. I quite love maze games, and as you may have guessed, I would like to delegate parts of the level design of my next game to a maze generator. I’ve written a few of them so far, including some that needed eittee resource, but most of them were creating e-called “perfect” mazes, where two locations in the maze are always linked by exactly one path .
Imho, this is not ideal for gameplay. It creates maps that are essentially trees, with lots of dead ends and narrow hallways. I believe it will reduce many of the gameplay opportunities. it means that you can hardly dodge monsters. In some way, in such mazes, you hardly have any real choice once you stop seeing it all: you merely guess which might be the correct path and turn back a lot.
I have the feeling that interconnected loops will provide more interresting behaviours. we see them in PacMan – as well as in Phantom Hourglass. They provide interesting backtracking and let you chose between fighting or sneaking when you encounter a monster.
So how can I make levels than feature such loops? I gave it another try this week-end, by first laying out loops of random size on the map, making their center “unbreakable” and then setting the rest of the map as cells ready to be processed by a regular “perfect maze” algorithm. But this time, I do not need to push the execution to the point where the maze becomes all-connected. Instead, it is sufficient that all rooms get connected. Some cells will then remain obstacles, which I’m fine with.