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.

DF2014:Size

From Dwarf Fortress Wiki
Revision as of 07:21, 2 December 2023 by Ziusudra (talk | contribs) (→‎Mechanics: copied from current, corrected bar size)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
This article is about an older version of DF.
You may be looking for size of clothing, armor, the dimensions of a tile, or the list of creatures by size.

Size is a measure of how big a creature or item is, as volume in cubic centimeters[1], and called [BODY_SIZE] or [SIZE] in raw files.

Size has many important effects on the game, many through its direct effect on item weight, but as material properties go, its implementation is sometimes underwhelming - witness the incredible compression of matter, space, and time that is the QSP. When even multiple full grown dragons occupy a single square, size becomes a little difficult to contextualize. It doesn't help that a bronze colossus fits in a basic wooden cage (although, a fire man fits in it too).

Size directly affects such things as which weapons your dwarves can equip, butchering returns, storage limits, and combat effectiveness for both creatures and weapons.

Size is used to calculate an item's weight, along with the density of the underlying material(s):

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

Through weight, the size of an item has further ramifications in the game, such as hauling speed, pressure plate activation, impact momentum, weight restrictions, and so forth.

The weight of creatures is calculated from the densities and sizes of the layers of their body parts, which currently results in corpse weights that are about 1/3 heavier than expected.

Internally, all custom size numbers are rounded down to the nearest multiple of 10 - thus, if you define an item with [SIZE:15], it will actually behave as if you had specified [SIZE:10].

Bodysize

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 weighs 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 that are highly variable. 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 throughout 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 200,000,000 (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 3,000, 15,000, and 60,000, the size of a baby, child and adult respectively.

Sample list of creature sizes

Name Size at birth Size at maturity Notes
Adder 15 150 Smallest (non-vermin) creature
Rabbit 50 500 Smallest domestic animal
Cat 500 5,000
Kobold 1,000 20,000
Dwarf 3,000 60,000
Deer 14,000 140,000
Giant slug 200,007 200,007 Smallest giant creature*
Polar bear 40,000 400,000
Water buffalo 100,000 1,000,000 Largest domestic creature
Rhinoceros 300,000 3,000,000
Elephant 500,000 5,000,000 Largest natural land-based creature
Cave dragon 6,000 15,000,000 Largest cavernous creature
Sperm whale 500,000 25,000,000 Largest natural creature
Dragon 6,000 25,000,000 Largest megabeast
Giant elephant 4,000,000 40,000,000 Largest land-based creature
Giant sperm whale 4,000,000 150,000,000 Largest creature, period

*Along with giant beetles, brown recluse spiders, damselflies, dragonflies, fireflies, flies, grasshoppers, jumping spiders, lice, mantises, monarch butterflies, mosquitoes, moths, roaches, snails, thrips, and ticks.

Mechanics

  • Bar lacks a defined size token in the raws, but a bar has a size of 6000 cm3, which is consistent with their weight and density, and 10 bars fitting inside a bin. The dimensionless unit of '150' products per bar, primarily of use for soap, suggests that each use of a bar of soap should diminish by 40cm3 (i.e. 6000cm3/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.
  • 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.

See also