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
+10
View File
@@ -117,6 +117,16 @@ public partial class GameManager : Node2D
}
}
/// <summary>How many villagers are currently sleeping at this shelter.</summary>
public int RestingOccupancy(Building b)
{
int count = 0;
foreach (var npc in Npcs)
if (npc.State == NpcState.Resting && npc.Position.DistanceTo(b.Site) <= 2.5f)
count++;
return count;
}
public int TownPopulation(string town)
{
int count = 0;