Some thoughts: What about using a census of the region the proposed feature is going to go into, maybe up to 3 or 5 squares away, and the census values fall off by distance (1 square = 2, 2 squares = 1, 3 squares = 0.5, etc), and then if the value is above a figure you set the generator instead chooses a new location? Maybe you could use a random feature generator, something that works like the AD&D DMG dungeon generator, for traps/statues/chests/etc? It looks like you’re using something already, as I see that the generator will throw in the occasional portcullis or statue.

Frotz 2017-06-27 13:46 UTC

The way the generator works is that it places elements and based on the element it just placed, it randomly chooses appropriate next steps. The way to describe it right now would thus be something like this:

2. a big room has an exit
3. a big room has a 70% chance for another exit
4. a big room has a 20% chance for another exit
5. a big room has a 20% chance for a spiral stair case
6. a room exit goes in a random direction and looks for a wall to place a door
7. a door out of a room will connect to a corridor that is about 60ft long
8. at the end of a corridor, there is a 20% for a big room (back to #2)
9. or a 30% chance for a settlement
10. or a 50% chance for small room
11. and so on...

To add a feature, I’d need to hook into this process and say, for example, that a big room without a stair case has a 30% chance of having an altar, and a 30% chance for a statue, and thus an about 10% chance for both.

Or, in a settlement, the last small room has a 50% chance of containing a chest.

– Alex Schroeder 2017-06-28 06:50 UTC