Organic construction: buildings from need, not quotas

Removes every predetermined construction trigger (shelters-per-capita
cap, granary-at-five-shelters milestone). Buildings now emerge from
lived need:

- Shelters have real bed capacity (3 + modules). A full house turns you
  away; three nights sleeping outside and a person gathers stone and
  raises a roof where they actually live. When nobody sleeps outside,
  nobody builds. Ruined shelters spill their sleepers, so settlements
  can migrate over time.
- The first granary is founded by memory: someone who has truly starved
  stockpiles food once the land gives again and builds storage where the
  harvest is. A second granary appears only when the first fills.
- Emergent consequence: freeriders compete for beds but never build,
  so scarce housing squeezes them into the open. The village never
  decides to punish them; the housing supply does.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-21 14:14:29 -04:00
parent 3f2c5e2f18
commit 5359ec922c
3 changed files with 78 additions and 21 deletions
+5
View File
@@ -92,6 +92,11 @@ public class Building
Kind == BuildingKind.Shelter && IsComplete && !IsRuined &&
Modules < ModuleCap && !WantsUpkeepWood;
/// <summary>How many can sleep here. Expansion adds beds — growth has a
/// human meaning, not just a bigger square.</summary>
public int RestCapacity =>
Kind == BuildingKind.Shelter && IsComplete && !IsRuined ? 3 + Modules : 0;
// --- Granary: food store ---------------------------------------------
public const float FoodStockCap = 150f;