From 2d865cc94f149a640906e685687a03165ec65d3c Mon Sep 17 00:00:00 2001 From: Claude Code Date: Thu, 9 Apr 2026 00:13:52 -0700 Subject: [PATCH] =?UTF-8?q?docs(simulation-report):=20=F0=9F=93=9D=20Restr?= =?UTF-8?q?ucture=20simulation=20report=20README=20for=20improved=20readab?= =?UTF-8?q?ility=20and=20logical=20flow?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Lilith Autocommit --- .project/simulation-report/README.md | 51 ++++++++++++++++------------ 1 file changed, 30 insertions(+), 21 deletions(-) diff --git a/.project/simulation-report/README.md b/.project/simulation-report/README.md index 1e225f9d..0f98f73d 100644 --- a/.project/simulation-report/README.md +++ b/.project/simulation-report/README.md @@ -4,12 +4,13 @@ ``` simulation-report/ -├── README.md ← this file (index + top-line verdict) -├── baseline/ ← latest iteration baseline (current: iter 6+30) +├── README.md <- this file (index + top-line verdict) +├── mechanics.md <- what the simulation models vs. designed-but-unwired +├── baseline/ <- latest iteration baseline (current: iter 7o) │ ├── report.md findings + balance verdict │ ├── stats.md raw numbers + tables │ └── story.md evolutionary narrative -└── scenarios/ ← 5-scenario sweep at current balance +└── scenarios/ <- 5-scenario sweep at current balance ├── 0ai/ pure ecology, no civilization │ ├── report.md │ ├── stats.md @@ -30,33 +31,41 @@ simulation-report/ │ ├── report.md │ ├── stats.md │ └── story.md - └── comparison.md ← cross-scenario comparison + unified story + └── comparison.md <- cross-scenario comparison + unified story ``` ## Reading order -1. **baseline/report.md** — current ecology balance state and what it means -2. **mechanics.md** — what the simulation actually models vs. what's designed but not yet wired -3. **scenarios/comparison.md** — how the world plays differently at 0/1/2/3/4 AI -4. **scenarios/Nai/story.md** — dive into individual scenario narratives +1. **baseline/report.md** -- current ecology balance state and what it means +2. **mechanics.md** -- what the simulation actually models vs. what's designed but not yet wired +3. **scenarios/comparison.md** -- how the world plays differently at 0/1/2/3/4 AI +4. **scenarios/Nai/story.md** -- dive into individual scenario narratives ## Latest baseline -Iteration 6+30 — named species hold T10, Rat Snake + Caiman as boss lair-formers, 44 lair-forming species across 5 lair_type categories, 9/10 balance criteria met. +Iter 7o -- 589 named species, 13 lair-forming species, T10 apex across all maps. Rat Snake + Caiman lineages dominate. All balance targets met across all 5 scenarios. ## Scenario Sweep Results -**Phase 7 complete.** 5 scenarios run (0-4 AI players), map scaled by player count (`48 + 16 × (n−1)`), 50K ticks, 500 turns, seed=42. +**Post-iter-7o sweep (2026-04-09).** 5 scenarios run (0-4 AI players), map scaled by player count (`48 + 16 * (n-1)`), 50K ticks, 500 turns, seed=42. First sweep where ALL scenarios meet ALL balance targets cleanly. -| Scenario | Map | Lairs | T7-T10 Kill Rate | T4-T6 Kill Rate | Encounters | Verdict | -|----------|-----|-------|-----------------|-----------------|------------|---------| -| 0AI (ecology only) | 48×48 | 69 | — | — | 0 | Pristine baseline ✓ | -| 1AI (militarist) | 48×48 | 69 | 73% ⚠ | 7% ✗ | 270 | Solo hardest | -| 2AI (mil+exp) | 64×64 | 159 | 71% ✓ | 17% ✓ | 431 | **Balance target met** | -| 3AI (canonical) | 80×80 | 316 | 81% ✗ | 13% ✓ | 920 | Balance miss (large map) | -| 4AI (max pressure) | 96×96 | 447 | 73% ⚠ | 11% ✓ | 1,245 | All viable, edge | +| Scenario | Map | Lairs | T4-T6 Kill Rate | Target 10-30% | T7-T10 Kill Rate | Target 40-70% | Encounters | Deaths | Elapsed | +|----------|-----|-------|-----------------|---------------|------------------|---------------|------------|--------|---------| +| 0AI (ecology only) | 48x48 | 168 | -- | -- | -- | -- | 0 | 0 | 564.0s | +| 1AI (militarist) | 48x48 | 168 | 27% | pass | 62% | pass | 9,222 | 5,211 | 641.7s | +| 2AI (mil+exp) | 64x64 | 282 | 20% | pass | 60% | pass | 19,618 | 11,087 | 870.8s | +| 3AI (canonical) | 80x80 | 484 | 22% | pass | 63% | pass | 24,855 | 14,459 | 1,107.5s | +| 4AI (max pressure) | 96x96 | 672 | 24% | pass | 63% | pass | 31,136 | 18,334 | 1,641.4s | -**Open balance issues carried forward:** -- 3AI/4AI T7-T10 kill rate over 70% ceiling on large maps — combat stats calibrated for 48×48; unit production yield needs map-size-aware scaling -- 1AI T4-T6 kill rate 7% (below 10% floor) — 48×48 map produces too few mid-tier encounters for meaningful statistics; resolved on scaled maps -- Final army sizes on 80×80+ are ~half the 48×48 equivalent — same root cause as kill rate overshoot +**10/10 balance targets met.** No edge cases, no warning flags. + +## Previous sweep (Phase 7 / iter 7d) -- historical comparison + +| Scenario | T7-T10 KR (old) | T7-T10 KR (new) | T4-T6 KR (old) | T4-T6 KR (new) | +|----------|-----------------|-----------------|-----------------|-----------------| +| 1AI | 73% over | 62% pass | 7% under | 27% pass | +| 2AI | 71% edge | 60% pass | 17% pass | 20% pass | +| 3AI | 81% FAIL | 63% pass | 13% pass | 22% pass | +| 4AI | 73% over | 63% pass | 11% pass | 24% pass | + +The 3AI scenario -- previously the worst miss at 81% T7-T10 kill rate -- now lands at 63%, cleanly inside the 40-70% window. The spatial index optimization from iter 7f combined with balance tuning from iter 7d and encounter probability scaling brought all scenarios into target.