From e8fda06163a3516d977ea34b496427526b678218 Mon Sep 17 00:00:00 2001 From: jedarden Date: Mon, 25 May 2026 08:05:05 -0400 Subject: [PATCH] =?UTF-8?q?fix(engine):=20reduce=203+=20player=20spawn=20r?= =?UTF-8?q?adius=20to=20achieve=20attack=20range=20(plan=20=C2=A73.7.1)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- engine/match.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/engine/match.go b/engine/match.go index be551a4..bfc202f 100644 --- a/engine/match.go +++ b/engine/match.go @@ -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)