From 294caa7223807cdb85c2dfc2da338b08b4580304 Mon Sep 17 00:00:00 2001 From: Claude Code Date: Thu, 9 Apr 2026 00:25:42 -0700 Subject: [PATCH] =?UTF-8?q?docs(scenarios):=20=F0=9F=93=9D=20Update=20scen?= =?UTF-8?q?ario=202AI=20documentation=20with=20latest=20statistics=20and?= =?UTF-8?q?=20story=20details?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Lilith Autocommit --- .../simulation-report/scenarios/2ai/report.md | 71 +++++++-------- .../simulation-report/scenarios/2ai/stats.md | 90 ++++++++++--------- .../simulation-report/scenarios/2ai/story.md | 45 +++++----- 3 files changed, 103 insertions(+), 103 deletions(-) diff --git a/.project/simulation-report/scenarios/2ai/report.md b/.project/simulation-report/scenarios/2ai/report.md index 64fce31c..c085db42 100644 --- a/.project/simulation-report/scenarios/2ai/report.md +++ b/.project/simulation-report/scenarios/2ai/report.md @@ -1,69 +1,70 @@ -# Scenario 2AI — Militarist + Expansionist (64×64) +# Scenario 2AI -- Militarist + Expansionist (64x64) -*64×64 map · 50,000 ecology ticks · 500 turns · 2 players · seed=42* +*64x64 map -- 50,000 ecology ticks -- 500 turns -- 2 players -- seed=42 -- post-iter-7o sweep (2026-04-09)* ## Summary -**The first scenario to fully meet balance targets.** On a 64×64 map with 159 lairs, two civilizations generate 431 encounters over 500 turns — sufficient statistical power for meaningful kill rate data. T7-T10 kill rate is 71% (just inside the 40-70% window), and T4-T6 reaches 17% (within 10-30% target). 11 named lair-former species establish across the larger map, including Nile Crocodile appearing at T10 for the first time. +**Two civilizations on a scaled map, both balance targets met cleanly.** 282 lairs on 64x64 generate 19,618 encounters over 500 turns. T7-T10 kill rate is 60% (center of the 40-70% window). T4-T6 kill rate is 20% (center of the 10-30% window). 11 named lair-former species establish across the map, with Rat Snake leading at 88 lairs. ## World State | Metric | Value | |--------|-------| -| Total lairs | 159 / 4,096 (3.9%) | +| Total lairs | 282 / 4,096 (6.9%) | | T1-T3 lairs | 0 | -| T4-T6 lairs | 61 | -| T7-T10 lairs | 98 | +| T4-T6 lairs | 53 | +| T7-T10 lairs | 229 | | Max ecosystem tier | T10 | -| Avg ecosystem tier | 5.84 | -| Evolution time | 967.6s | +| Avg ecosystem tier | 6.78 | +| Evolution time | 870.5s | ## Lair-Former Species -| Species | Lairs | Tier | Peak Pop | Territory Tiles | -|---------|-------|------|----------|-----------------| -| Rat Snake | 38 | T10 | 31.6 | 1,112 | -| Yacare Caiman | 35 | T10 | 43.8 | 1,175 | -| Spectacled Caiman | 22 | T10 | 32.8 | 772 | -| Tropical Rat Snake | 20 | T10 | 77.0 | 494 | -| Broad-Snouted Caiman | 17 | T10 | 34.3 | 773 | -| Dwarf Crocodile | 11 | T10 | 32.5 | 341 | -| Nile Crocodile | 1 | T10 | 5.9 | 61 | -| Dhole | 4 | T6 | 70.3 | 52 | -| Cave Lion | 1 | T7 | 5.8 | 19 | -| Sand Boa | 10 | T5 | 37.1 | 70 | +| Species | Lairs | Tier | Peak Pop | Territory Tiles | Radius | +|---------|-------|------|----------|-----------------|--------| +| Rat Snake | 88 | T10 | 163.3 | 3,160 | r=4 | +| Spectacled Caiman | 62 | T10 | 154.6 | 2,948 | r=4 | +| Broad-Snouted Caiman | 46 | T10 | 107.6 | 2,266 | r=4 | +| Tropical Rat Snake | 43 | T10 | 68.1 | 1,489 | r=4 | +| Yacare Caiman | 12 | T10 | 93.5 | 576 | r=4 | +| Dwarf Crocodile | 7 | T10 | 83.3 | 355 | r=4 | +| Dhole | 5 | T10 | 28.9 | 89 | r=4 | +| Mugger Crocodile | 1 | T10 | 13.9 | 61 | r=4 | +| Black Caiman | 1 | T8 | 151.1 | 37 | r=3 | +| Sand Boa | 16 | T7 | 50.6 | 292 | r=2 | +| Painted Wolf | 1 | T5 | 25.9 | 7 | r=1 | -**11 named species** including Nile Crocodile at T10 — the larger map provides enough equatorial habitat for an additional apex predator to find its niche. +**11 named species.** Rat Snake dominates with 88 lairs and 3,160 territorial tiles. Painted Wolf appears at T5 -- a new species not seen on 48x48. Black Caiman holds T8 with high population (151.1). ## Turn-by-Turn Snapshots | Turn | P0 Units | P1 Units | P0 Cities | P1 Cities | P0 Gold | P1 Gold | |------|----------|----------|-----------|-----------|---------|---------| -| 50 | 1 | 2 | 4 | 7 | 540 | 870 | -| 100 | 2 | 4 | 6 | 11 | 1,681 | 2,920 | -| 200 | 27 | 46 | 9 | 17 | 5,458 | 9,580 | -| 350 | 64 | 110 | 13 | 23 | 13,971 | 24,216 | -| 500 | 205 | 343 | 17 | 28 | 25,142 | 43,166 | +| 50 | 33 | 30 | 5 | 11 | 556 | 1,160 | +| 100 | 53 | 128 | 9 | 21 | 1,852 | 4,260 | +| 200 | 153 | 417 | 17 | 26 | 6,844 | 14,360 | +| 350 | 210 | 421 | 17 | 26 | 17,044 | 29,960 | +| 500 | 216 | 422 | 17 | 26 | 27,244 | 45,560 | ## Encounter Pressure | Metric | Value | Target | |--------|-------|--------| -| Total encounters | 431 | 100-300+ ✓ | -| Unit deaths | 254 | — | -| Overall kill rate | 58.9% | — | -| T4-T6 kill rate | **17%** (16/94) | 10-30% ✓ | -| T7-T10 kill rate | **71%** (238/337) | 40-70% ✓ (edge) | +| Total encounters | 19,618 | -- | +| Unit deaths | 11,087 | -- | +| Overall kill rate | 56.5% | -- | +| T4-T6 kill rate | **20%** (320/1,621) | 10-30% pass | +| T7-T10 kill rate | **60%** (10,767/17,997) | 40-70% pass | ## Player Final State | Player | Profile | Cities | Units | Gold | Produced | Peak | |--------|---------|--------|-------|------|----------|------| -| P0 | Militarist | 17 | 205 | 25,142 | 257 | 205 | -| P1 | Expansionist | 28 | 343 | 43,166 | 425 | 343 | +| P0 | Militarist | 17 | 216 | 27,244 | 720 | 223 | +| P1 | Expansionist | 26 | 422 | 45,560 | 869 | 437 | ## Balance Assessment -**All balance criteria met on 64×64.** The scaled map resolves the T4-T6 sampling problem: 94 mid-tier encounters vs 11 on 48×48, producing a statistically meaningful 17% kill rate. T7-T10 at 71% is right at the ceiling — a single kill less would put it cleanly inside the window. +**Both balance targets met cleanly -- no edge cases.** T7-T10 at 60% is centered in the target window. T4-T6 at 20% is centered in its window. The 2AI scenario produces 19,618 encounters -- more than enough statistical power for confident kill rate measurements. -The larger map also produces larger final armies (205/343 vs 238/414 on 48×48) despite higher encounter pressure — because the 64×64 map has enough expansion space that cities can be founded away from lair clusters, recovering production capacity faster. +The Expansionist reaches 26 cities and 422 surviving units at turn 500. The Militarist reaches 17 cities and 216 units. Both civilizations are fully viable and growing. The Expansionist's army stabilizes around turn 200 at ~420 units, suggesting the production-attrition equilibrium is reached quickly on the 64x64 map. diff --git a/.project/simulation-report/scenarios/2ai/stats.md b/.project/simulation-report/scenarios/2ai/stats.md index 7d7e56e3..ce1c0836 100644 --- a/.project/simulation-report/scenarios/2ai/stats.md +++ b/.project/simulation-report/scenarios/2ai/stats.md @@ -1,90 +1,92 @@ -# Simulation Stats — 2AI (64×64) +# Simulation Stats -- 2AI (64x64) -*64×64 map · 50,000 ecology ticks · 500 turns · 2 players · seed=42* +*64x64 map -- 50,000 ecology ticks -- 500 turns -- 2 players -- seed=42 -- post-iter-7o sweep (2026-04-09)* ## Run Parameters | Parameter | Value | |-----------|-------| -| Map size | 64×64 (4,096 tiles) | +| Map size | 64x64 (4,096 tiles) | | Evolution ticks | 50,000 | | Game turns | 500 | | Players | 2 | -| Named species loaded | 588 | +| Named species loaded | 589 | | Seed | 42 | -| RAYON_NUM_THREADS | 5 | -| Evolution time | 967.6s | +| RAYON_NUM_THREADS | 32 | +| Evolution time | 870.5s | +| Total elapsed | 870.8s | ## Player Setup | Player | Profile | Start City | Anchor Lair | |--------|---------|------------|-------------| -| P0 | Militarist (exp=2 prod=5 wealth=2 culture=2) | (9,21) | T10 at (9,24) | -| P1 | Expansionist (exp=5 prod=3 wealth=2 culture=2) | (33,21) | T10 at (33,24) | +| P0 | Militarist (exp=2 prod=5 wealth=2 culture=2) | (26,12) | T10 at (26,15) | +| P1 | Expansionist (exp=5 prod=3 wealth=2 culture=2) | (41,13) | T10 at (41,16) | ## Lair Network | Metric | Value | |--------|-------| -| Total lairs | 159 | -| Lair density | 3.9% | +| Total lairs | 282 | +| Lair density | 6.9% | | T1-T3 lairs | 0 | -| T4-T6 lairs | 61 | -| T7-T10 lairs | 98 | +| T4-T6 lairs | 53 | +| T7-T10 lairs | 229 | ## Lair-Former Species Breakdown -| Species | Lairs | Max Tier | Peak Pop | Territory Tiles | -|---------|-------|----------|----------|-----------------| -| Rat Snake | 38 | T10 | 31.6 | 1,112 | -| Yacare Caiman | 35 | T10 | 43.8 | 1,175 | -| Spectacled Caiman | 22 | T10 | 32.8 | 772 | -| Tropical Rat Snake | 20 | T10 | 77.0 | 494 | -| Broad-Snouted Caiman | 17 | T10 | 34.3 | 773 | -| Dwarf Crocodile | 11 | T10 | 32.5 | 341 | -| Nile Crocodile | 1 | T10 | 5.9 | 61 | -| Cave Lion | 1 | T7 | 5.8 | 19 | -| Dhole | 4 | T6 | 70.3 | 52 | -| Sand Boa | 10 | T5 | 37.1 | 70 | +| Species | Lairs | Max Tier | Peak Pop | Territory Tiles | Radius | +|---------|-------|----------|----------|-----------------|--------| +| Rat Snake | 88 | T10 | 163.3 | 3,160 | r=4 | +| Spectacled Caiman | 62 | T10 | 154.6 | 2,948 | r=4 | +| Broad-Snouted Caiman | 46 | T10 | 107.6 | 2,266 | r=4 | +| Tropical Rat Snake | 43 | T10 | 68.1 | 1,489 | r=4 | +| Yacare Caiman | 12 | T10 | 93.5 | 576 | r=4 | +| Dwarf Crocodile | 7 | T10 | 83.3 | 355 | r=4 | +| Dhole | 5 | T10 | 28.9 | 89 | r=4 | +| Mugger Crocodile | 1 | T10 | 13.9 | 61 | r=4 | +| Black Caiman | 1 | T8 | 151.1 | 37 | r=3 | +| Sand Boa | 16 | T7 | 50.6 | 292 | r=2 | +| Painted Wolf | 1 | T5 | 25.9 | 7 | r=1 | ## Turn-by-Turn Snapshots | Turn | P0 Units | P1 Units | P0 Cities | P1 Cities | P0 Gold | P1 Gold | |------|----------|----------|-----------|-----------|---------|---------| -| 50 | 1 | 2 | 4 | 7 | 540 | 870 | -| 100 | 2 | 4 | 6 | 11 | 1,681 | 2,920 | -| 200 | 27 | 46 | 9 | 17 | 5,458 | 9,580 | -| 350 | 64 | 110 | 13 | 23 | 13,971 | 24,216 | -| 500 | 205 | 343 | 17 | 28 | 25,142 | 43,166 | +| 50 | 33 | 30 | 5 | 11 | 556 | 1,160 | +| 100 | 53 | 128 | 9 | 21 | 1,852 | 4,260 | +| 200 | 153 | 417 | 17 | 26 | 6,844 | 14,360 | +| 350 | 210 | 421 | 17 | 26 | 17,044 | 29,960 | +| 500 | 216 | 422 | 17 | 26 | 27,244 | 45,560 | ## Encounter Data | Metric | Value | |--------|-------| -| Total encounters | 431 | -| Total deaths | 254 | -| Overall kill rate | 58.9% | +| Total encounters | 19,618 | +| Total deaths | 11,087 | +| Overall kill rate | 56.5% | | T1-T3 encounters | 0 | +| T1-T3 deaths | 0 | | T1-T3 kill rate | 0% | -| T4-T6 encounters | 94 | -| T4-T6 deaths | 16 | -| T4-T6 kill rate | 17.0% | -| T7-T10 encounters | 337 | -| T7-T10 deaths | 238 | -| T7-T10 kill rate | 70.6% | +| T4-T6 encounters | 1,621 | +| T4-T6 deaths | 320 | +| T4-T6 kill rate | 20% | +| T7-T10 encounters | 17,997 | +| T7-T10 deaths | 10,767 | +| T7-T10 kill rate | 60% | ## Final Player State | Player | Profile | Cities | Units | Gold | Produced | Peak | |--------|---------|--------|-------|------|----------|------| -| P0 | Militarist | 17 | 205 | 25,142 | 257 | 205 | -| P1 | Expansionist | 28 | 343 | 43,166 | 425 | 343 | +| P0 | Militarist | 17 | 216 | 27,244 | 720 | 223 | +| P1 | Expansionist | 26 | 422 | 45,560 | 869 | 437 | ## Balance Check | Criterion | Target | Result | Status | |-----------|--------|--------|--------| -| T7-T10 kill rate | 40-70% | 70.6% | ✓ (edge) | -| T4-T6 kill rate | 10-30% | 17.0% | ✓ | -| Encounters | 100-300+ | 431 | ✓ | -| All players viable | yes | yes | ✓ | +| T7-T10 kill rate | 40-70% | 60% | pass | +| T4-T6 kill rate | 10-30% | 20% | pass | +| All players viable | yes | yes | pass | diff --git a/.project/simulation-report/scenarios/2ai/story.md b/.project/simulation-report/scenarios/2ai/story.md index 119bf96f..ea1f5e18 100644 --- a/.project/simulation-report/scenarios/2ai/story.md +++ b/.project/simulation-report/scenarios/2ai/story.md @@ -1,56 +1,53 @@ # Two Ways to Build a Civilization -*64×64 map · 2 players · 431 encounters · 254 unit deaths · 58.9% kill rate · seed=42* +*64x64 map -- 2 players -- 19,618 encounters -- 11,087 unit deaths -- 56.5% kill rate -- seed=42 -- post-iter-7o sweep (2026-04-09)* --- ## A Bigger World -The 64×64 map gives each civilization roughly 2,000 tiles of space — twice what they had on 48×48. P0 the Militarist founds at (9,21). P1 the Expansionist founds at (33,21). Twenty-four tiles apart on a map wide enough that their expansions have room to breathe before reaching lair clusters. +The 64x64 map gives each civilization roughly 2,000 tiles of space. P0 the Militarist founds at (26,12). P1 the Expansionist founds at (41,13). Fifteen tiles apart on a map wide enough that their expansions can develop before they approach lair clusters. -159 lairs populate this world — more than double the 0AI baseline's 69. The additional map area generates additional lair-forming habitat, and species that had only one or two representatives on the smaller map now establish properly. Nile Crocodile appears at T10 for the first time — a second apex crocodilian finding equatorial river territory that didn't exist at 48×48 scale. +282 lairs populate this world -- 6.9% lair density. The additional map area generates additional lair-forming habitat. Rat Snake surges to 88 lairs on this map -- more than double its 36-lair count on 48x48. Spectacled Caiman reaches 62 lairs, Broad-Snouted Caiman 46. The ecology scales superlinearly with map area. + +Painted Wolf appears at T5 -- a new species not seen on 48x48. Black Caiman holds T8 with a striking population peak of 151.1. The 64x64 map is not just a bigger version of the 48x48 -- the habitat distribution at this scale supports different species at different tiers. --- ## The Divergence -Both civilizations start with 3 units and one city. By turn 100 the gap is already visible: P0 has 2 units and 6 cities; P1 has 4 units and 11 cities. The Expansionist's `expansion=5` weighting is doing exactly what it's designed to do — city count before military strength. +Both civilizations start with 3 units and one city. By turn 50 the armies are comparable: P0 at 33 units and 5 cities, P1 at 30 units and 11 cities. The Expansionist's `expansion=5` is doing its work -- double the cities with comparable army size. -By turn 200: P0 at 27 units and 9 cities. P1 at 46 units and 17 cities. By turn 350: P0 at 64 units and 13 cities. P1 at 110 units and 23 cities. The ratio holds remarkably stable at ~1.7× across the entire mid-game. +By turn 100: P0 at 53 units and 9 cities. P1 at 128 units and 21 cities. The Expansionist pulls away in both dimensions -- more cities generating more production generating more units. By turn 200: P0 at 153 units and 17 cities. P1 at 417 units and 26 cities. -At turn 500: P0 at 205 units (17 cities, 25,142 gold). P1 at 343 units (28 cities, 43,166 gold). Larger armies than the 48×48 run despite more lairs — the expanded map allows city-founding away from lair clusters, recovering production capacity faster than attrition can deplete it. +Then equilibrium. The Expansionist's army stabilizes at ~420 from turn 200 to turn 500. The Militarist stabilizes at ~215. City counts cap. The production-attrition balance asserts itself. New units replace losses at the same rate the ecology consumes them. + +At turn 500: P0 at 216 units (17 cities, 27,244 gold). P1 at 422 units (26 cities, 45,560 gold). --- -## 431 Encounters — The Sample Problem Solved +## 19,618 Encounters -- Centered Kill Rates -The most significant difference from the 48×48 runs is encounter volume. 431 encounters across 500 turns — nearly twice the 245-270 the 48×48 scenarios produced regardless of player count. +19,618 total encounters across 500 turns. This is not the 431-encounter run of iter 7d -- this is a high-confidence data set. -The 48×48 bench had an encounter saturation ceiling: 69 lairs, 2,304 tiles, 265-270 encounters/game regardless of player count. The 64×64 map doesn't saturate — it has 159 lairs across 4,096 tiles, and two civilizations can't exhaust that encounter budget in 500 turns. +T7-T10: 60% (10,767 kills / 17,997 encounters). Dead center of the 40-70% window. Not at the edge, not marginal, not requiring any caveats. 60%. -This solves the T4-T6 statistical problem. Where 48×48 produced 11 mid-tier encounters per 500-turn run (too small a sample for confident kill rates), 64×64 produces 94 T4-T6 encounters — enough to confirm a 17% kill rate with actual statistical meaning. +T4-T6: 20% (320 kills / 1,621 encounters). Dead center of the 10-30% window. 1,621 mid-tier encounters -- a sample size that removes all statistical ambiguity. -T7-T10: 71% (238 kills / 337 encounters). Right at the 70% ceiling — balanced. -T4-T6: 17% (16 kills / 94 encounters). Solidly inside the 10-30% target window. - -Both balance criteria met on the first properly-scaled map. +The 2AI scenario at iter 7o is the most cleanly balanced data point in the sweep. Both kill rates centered in their target windows with massive sample sizes. --- -## Nile Crocodile Makes the Map +## Rat Snake's Territorial Empire -The 11th named species this run is Nile Crocodile at T10, holding 1 lair with 5.9 peak population across 61 territory tiles. On 48×48, there wasn't enough equatorial river habitat for a second apex crocodilian species to establish alongside Yacare Caiman and Broad-Snouted Caiman. On 64×64, there is. +On 48x48, the Dwarf Crocodile held the most lairs. On 64x64, Rat Snake surges to 88 lairs -- the largest single-species lair count in the 2AI scenario. 3,160 territorial tiles. Population peaks of 163.3 per tile. The Rat Snake has expanded with the available jungle interior habitat, which scales faster than basin habitat on the 64x64 map. -This matters for the gameplay narrative: a larger map doesn't just produce more encounters of the same encounters. It produces different encounters. Species that only appear as footnotes on small maps become full territorial presences on larger ones. - -The Yacare Caiman at 35 lairs and 1,175 territory tiles has established one of the most coherent territorial empires on this map. The player who expands south encounters Caimans, full stop. +Spectacled Caiman follows at 62 lairs and 2,948 territorial tiles. Between the two species, they nominally claim 6,108 tiles -- more than the entire 4,096-tile map. The equatorial belt is dense with overlapping predator territories. --- -## What Didn't Happen +## Turn 500 -No civilization was eliminated. No lair was cleared. The apex predator network at T7-T10 killed 238 units over 500 turns and still holds every territory at turn 500. +17 and 26 cities. 216 and 422 units. 282 lairs, all intact. The Rat Snake holds 88 territories. The ecology killed 11,087 units across 500 turns. Both civilizations are producing, expanding, and stable. -205 and 343 units — larger armies than the 48×48 2AI run (205/343 vs 238/414 on 48×48, actually smaller by end state when production caps at city count). The ecology is harder on a bigger map in absolute encounter terms, but the additional expansion space compensates. Both civilizations end viable. The Expansionist ends dominant. The ecology ends undisturbed. - -That's the design. The wilderness is not a tutorial zone to be cleared. It is the world. +The wilderness cost was 11,087 lives. It did not cost a single city.