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.

Difference between revisions of "Slavery"

From Dwarf Fortress Wiki
Jump to navigation Jump to search
m (added version header)
Line 185: Line 185:
 
|}
 
|}
  
 +
{{V50 entities}}
 
{{Category|Entities}}
 
{{Category|Entities}}
 
{{Category|Game mechanics}}
 
{{Category|Game mechanics}}

Revision as of 07:27, 4 October 2026

This article is about the current version of DF.
Note that some content may still need to be updated.

A necromancer experiment with the slave "profession".

Slavery is the concept of a creature being under the ownership and/or forced employment of another. This article describes slavery only as represented by the game mechanics, world generation and fictional setting of Dwarf Fortress.

Overview

Slavery is not a major gameplay mechanic in Dwarf Fortress, but the concept occurs in several parts of the game. Historical figures can become enslaved during world generation, and slavery can also occur through several distinct game mechanics. The game represents several forms of enslavement, including:

  • Child enslavement — Goblin snatchers abduct children, who may subsequently become slaves.
  • Forced domestication — Goblins can enslave Trolls and use them as mounts, haulers or war animals.
  • War slavery — Civilizations can enslave defeated enemies and bring them back to their settlements.
  • Undead servitude — Undead creatures raised by necromancers can be regarded as being under the control of their creator.
  • Slaves of Armok — The game's subtitle; Slaves to Armok: God of Blood Chapter II: Dwarf Fortress, uses slavery as part of the game's fictional terminology.

Civilizational attitudes

Slavery is also represented in the game's ethics system, which determines how different civilizations regard the practice.

The vanilla civilization definitions specify the following ethical attitudes toward slavery:

Civilization Attitude toward slavery
Humans Acceptable
Goblins Viewed as a personal matter
Elves Punishable by exile
Dwarves Capital punishment1
Kobolds Unthinkable
Subterranean animal peoples Unthinkable

These attitudes primarily determine how a civilization reacts to slavery as an ethical issue. They should not be confused with the separate mechanics through which slavery actually occurs.

Notes:

  1. Despite being defined by the entity token PUNISH_CAPITAL, as far as Dwarven justice is concerned, capital punishment is not an intentional death penalty (though it is often an unintentional one). Dwarf society regards this punishment as 8 months in prison or fifty hammer strikes, falling just short of the greater than fifty hammer strikes needed for a punishment to be specifically considered an execution.

Slavery in world generation

During world generation, historical figures can become enslaved. In mechanical terms, enslavement is closely related to imprisonment: an enslaved historical figure can potentially escape.

Slavery is unlikely to have a direct impact on the game when playing in adventure or fortress mode, where it is most likely to be seen in descriptions of historical events. Specific examples of how slavery is represented or implemented by the game can be seen in:


Examples of possible references:

  • "the end of the former enslavement of"
  • "escaped from the slavery of"
  • "escaped from the slavery of" / "escaped from the prisons of"
  • "was enslaved by" / "was imprisoned by"
  • "the enslavement" / "the imprisonment"
  • "as a former slave of" / "as a former prisoner of"

Child enslavement

Goblins are particularly associated with the abduction of children. Goblin snatchers can enter settlements and abduct children, who can become part of the goblin civilization, rather than remaining members of their original civilization. Children can potentially be recovered through a citizen recovery mission, while adventurers can also encounter and rescue captives through quests. See:

Troll enslavement / forced domestication / sentient livestock

Goblins can also enslave Trolls. This is mechanically different from human-style war slavery. The Troll is treated as an animal-like creature under goblin control and can be used for purposes such as:

  • carrying loads;
  • pulling;
  • riding;
  • combat.

This creates a distinction between sapient creatures that are treated as animals and ordinary domesticated animals. This form of enslavement is particularly relevant to modding, because the [ANIMAL] token can cause a creature to be treated mechanically as an animal, even when the creature is otherwise sapient. The relevant distinction is between:

* a creature being part of the civilization's main race;
* a creature being defined as an animal or special animal caste;
* a creature being treated as a pet;
* a creature being used as a mount, puller or hauler.

This can produce a situation in which a creature is biologically or culturally sapient but is mechanically handled as livestock or a domesticated animal.

War slavery

Civilizations can enslave defeated enemies and take them back to their settlements. This can be described as spoils-of-war slavery or war enslavement.

The ethics value for slavery also affects whether a civilization is willing to accept caged sapient creatures from merchants.

