v50 Steam/Premium information for editors
  • v50 information can now be added to pages in the main namespace. v0.47 information can still be found in the DF2014 namespace. See here for more details on the new versioning policy.
  • Use this page to report any issues related to the migration.
This notice may be cached—the current version can be found here.

v0.34:Size

From Dwarf Fortress Wiki
Revision as of 00:49, 16 January 2014 by Lethosor (talk | contribs) (→‎Bugs: technically, the fix is part of DFHack (but it's enabled in the LNP))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
This article is about an older version of DF.

Size is a measure of how big a creature or item is, measured in cubic centimeters. It is essentially volume, but is called size in creature raw files, and is so translated to item definitions as well. Size, along with the underlying material's density, is used to calculate an item's weight:

Weight (in Γ) = Density (in kg/m3) * Size *10 (in cm3) / 1,000,000 (cm3/m3)

Size has a large number of important ramifications on the game, many of them through its affect on overall weight, but as material properties go, its implementation in the game is somewhat underwhelming - witness the incredible compression of matter, space, and time that is the garbage dump. This is mostly because when even dragons occupy a single square, size becomes a little difficult to contextualize. It doesn't help that a thirty five to forty foot bronze colossus fits in a basic wooden cage (although, a fire man fits it too, so).

Size directly affects such things as which weapons your dwarves can equip, butchering returns, and combat effectiveness, both for creatures (elephants are very hard to kill because there's so much tissue to them, but they have a surprisingly hard time landing a hit on, say, cavys) and for weapons. Through weight, the size of an item has a large number of further ramifications in the game, such as carry time, pressure plate activation, impact momentum, weight restrictions, and so forth. Changing this value too much can lead to fun.

Bodysize[edit]

Creature-specific size is known internally as bodysize (from the [BODY_SIZE] token). When it comes to creatures, size is a rough stand-in for weight: standard flesh weights one gram per cubic centimeter. However, in the infinite complexity of Dwarf Fortress there are a number of other materials animals internalize (ivory, hair, horn, shell, etc.) which have their own densities, shifting a creature's actual weight relative to its size, sometimes significantly (elephant tusks weigh a lot). Bodysize also determines average butchering yields, (along with morphology) how much damage they can absorb, and (along with morphology and attack definition tokens) how much damage they can inflict in melee. On [HUMANOID] creatures, size also directly determines what kind of equipment a creature can wear: large, small, normal, or none at all.

The actual size of a creature is the result of three different effects, one basic and two modulatory. First and most basic is the average maintained across an individual species of creature. The second is the age of the creature: most creatures are not born anywhere near their maximum size, and instead must grow into it; some, like most species of snake, grow through their entire lifetime, and probably will not live long enough to reach it. The third is inheritance: version 0.31.1 introduced genetics, allowing creatures to inherit part of their size from the appearance, specifically the height and girth, of their parents.

Actual creature sizes go from 1 (small insect vermin) to 200000000 (giant sperm whales, the largest creature in the game). See List of creatures by adult size for details. The average size set for a dwarf is 3000, 15000, and 60000, the size of a baby, child and adult respectively.

Sample list of creature sizes[edit]

Name Size at birth Size at maturity Notes
Adder 15 150 Smallest (non-vermin) creature
Rabbit 50 500 Smallest domestic animal
Cat 500 5000
Kobold 1000 20000
Dwarf 3000 60000
Deer 14000 140000
Giant eagle 7981.4 228040 Smallest giant creature
Polar bear 40000 400000
Water buffalo 100000 1000000 Largest domestic creature
Rhinoceros 300000 3000000
Giant moose 255465 4257750 Largest giant-type land-based creature (males)
Elephant 500000 5000000 Largest natural land-based creature
Cave dragon 6000 15000000 Largest cavernous creature
Sperm whale 500000 25000000 Largest natural creature
Dragon 6000 25000000 Largest land-based creature
Giant sperm whale 4000000 150000000 Largest creature, period

Mechanics[edit]

Bars lack a defined size token in the raws. They have a size of 600 cm3, which can be deduced from the equation listed above using their weight and the densities of their corresponding materials. This is consistent with 5 bars fitting inside a 3000-capacity bin. The dimensionless unit of '150' products per bar, primarily of use for soap, suggests that each use of soap should diminish the size of the item by 4cm3 (i.e. 600cm3/150). Whether this is true is currently untested.[Verify]

  • Inorganic items: Stones, gems, and ores appear to have a default, hard-coded size that is applied to all items of that class; thus there is no direct inorganic material definition token for it.
  • Plants: There is no size plant token. This may change with the upcoming overhaul of plants in the next version.
  • Buildings: The [DIM:#:#] building token defines the by-tile size of a workshop or building.
  • Creatures: The creature token version of [SIZE] is the [BODY_SIZE:#:#:#] token, which accepts three variables. The first number is age in years; the second additional age is in days. The third number is its size in cm3. Multiple ages and multiple [BODY_SIZE] tokens are used to constrain a creature's age-based growth pattern and final size. Genetics is accounted for by a [BODY_APPEARANCE_MODIFIER] token tagged for LENGTH and/or HEIGHT. For instance, genetic variance in the anaconda is defined so: [BODY_APPEARANCE_MODIFIER:LENGTH:90:95:98:100:102:105:110]. Each interval value is genetically inherited, and each interval value has an equal chance of occurring; the numbers are the percentage of the base size a creature in the interval will be.

Bugs[edit]

Due to a bug, 90% of creatures do not "grow" correctly, resulting in severely undersized dwarves, reduced military effectiveness, poor meat industry returns, under-performing war animals, pressure plate triggering problems, etc. Creatures that are spawned "full-grown" (migrants, invaders, wildlife, merchant trade animals, etc.) are the correct size. DFHack contains a fix for this bug (fix/growthbug), which is enabled in the current version of the Lazy Newb Pack.Bug:6334