Dwarf Fortress Bug Tracker - Dwarf Fortress
View Issue Details
0009503Dwarf FortressWorld Generation -- Generalpublic2016-01-22 12:262016-10-27 09:12
Loci 
 
normalminorsometimes
newopen 
0.42.05 
 
0009503: Dwarf civilizations rarely actually die out, instead remain "dying" for centuries
Back 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.

No tags attached.
Issue History
2016-01-22 12:26LociNew Issue
2016-10-27 09:12PatrikLundellNote Added: 0036008
2016-10-27 10:00PatrikLundellNote Edited: 0036008bug_revision_view_page.php?bugnote_id=0036008#r14508
2020-02-12 11:49HuntthetrollIssue Monitored: Huntthetroll

Notes
(0036008)
PatrikLundell   
2016-10-27 09:12   
(edited on: 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.