A quick update this time — I’ve been working here and there on implementing some maze generation code for the game, so that I could have a few different types of dungeon levels to generate. At last I’ve got it working, and can now generate some intimidating mazes using the ‘growing tree’ algorithm:
By altering the likelihood of new branches in the path, I can change the feel of the maze significantly. The maze above has a high likelihood of producing new branches; the one below produces much longer hallways:
Tonight I’ve just added a variation of this algorithm which mimics another well-known maze generation method, the ‘recursive backtracker’. This one needs some fine-tuning, though, as currently it produces very long, meandering corridors that can be a little annoying to navigate:
The next step is to make the maze generator a bit more flexible. Ultimately what I’d like to do is allow the normal dungeon generator to create maze rooms which can be integrated into the rest of the dungeon. This will add some more variety in the dungeon without forcing the player to navigate an entire level-spanning maze every time the dungeon generator decides to mix things up.
I do think I want to have one dungeon level that’s entirely a maze, though, and encourage exploration by sticking a powerful artifact somewhere within and dropping some hints that the player might find it if they have a look around. I’ll also scatter some Scrolls of Clairvoyance about, which will reveal the location of the level exit and make navigating the maze less directionless.
As you might’ve guessed, in these screenshots I’ve switched off the ‘fog of war’ for the player so that I could observe and test the results of the maze generator. In actual play things look more like this:
By way of comparison, here’s how a maze level looks in the famous(ly difficult) roguelike Nethack:
More to come next time, when hopefully I’ll have maze rooms working.