I spent this week working on special dungeons. So why don’t we talk about how our dungeon generation system works. Warning this might get a bit technical, but i’ll try to keep it as simple as possible.
So how do we get from this
To this
First we generate a grid of zeros. Then we go through the grid zero by zero and see if a room will fit and if we want to make one, if we do then we create a box of 1,2,3,4, and 5 (which represent walls) and fill the box in with tens (which represent floor tiles). We save each of these rooms in another array that stores their position and size. After that we chisle out paths connecting each room. Then we populate each room, excluding the start and ending rooms with a monster randomly chosen from the monster pool, or a chest. Then we take this grid of numbers and spawn the corresponding tiles. By leaving things so open ended we can re-use the same dungeon gen for special dungeons by changing the size and number of rooms, the tileset, and the enemy pool. If you have any questions or want a more in depth run down, just let me know. I’ll see you next week with another update :)
1 comment