mmcghen eb4b2fdd19 Toroidal world: boundless wrapping globe, 2x2 even town grid
The map is now a torus - walk off any edge and reappear on the opposite
side, no edges or corners. A new Toroidal helper carries all wrap-aware
distance/direction/movement math, and every position comparison in the sim
routes through it: soul pressure, node + structure sensing, gift/teacher/
neighbor scans, bonding, movement, the spatial grids (NPC and node cell
index both wrap their bucket lookups at the seam), and town centroid
(averaged in anchor-relative deltas, since averaging raw coordinates across
the seam is meaningless).

Towns re-laid as a 2x2 even grid on the torus (quarter/three-quarter points,
320 & 960 on a 1280 world): every town sits exactly 640 units from each of
its two axis-neighbours in all directions, wrap included - no more edge-boxed
North/South that could only forage inward. World grew 1152 -> 1280 with
resources scaled to area.

Verified over a 240-day soak: all four towns alive and balanced (pop 23-25),
population stable ~96, 119 bonds (27 cross-town), cultures still diverge, and
wrapped distances correctly cap at the torus half-diagonal (no false
across-seam blowups). 183s headless.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 11:48:40 -04:00

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)

  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
S
Description
No description provided
Readme 1.6 MiB
Languages
C# 100%