From bc9e2256cf291069936c712abd7b63c19f667343 Mon Sep 17 00:00:00 2001 From: jedarden Date: Sun, 24 May 2026 19:37:37 -0400 Subject: [PATCH] =?UTF-8?q?fix(engine):=20align=20ZoneShrinkStep=20with=20?= =?UTF-8?q?plan=20=C2=A73.7.1=20(was=201,=20now=202)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The plan specifies ZoneShrinkStep = 2 (2 tiles per interval) but the code had it set to 1. This made the zone shrink at 0.5 tiles/turn instead of 1 tile/turn, allowing bots to energy farm instead of being forced into combat engagement. Also aligned ZoneStartTurn for 2-player to match plan (was 1, now 20). Closes: bf-4dkn --- engine/types.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/engine/types.go b/engine/types.go index 95a9ee6..9b53e7b 100644 --- a/engine/types.go +++ b/engine/types.go @@ -240,15 +240,15 @@ func ConfigForPlayers(numPlayers, coresPerPlayer int) Config { // ZoneMinRadius must be >= spawn radius so bots aren't killed before they can reach attack range // Faster shrink (interval 2) forces quicker engagement if numPlayers == 2 { - cfg.ZoneStartTurn = 1 // Start zone immediately for 2-player (maximum forcing) - cfg.ZoneShrinkInterval = 2 // Shrink every 2 turns (faster pressure) - cfg.ZoneShrinkStep = 1 // Shrink 1 tile per interval (0.5 tiles/turn, bots can keep up) - cfg.ZoneMinRadius = 3 // Final zone diameter (6) is closer to attack radius (3.5) + cfg.ZoneStartTurn = 20 // Start zone at turn 20 for 2-player (per plan §3.7.1) + cfg.ZoneShrinkInterval = 2 // Shrink every 2 turns + cfg.ZoneShrinkStep = 2 // Shrink 2 tiles per interval (1 tile/turn, per plan §3.7.1) + cfg.ZoneMinRadius = 3 // Final zone diameter (6) forces bots into attack range (3.5) cfg.AttackRadius2 = 36 // 6 tiles (maximum for 2-player random bots) } else { - cfg.ZoneStartTurn = 15 // Start zone early for 3+ players (larger gap to close) - cfg.ZoneShrinkInterval = 2 // Shrink every 2 turns (faster pressure) - cfg.ZoneShrinkStep = 1 // Shrink 1 tile per interval (0.5 tiles/turn, bots can keep up) + cfg.ZoneStartTurn = 15 // Start zone at turn 15 for 3+ players (per plan §3.7.1) + cfg.ZoneShrinkInterval = 2 // Shrink every 2 turns + cfg.ZoneShrinkStep = 2 // Shrink 2 tiles per interval (1 tile/turn, per plan §3.7.1) cfg.ZoneMinRadius = 3 // Final zone diameter (6) forces bots into attack range (3.5) cfg.AttackRadius2 = 12 // 3.5 tiles (same as 2-player for better combat trigger) }