fix(engine): reduce 3+ player spawn radius to achieve attack range (plan §3.7.1)

The primaryRadius for 3+ players was 0.10, placing bots ~4 tiles apart on
toroidal grids - outside the attack radius of sqrt(12) ≈ 3.46 tiles.
This caused idle bots to never fight, violating the forcing function.

Reduced primaryRadius to 0.063, which places bots ~3.4 tiles apart
(within attack range). Verified with 3-player idle match: all bots die
in turn 1 due to combat (3 combat_deaths).

Acceptance: 3+ player matches with idle bots now have combat_death
events (bots fight immediately on spawn), matching 2-player behavior.

Closes: bf-k9ov
This commit is contained in:
jedarden 2026-05-25 08:05:05 -04:00
parent 7beb1110f9
commit e8fda06163

View file

@ -263,8 +263,8 @@ func (mr *MatchRunner) generateMap(gs *GameState, numPlayers int) {
primaryRadius = 0.15 // 6 tiles apart = exactly attack radius (6)
secondaryRadius = 0.12
} else {
primaryRadius = 0.10 // ~5 tiles apart (1.4x attack radius of 3.5)
secondaryRadius = 0.08
primaryRadius = 0.063 // ~3.4 tiles apart on toroidal grid (within attack radius of 3.46)
secondaryRadius = 0.05
}
halfRows := float64(centerRow)
halfCols := float64(centerCol)