pvigier's blog

computer science, programming and other ideas

Vagabond – Dungeon and Cave Generation – Part 2

This week, I continued to work on the dungeon and cave generator. I refined some things I had started last week and then I started generating tiles from the output of the generator.

Removing Isolated Cells

The first thing I did is implementing a flood fill to remove unreachable cells:

Multiple Corridors Between Rooms

Something really nice that I discovered when playing with the parameters of the generator is that if we make the noise around the rooms touching, interesting things happen.

Here is the difference of results just before the noise of rooms touch each other and just after, the parameter varies only by one unit:

If we make the rooms a bit larger, it is even more interesting:

What is nice is that we have more randomness and nice structures that appear but we still have the graph structure and the notion of rooms that are useful:

Generating Tiles for Caves

I spent almost all my time working on the generation of tiles. It is not really difficult but a bit tricky to have everything right.

Here are some results:

What is really cool is that it is super easy to switch from a rock cavern to a sand cavern or an ice cavern:


I did not do a lot of interesting things this week. Moreover, there was a heatwave, here, in France and it was quite hard to work.

The next steps for the dungeon generation is adding decorations and monsters. I will not do that next week as I will start to work more on the game engine now that I have some interesting things to feed it with.

See you next week for more!


If you are interested in my adventures during the development of Vagabond, you can follow me on Twitter.

Tags: vagabond pcg