South town MVP: world sim, seasons, granary, contrast test + findings

Godot 4.7 C# world simulation per SPEC.md (with 2026-07-21 amendments).
15 NPCs, 5-state machine, demand-driven work, soul-imprint triad data
model, seasons with winter frost, granary, need-based gift economy,
selfish-soul contrast wiring, daily/per-villager/gift CSV logging.

FINDINGS.md documents the four soak experiments: the dead paradise,
the buffers winning, the emergent hungry gap, and the contrast test
proving the four-town thesis (and that selfishness wins until the
soul-consequence layer exists).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-21 12:55:30 -04:00
commit 721acbd1aa
31 changed files with 5661 additions and 0 deletions
+35
View File
@@ -0,0 +1,35 @@
# Soul World Sim — MVP
Godot 4.6 (.NET / C#) world simulation for the soul reincarnation game.
- **Design rationale**: `H:\Projects\Game\Game\DESIGN.md` (the *why*)
- **Production spec**: `H:\Projects\Game\Game\SPEC.md` (the *what*, with 2026-07-21 amendments)
- **Mechanics reference**: the Unity POC at `H:\Projects\Game\Game` (soul/debris/imprint systems, proven Feb 2026)
## MVP goal
Prove constrained emergence + soul philosophy with one town: 15 nature-souled
NPCs dropped into a 256×256 world with no scripted layout. Success is
behavioral (SPEC §11): no over-harvesting, voluntary cooperation, an organic
community cluster, stable resource bands — then the contrast test (3 selfish
NPCs dropped in) to prove weights alone change the society.
## Structure
| File | Role |
|---|---|
| `scripts/GameManager.cs` | main loop, tick system (1 tick = 1 in-game minute), day/night |
| `scripts/World.cs` | 256×256 grid, resource nodes, sustainable harvest, daily regen |
| `scripts/NPC.cs` | NPC data + 5-state machine (gather/build/trade/rest/socialize) |
| `scripts/SoulProfile.cs` | soul types, behavior weights, **imprint triad** (SPEC §2 amendment) |
| `scripts/Building.cs` | modular, physically-sequential, multi-NPC construction |
| `scripts/TradeSystem.cs` | generous no-currency exchange, imprint consequences |
| `scripts/Visualization.cs` | top-down debug view (designer sees all meters; the player never will) |
| `scripts/SaveSystem.cs` | world-state JSON round-trip (persistence is first-class) |
## Build weeks (SPEC §12)
1. World gen + NPC base + state machine ← *scaffold is here*
2. Building system
3. Trade + soul-imprint-weighted decisions
4. Testing protocol + save round-trip + debug UI