Run 10: organic recovery achieved - minerals are not a commons
Recovery blocker was material, not motivational. Two fixes: (1) harvest floors and commons debris apply only to living, regenerating resources - stone does not regrow, so "leave half" merely stranded the world supply and kept the homeless homeless forever; minerals now quarry to depletion for every soul equally. (2) Matter conservation: idle variety-gathering touches only renewables, and packs may only shed what the land replaces - lossy make-room had milled 900+ stone to dust during demand flapping. Verified over 260 headless days: year-1 winter still wrecks the naive town, it rebuilds in 20 days, famine survivors found the first granaries from hunger memory, and year-2 winter passes with zero ruins on stored reserves. The town has a history now: naive youth, catastrophe, learning, resilient maturity. Remaining tuning in FINDINGS.md: granary sprawl, post-famine nourishment. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -25,7 +25,7 @@ public static class StatsLogger
|
||||
|
||||
private const string NpcHeader =
|
||||
"day,npc,name,soul,town,dominant,gather_ticks,build_ticks,trade_ticks,rest_ticks,social_ticks," +
|
||||
"nourish,health,debris";
|
||||
"nourish,health,debris,demand,rough_nights,hunger_mem";
|
||||
|
||||
private const string GiftHeader =
|
||||
"day,giver,giver_soul,receiver,receiver_soul,material,amount";
|
||||
@@ -167,7 +167,10 @@ public static class StatsLogger
|
||||
.Append(t[(int)NpcState.Socializing]).Append(',')
|
||||
.Append(npc.Nourishment.ToString("0.000", ci)).Append(',')
|
||||
.Append(npc.Health.ToString("0.0", ci)).Append(',')
|
||||
.Append(npc.Imprint.Total.ToString("0.0000", ci)).Append('\n');
|
||||
.Append(npc.Imprint.Total.ToString("0.0000", ci)).Append(',')
|
||||
.Append(npc.CurrentDemand(gm)).Append(',')
|
||||
.Append(npc.RoughNights).Append(',')
|
||||
.Append(npc.HungerMemory ? 1 : 0).Append('\n');
|
||||
System.Array.Clear(npc.StateTicksToday, 0, npc.StateTicksToday.Length);
|
||||
}
|
||||
File.AppendAllText(_npcPath, npcRows.ToString());
|
||||
|
||||
Reference in New Issue
Block a user