S M T W T F S
1
2345678
9101112131415
16171819202122
23 24 2526272829
30

# The Dawn Age - Dungeons!

Hi, I’m Cássio Eduardo Ferreira da Cunha a 21 years old programmer, game designer and founder of this company(Dumont Studios), based in Brazil. This is my second blog post, if you want to know more visit my blog: http://www.dumontstudios.com

Yesterday I finished the dungeon generation. I've never worked on a dungeon generation before, so I had to think for a while and write down what I needed. It ended up working perfectly and have a lot of parameters that I can change to customize the dungeon.

This is a "mini-map" view of the dungeon.
Blue - Walkable.
Yellow - Door.
Red - Wall.

There are 4 types of areas: corridors, rooms, locked rooms and secret rooms. The secret room don't have doors, you may have to break the wall(if there is a crack) or pull a lever.

This is the dungeon generated above. The environment is placeholder, but we will get there eventually.

Next week, I will focus on core gameplay mechanics and pathfinding. Bye.
Apr 07 2013 06:16 AM

Welcome to GameDev.Net!

What sort of approach have you taken to your dungeon generation?

Apr 07 2013 09:46 AM

Thanks!

I use a 2D matrix to store the data(25x25 in this case). The algorithm is quite simple:

1 - Generate room at any position and add it to the rooms list
2 - Random a room or corridor from the list(in my case i don't pick locked or secret rooms. Only corridors and rooms)
3 - Pick a wall from the randomed area on step 2(do a few checks) and put a door
4 - Generate a room or corridor for the door(do a few checks)
5 - Place the generated room or corridor on the map and on their respective list
(2, 3, 4 and 5 are inside a loop.)

Of course this is a simplification, but this is the base of the current algorithm. The generation of chests, levers, monsters and other stuff should be easy after this.

This is how the matrix look like:

* - Empty space
0 - Wall
1 - Walkable
3 - Door
4 - Locked Door
5 - Secred Door/Wall