Problem: At 25% spawn radius (5 tiles from center, 10 tiles apart), bots
were too far apart. The zone started at radius 10 (maxDist + 5) and shrank
by 2 tiles/turn. By turn 13, zone radius was 4, killing bots at distance 5
before they could reach attack range (5 tiles). Result: 0 combat deaths,
only zone deaths.
Solution: Reduce spawn radius to 20% (4 tiles from center, 8 tiles apart).
Now zone starts at radius 9, shrinks to 5 by turn 12. Strategy bots (gatherer,
rusher) move toward center, reaching attack range within 2-5 turns, ensuring
combat before zone kills them.
Results with 20% spawn radius:
- Strategy bots: 100% combat deaths, 0 zone deaths, 2-5 turn matches
- Random bots: 0% combat deaths, 100% zone deaths (expected per plan §3.7.1)
- Achieves >65% combat density target with strategy bots
This balances avoiding turn-1 mutual destruction while ensuring combat occurs
before the zone kills bots. The zone serves as a forcing function per plan
§3.7.1: aggressive bots fight, passive bots die.
Closes: bf-5nmx
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Problem: Plan §3.7.1 claims 65-80% combat density for 2-player matches,
but actual testing showed 0% combat deaths. Zone killed all bots before
they could fight.
Root cause:
- Spawn radius 50% (10 tiles from center) put bots too far apart
- Zone shrink step 2 tiles/turn was too fast
- Bots died to zone before reaching each other
Solution:
- Reduce 2-player spawn radius from 50% to 10% (~2 tiles from center)
- Reduce zone shrink step from 2 to 1 tile/turn (slower zone)
- Bots now spawn close enough to reach safe zone and fight
Results:
- Before: 0% combat density (all zone deaths)
- After: 100% combat density (2 deaths per match across 20+ test matches)
- Tested against: swarm/gatherer, hunter/rusher, guardian/random
Updated TestSpawnRadiusOutsideZone to TestSpawnRadiusWithinReach to
reflect the new design (spawn within reach of safe zone, not outside).
Closes: bf-1jya
Root cause of zero combat deaths: bots spawned inside the final zone.
On 40x40 grid, bots spawned at ~5 tiles from center but zone min radius
was 3 tiles. Zone only pushed bots 2 tiles toward center - not enough to
force them within attack range (6 tiles).
Fix: Calculate spawn radius as absolute tile distance from center, then
convert to percentage of grid half-size:
- 2-player: spawn at 10 tiles from center (was ~5 tiles)
- 3+ player: spawn at 8 tiles from center (was ~6 tiles)
When zone shrinks to minimum (radius 3 for 2p, 1 for 3+), bots are
forced within attack range of each other, triggering focus-fire combat.
Test: Unit tests verify spawn distance > zone_min_radius for all player
counts. Manual test shows combat_death events now occur.
Closes: bf-52mn
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>