View Issue Details

IDProjectCategoryView StatusLast Update
0009503Dwarf FortressWorld Generation -- Generalpublic2016-10-27 09:12
ReporterLoci Assigned To 
PrioritynormalSeverityminorReproducibilitysometimes
Status newResolutionopen 
Product Version0.42.05 
Summary0009503: Dwarf civilizations rarely actually die out, instead remain "dying" for centuries
DescriptionBack in v0.40.x, dead dwarven civilizations were reasonably easy to generate, and proved a fair challenge--no trade caravans, no immigrants after the two hard-coded waves, and no nobles.

In v0.42.x, however, it is common to see a dwarf civilization whose last sites and historical figures died out in the first 100 years still considered "dying" 900 years later. If you start a fortress from such a dying civilization, the game will spawn infinite caravans and immigrants out of thin air, and one of your dwarves will assume the monarchy.

TagsNo tags attached.

Activities

PatrikLundell

2016-10-27 09:12

reporter   ~0036008

Last edited: 2016-10-27 10:00

I believe the reason for the stubborn longevity of civs lies in the structure DFHack calls df.global.world.entity_populations. I've observed the entry associated with the dwarven civ, and the counts [0] entry contains the number of dwarves in the civ. After the mountainhome (and only site) is destroyed, this number may fluctuate a little for a while and then stabilize. Exported legends info claims the civ has no members, and forcing this field to become zero before accepting a world results in a dead civ (I've only tried with civs that ought to be dead) in the attempts I've made.
Presumably, the code handling refugees can sometimes "forget" them and leave them in a limbo where they can neither age, breed, come to harm.
Edit: I forgot to mention that my investigation was done on 0.43.03 rather than 0.43.05, but I have no reason to suspect the logic has changed in the mean time.

Add Note

Note

Issue History

Date Modified Username Field Change
2016-01-22 12:26 Loci New Issue
2016-10-27 09:12 PatrikLundell Note Added: 0036008
2016-10-27 10:00 PatrikLundell Note Edited: 0036008