Higher or lower ethical values appear to have relatively limited mechanical consequences, beyond determining whether the civilization permits slavery at all. The ethical value therefore primarily establishes the civilization's attitude toward the practice rather than providing a detailed slavery simulation.

Undead servitude

Necromancers can raise dead creatures as Undead. The resulting undead are generally under the control of the necromancer who created them. This can be interpreted as another form of forced servitude, although the game does not necessarily classify undead as slaves in the same mechanical sense as enslaved historical figures.

Modding Slavery

There is no dedicated `SLAVE` creature mechanic in Dwarf Fortress. A mod can simulate slavery through the use of ANIMAL entity tokens, and referencing a creature with specific creature tokens such as [PACK_ANIMAL] and [PET]. There are three main approaches, all of which rely on the creature in question being explicitly defined per-civlization (entity).

Modding approaches
Method Description Can be embarked with Can be traded Has slave-population in worldgen Can be trained Can have labours Can have a specific interaction Can have specific traits Can have a pet value Slave can be married to non-slave and have kids Graphic modding needed
Existing creature as ANIMAL Use ANIMAL tokens within an entity to define an existing creature itself. Yes Yes Yes If non-speaking No No Yes Yes No
Special caste as ANIMAL Add a special caste to an existing creature and use ANIMAL_CASTE_TOKEN to define it within an entity. Yes for the special caste, but not the main race both No If non-speaking If [CAN_LEARN] Only for the special caste Only for the special caste Yes, both Yes Yes
Creature copy as ANIMAL Create a copy of the original creature and define the copy using ANIMAL entity tokens. Yes for the special creature, but not for the main race both Yes If non-speaking If [CAN_LEARN] Only for the special creature Only for the special creature Yes, both No Yes
  • Can be embarked with: creatures can be selected as livestock animals
  • Can be traded: can be selected in the trade agreement
  • Can have a specific interaction: an interaction specifically for this slave-creature can be defined
  • Can have specific traits: tokens as desired can be assigned to the slave-creature.

The choice depends on the desired behaviour. A special caste is useful when the enslaved version should remain closely connected to the original creature — i.e. if dwarves should be able to enslave other dwarves. A separate creature provides more freedom when the enslaved version needs substantially different properties — i.e. if there is a specific "House Elf" creature that is expected to always be enslaved.

Sapience and Assigning Tasks

You can assign tasks to a creature with ANIMAL entity tokens if they have the creature tokens [CAN_LEARN] and [CAN_SPEAK].

The CAN_LEARN tag will also mean that the game classes a creature as sapient, which comes with certain limitations on how they can be treated and interacted with. For instance, sapient creatures cannot normally be milked or butchered. Either token will allow a creature to have values and goals.

For a more detailed and philosophical analysis on the topic of sapience, within the context of Dwarf Fortress, see Person.

How to make them show up

For creatures that do not naturally spawn, you need [ANIMAL_ALWAYS_PRESENT], otherwise, the civ only has them available if they somehow domesticated them. You need [ANIMAL_ALWAYS_PET] to make them selectable for embark.

Other notes about [ANIMAL] sapients

  • They can be assigned a (bed)room
  • They can be assigned positions like tavern keeper or priest, but never any of the noble positions
  • They cannot be assigned a pond or pit and cannot be tied to a rope
  • They cannot be assigned to a trainer
  • If an ANIMAL-sapient is brought by the merchants, they will come clothed and the merchants will charge extra for the clothing.
  • Their thoughts can be viewed in full detail.
  • They can be expelled. They do not seem to form any relationships at all.
  • If they cannot speak, they are listed as livestock, but cannot be assigned labours, so they can be assigned labours if they are able to speak.
  • If they cannot speak, they are trainable

Whether they will petition for citizenship has yet to be verified.

  • If you catch a hostile creature in a war, they cannot be pacified. They can, however, be sold to traders.
  • If you attack a site that is inhabited by a sapient creature that is defined as an animal by your civilization, you cannot capture them as livestock.

Example

A modder who wants dwarves to have an enslaved caste can add a special `SLAVE` caste to the dwarf creature, making use of the appropriate creature tags detailed above. Setting its population ratio to `0` prevents enslaved dwarves from appearing as a separate natural population, while still allowing the caste to be used for individual enslaved dwarves.

For elves or other races, a separate copy of the creature can instead be used as the enslaved version. This provides more control over its properties, but the game treats it as a different creature.

"Slave" in other Languages Story tell indicator.png
Dwarven: noth
Elven: urepe
Goblin: smanges
Human: cubnor


Groups
Laws
Diplomacy