f4e55feff70af038c4043bab5c277bd550e158b7
Root cause of towns (East worst) drifting south: when an exploring soul was at its anchor with no outward vector, the fallback direction was Vector2(PersonalityModifier, 1 - Abs(PersonalityModifier)) - and with PersonalityModifier tiny (+-0.2) that Y-component was always ~+0.9. +Y is south, so every town's explorers got shoved into the southern corner. East showed it worst (selfish souls strip resources fastest, so they explore most). Now the at-anchor direction comes from the soul's identity hash, spread around the full compass. Supporting fixes: exploration is bounded to a ~140-unit home range (forage out and back, don't march to the horizon); private homesteads clamp to within 120 units of the town anchor (selfish souls sprawl on their OWN land, not into a neighbor's). Result: every East home now founds near the east anchor (x~870 vs the anchor's 962), none in South's territory, and East is the healthiest town. Also widened the map view (880 -> 1060px) to use more of the window - the world grew to 1152 but the render was a fixed square, so it looked no bigger. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Soul World Sim — MVP
Godot 4.7 (.NET / C#) world simulation for the soul reincarnation game.
- Design rationale: docs/DESIGN.md (the why)
- Production spec: docs/SPEC.md (the what, with 2026-07-21 amendments)
- Experiment log: FINDINGS.md (the four soak runs and what they proved)
- Mechanics reference: the Unity POC at
H:\Projects\Game\Game(separate repo; 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)
- World gen + NPC base + state machine ← scaffold is here
- Building system
- Trade + soul-imprint-weighted decisions
- Testing protocol + save round-trip + debug UI
Description
Languages
C#
100%