fix(engine): correct 2-player spawn radius to 25% per plan §3.7.1

Previous spawn radius of 10% (2 tiles from center) put bots only 4 tiles
apart on a 40x40 grid - within the 5-tile attack radius. Bots killed each
other immediately on turn 1 instead of being forced together by the zone.

New spawn radius of 25% (10 tiles from center, 20 tiles apart) puts bots
outside attack range. The zone forcing function now works as designed:
bots start apart, zone shrinks over time, and combat occurs when bots are
forced into contact range.

Verification:
- rusher vs rusher: combat deaths on turn 3 after moving into range
- rusher vs gatherer: combat deaths on turn 6
- Zone activates at turn 10, shrinks by 2 tiles/turn to min radius 2

Closes: bf-4qg4

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
jedarden 2026-05-25 14:02:33 -04:00
parent f50a275c7e
commit f664c93966

View file

@ -275,7 +275,7 @@ func (mr *MatchRunner) generateMap(gs *GameState, numPlayers int) {
var primaryRadius, secondaryRadius float64
if numPlayers == 2 {
primaryRadius = 0.10 // ~2 tiles from center on 40x40 grid (~4 tiles apart)
primaryRadius = 0.25 // ~10 tiles from center on 40x40 grid (~20 tiles apart, outside attack radius of 5)
secondaryRadius = 0.08 // ~1-2 tiles from center (closer to center for additional cores)
} else {
primaryRadius = 0.10 // ~5 tiles from center on 50x50 grid