fix(evolver): use ConfigForPlayers for 2-player matches per plan §3.4

The evolver arena was using DefaultConfig() which has attack_radius2=12
for all matches. Per plan §3.4, 2-player matches should have
attack_radius2=36 (6 tiles) to achieve 65-80% combat density.

This bug caused evolved bots to learn energy-farming strategies since
enemies were rarely in attack range on 40x40 maps with only 3.5 tile
radius. With the correct 6-tile radius, bots will experience actual
combat during evolution and should develop fighting behaviors.

Closes: bf-3lt3

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
jedarden 2026-05-24 22:35:15 -04:00
parent fec7721129
commit 1478a9365c

View file

@ -283,7 +283,7 @@ func (a *Arena) runMatch(ctx context.Context, candidateURL string, opp BotRecord
matchID := fmt.Sprintf("eval-%d", time.Now().UnixNano())
mr := engine.NewMatchRunner(
engine.DefaultConfig(),
engine.ConfigForPlayers(2, 2), // 2-player match, 2 cores per player per plan §3.4
engine.WithTimeout(a.cfg.BotTimeout),
engine.WithRNG(rand.New(rand.NewSource(a.rng.Int63()))),
)