I am sure you know this problem. You are ready to start working on something, and then when you sit down and stare at the blank piece of paper, nothing quite seems to fit.
The most common technique for generating gameworlds is still to first design a range of rooms, each of them an enclosed piece of content, and then use an algorithm to put them together into interesting dungeons. But the question is, how do you start designing these rooms?
The rooms, after all, are pretty boring by themselves. What makes them interesting is how they fit together, but the way you work on them does not showcase this interconnectedness. Do you want to draw squares for days? How do you summon inspiration again and again and again? This is why I think it is important to circumvent the problem of the blank piece of paper.
The solution presented today is noise. Perlin noise, at that.
Here we see the initial generation, which is based on a contour map, and then what I came up with myself based around the initial shapes. I find that starting out with something and then carving rooms into this is an excellent way to get going fast.
Once started, it feels natural to create several interconnected rooms. This is where you circumpass the second problem: the rooms you design are connected in ways that make it easier to see if they work in context. Perhaps the little room connecting the big room with the square room is boring, but that's fine. Just like it is not boring here (because it is surrounded by more interesting rooms), it won't be boring in the final dungeon generator either. It will be used in a thousand different constellations, after all.
The next bit will be to create an algorithm that will take what I have drawn onto the screen and take out the rooms, like such:
Or at least, that's the idea. I haven't even finished developing half this stuff yet. But this is my idea for the design process:
And it is necessary to have such a design process. One needs hundreds of unique rooms for the recombined set-piece method to work well, without players recognising that they are walking through the same stuff again and again.
Though on top of this, other algorithms can vary up the rooms a bit more, like adding decals or random enemy positions.
The tileset was purchased from https://pita.itch.io/rpg-dungeon-tileset and is a lot better than what I'm showcasing here in this early prototype.
The most common technique for generating gameworlds is still to first design a range of rooms, each of them an enclosed piece of content, and then use an algorithm to put them together into interesting dungeons. But the question is, how do you start designing these rooms?
The rooms, after all, are pretty boring by themselves. What makes them interesting is how they fit together, but the way you work on them does not showcase this interconnectedness. Do you want to draw squares for days? How do you summon inspiration again and again and again? This is why I think it is important to circumvent the problem of the blank piece of paper.
The solution presented today is noise. Perlin noise, at that.
Here we see the initial generation, which is based on a contour map, and then what I came up with myself based around the initial shapes. I find that starting out with something and then carving rooms into this is an excellent way to get going fast.
Once started, it feels natural to create several interconnected rooms. This is where you circumpass the second problem: the rooms you design are connected in ways that make it easier to see if they work in context. Perhaps the little room connecting the big room with the square room is boring, but that's fine. Just like it is not boring here (because it is surrounded by more interesting rooms), it won't be boring in the final dungeon generator either. It will be used in a thousand different constellations, after all.
The next bit will be to create an algorithm that will take what I have drawn onto the screen and take out the rooms, like such:
Or at least, that's the idea. I haven't even finished developing half this stuff yet. But this is my idea for the design process:
- Random noise
- Design rooms around the noise
- Algorithm to analyse and cut out room data
- Algorithm to create dungeons from those rooms
And it is necessary to have such a design process. One needs hundreds of unique rooms for the recombined set-piece method to work well, without players recognising that they are walking through the same stuff again and again.
Though on top of this, other algorithms can vary up the rooms a bit more, like adding decals or random enemy positions.
The tileset was purchased from https://pita.itch.io/rpg-dungeon-tileset and is a lot better than what I'm showcasing here in this early prototype.
Comments
Post a Comment