Determining the Dungeon Character
(stats-file reference)

Luckily, there is only one line to explain - it determines the characteristics of one generation of WallCrawlers, and is repeated for generation 0 through 9. If there are more than 10 generations of Crawlers in the dungeon, later generations all share the values for generation 9. Generation 0 refers to the Crawlers who are manually created in the rooms-file. All lines start with the generation number, and these must be in the correct order. A sample line looks like this:

Generation: 1; StepLength: 5; CorridorWidth: 4; ChangeDirProb: 30; StraightSpawnProb: 100; DoubleSpawnProb: 100; JumperProb: 100; OpenStartProb: 30; MaxAge: 8; SkipGenerations: 5; LateSpawn: 4; LateSpawnProb: 40; NoDirectionProb: 50.

StepLength is the number of wall tiles that the Crawlers of this generation build during one iteration when they have enough space in their Forward direction. CorridorWidth is the minimum number of open squares the Crawlers of this generation will leave between wall tiles they build and those that are already there. They only look Forward and to the sides to determine this, thus ignoring any wall tiles they have laid themselves. ChangeDirProb is the probability in percent that a Crawler of this generation will change direction after having laid down his wall tiles (except for generation 0, where this is modified to create walls that head more closely in the desired Direction - this is explained here under the heading chDirOnStraight). Whenever a Crawler changes direction at this point, he will spawn at least one baby, and will spawn two with probability doubleSpawnProb. At the end of a building step, when the Crawler does not change direction, it will spawn a baby with probability straightSpawnProb. Note that when a Crawler is forced to change direction because there are exactly corridorWidth spaces between him and the next obstacle, he will not go through the building cycle, and will not get a chance to spawn.

JumperProb is the probability (as always in percent) that a Crawler, at the point where he has the chance to spawn a baby, will spawn a ColumnJumper. These Jumpers only become active after skipGenerations generations. OpenStartProb is the probability that Crawlers of this generation will leave an opening at the start of their run and later attempt to join up with an existing wall. Be sure to heed the warnings given here about using this option. MaxAge is the age after which this Crawler is deleted. Together with stepLength this determines the number of wall tiles one Crawler can lay down. NoDirectionProb is the probability that Crawlers of this generation will have a Direction value of zero assigned to them, and thus have no preferred heading. This is valid only for generations other than 0 - Crawlers in generation 0 have their Direction assigned individually in the rooms-file. Crawlers with no assigned Direction are the only ones that can turn back on themselves and go in the direction opposite their starting Forward direction. You find more detail on that here.

LateSpawnProb is the probability that a baby spawned by a Crawler of this generation will not become activated in the next generation, but with lateSpawn generations delay. A baby spawned by generation 1 with lateSpawn = 4 will become active in generation 6.

That's it for the description of the parameters in the stats-file. All ways to use these parameters will not immediately become obvious. See the design-howto for some hints to get you started.

previous page            contents            next page