- 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.
Size
This article was migrated from DF2014:Size and may be inaccurate for the current version of DF (v50.14). See this page for more information. |
v50.14 · v0.47.05 This article is about the current version of DF.Note that some content may still need to be updated. |
- 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 four different effects, one basic and three 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. The last one is the creature's muscle mass, determined by it's strength attribute (a thin dwarf with ~44210 size will be ~64210 once they become unbelievably strong).
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 | |
Giant tiercel peregrine | 8,308 | 113,292 | Smallest giant animal |
Deer | 14,000 | 140,000 | |
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 |
Mechanics
- Crafted items: Item definition tokens for industry-crafted items are specific to various classes of items: for instance, ammo has its own ammo definition tokens, as does armor, as do tools, and so on. A [SIZE] token is a field required in all of these definitions.
- Bar lack a defined size token in the raws. They have 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.