Run 14: reproduction from bonds, and towns anchored to the compass
Children from bonds (Phase B): death no longer auto-spawns a replacement; bonded, fed, adult pairs conceive, logistic-damped toward a per-town carrying capacity. Population is now dynamic - births vs deaths, a band not a fixed count. Towns anchored to their cardinal seeds (build-centroid 70% weighted to the fixed compass point) so settlements stay planted instead of drifting to map-center - North now founds at ~(388,139) by its (384,130) seed vs West's prior 100+ cell drift. Tuning took three passes (logged in FINDINGS): explosion, then die-out, then a generational-gap bug where founders aged out of fertility before their children matured. Fix: wide fertility window + generous rate. Result: births 108 ~= deaths 104, healthy population band, and the four-town thesis sharpened into demographics - North/South thrive soul-clean, West shrinks with debris, East collapses to a starving remnant. Selfishness now literally fails to sustain a population. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -21,7 +21,7 @@ public static class StatsLogger
|
||||
"avg_fatigue,avg_nourish,avg_health,carried," +
|
||||
"gather_ticks,build_ticks,trade_ticks,rest_ticks,social_ticks," +
|
||||
"shelters_done,ruins,avg_cond,upkeep_stock,burn_per_day,modules,granary_food," +
|
||||
"avg_debris,refusals,incomplete_sites,avg_knowledge,deaths";
|
||||
"avg_debris,refusals,incomplete_sites,avg_knowledge,deaths,births,population";
|
||||
|
||||
private const string NpcHeader =
|
||||
"day,npc,name,soul,town,dominant,gather_ticks,build_ticks,trade_ticks,rest_ticks,social_ticks," +
|
||||
@@ -153,7 +153,9 @@ public static class StatsLogger
|
||||
float knowSum = 0f;
|
||||
foreach (var npc in gm.Npcs) knowSum += npc.Know.Total;
|
||||
row.Append((knowSum / count).ToString("0.000", ci)).Append(',');
|
||||
row.Append(gm.DeathsToday);
|
||||
row.Append(gm.DeathsToday).Append(',');
|
||||
row.Append(gm.BirthsToday).Append(',');
|
||||
row.Append(gm.Npcs.Count);
|
||||
|
||||
File.AppendAllText(_path, row + "\n");
|
||||
|
||||
@@ -194,5 +196,6 @@ public static class StatsLogger
|
||||
TradeSystem.TradesToday = 0;
|
||||
TradeSystem.RefusalsToday = 0;
|
||||
gm.DeathsToday = 0;
|
||||
gm.BirthsToday = 0;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user