DungeonMaker
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.