Hi,
I don't want to pre-empt the work that d_m is doing on dungeon generation, but I figured it'd be worth starting a thread to discuss what people want from dungeon generation in Angband. Rather than voice an opinion here, I'm going to do more of a 'lay of the land' discussion to start things off - what can we achieve with dungeon generation vs what we should do for Angband.
Firstly, it's important to point out, that with a couple of exceptions, dungeon generation works surprisingly well in Angband. I say surprisingly, because there is no guarantee of connectivity at all, and yet almost all dungeons are generated connected. I also don't remember seeing too much in the way of complaints ever about directly about dungeon generation from people who play the game a lot - the exception being with the level feelings system, which does need some kind of revision or re-examination. Timo's complaints are more to do with the probabilities of interesting vs. non-interesting stuff occuring on a level. That's one important aspect of dungeon generation, but most people who spend time coding dungeon generation in variants spend as much time working on things like new room generation, as the distribution of monsters and objects.
The key areas for considering improvement I can see are - remember, not all of them are going to be 'good' for Angband:
new room shapes (there are algorithms for most of these in other variants) - overlapping rooms (2 rectangles of varying sizes), fractal caves, cellular automata caves, starburst caves, chambers (a number of rooms tightly linked together), delved caves/burrows, mazes, polygonal / irregular concave rooms, conic section rooms, towns, castles, huge rooms, open regions
vaults: support for more variety of vault contents, rotation / flipping of vaults, 'interesting rooms' which are weaker than lesser vaults, more predictable vault rarity, procedurally generated vaults instead of template generated vaults
monster pits: greater variety, smaller pits, spaced out placement in pits, monster ecologies so that only certain types of monsters are generated across one or more other room types
new room contents: themed treasure, objects, monsters, more ways of associating different monsters with each other (insects, warriors, fire elementals etc), monsters with predictable drops, text descriptions, special regions that prevent item use, spell casting, archery etc, traps with triggerable regions, more variety of trap types, wall and floor decorations
new corridors (assume a running algorithm which can handle all these corridor types): wider corridors, pillared and ragged edged corridors, corridors drawn via projection algorithm (straight or ragged), changing corridor generation to limit the maximum length of straights, cave-like corridors, guaranteed dungeon connectivity via corridors, hints inside a room as to secret door location, secret areas of the dungeon
new terrain types: water, lava, acid, fire, chasms, ice, lakes, rivers, waves, flooded rooms and corridors
dungeon themes: select only some of the above elements for a level in the dungeon in a way that relates them to each other, multiple dungeon branches, multiple dungeons, wilderness levels
guaranteed interesting stuff on a level: improved feelings, auto-scum always on, guaranteed out of depth monsters / objects / vaults, quests, guaranteed resources (food, light, healing, recall)
persistent levels: where taking a previously used stairwell take you to the old connecting level, but unused stairwells in the same direction take you to a new level (cf Entroband/Hengband)
monster ai: patrols, preferred regions, scent trails, foot prints, predator / prey relationships, different ways of moving around the dungeon (flying, swimming, crawling, oozing)
I'll add stuff as it comes to me. The question is what of the above is worthwhile including in Angband, and what should be kept in variants?
Andrew
I don't want to pre-empt the work that d_m is doing on dungeon generation, but I figured it'd be worth starting a thread to discuss what people want from dungeon generation in Angband. Rather than voice an opinion here, I'm going to do more of a 'lay of the land' discussion to start things off - what can we achieve with dungeon generation vs what we should do for Angband.
Firstly, it's important to point out, that with a couple of exceptions, dungeon generation works surprisingly well in Angband. I say surprisingly, because there is no guarantee of connectivity at all, and yet almost all dungeons are generated connected. I also don't remember seeing too much in the way of complaints ever about directly about dungeon generation from people who play the game a lot - the exception being with the level feelings system, which does need some kind of revision or re-examination. Timo's complaints are more to do with the probabilities of interesting vs. non-interesting stuff occuring on a level. That's one important aspect of dungeon generation, but most people who spend time coding dungeon generation in variants spend as much time working on things like new room generation, as the distribution of monsters and objects.
The key areas for considering improvement I can see are - remember, not all of them are going to be 'good' for Angband:
new room shapes (there are algorithms for most of these in other variants) - overlapping rooms (2 rectangles of varying sizes), fractal caves, cellular automata caves, starburst caves, chambers (a number of rooms tightly linked together), delved caves/burrows, mazes, polygonal / irregular concave rooms, conic section rooms, towns, castles, huge rooms, open regions
vaults: support for more variety of vault contents, rotation / flipping of vaults, 'interesting rooms' which are weaker than lesser vaults, more predictable vault rarity, procedurally generated vaults instead of template generated vaults
monster pits: greater variety, smaller pits, spaced out placement in pits, monster ecologies so that only certain types of monsters are generated across one or more other room types
new room contents: themed treasure, objects, monsters, more ways of associating different monsters with each other (insects, warriors, fire elementals etc), monsters with predictable drops, text descriptions, special regions that prevent item use, spell casting, archery etc, traps with triggerable regions, more variety of trap types, wall and floor decorations
new corridors (assume a running algorithm which can handle all these corridor types): wider corridors, pillared and ragged edged corridors, corridors drawn via projection algorithm (straight or ragged), changing corridor generation to limit the maximum length of straights, cave-like corridors, guaranteed dungeon connectivity via corridors, hints inside a room as to secret door location, secret areas of the dungeon
new terrain types: water, lava, acid, fire, chasms, ice, lakes, rivers, waves, flooded rooms and corridors
dungeon themes: select only some of the above elements for a level in the dungeon in a way that relates them to each other, multiple dungeon branches, multiple dungeons, wilderness levels
guaranteed interesting stuff on a level: improved feelings, auto-scum always on, guaranteed out of depth monsters / objects / vaults, quests, guaranteed resources (food, light, healing, recall)
persistent levels: where taking a previously used stairwell take you to the old connecting level, but unused stairwells in the same direction take you to a new level (cf Entroband/Hengband)
monster ai: patrols, preferred regions, scent trails, foot prints, predator / prey relationships, different ways of moving around the dungeon (flying, swimming, crawling, oozing)
I'll add stuff as it comes to me. The question is what of the above is worthwhile including in Angband, and what should be kept in variants?
Andrew
Comment