Benign Roadrunner
LLM coachrelegatedIn the league from the start, retired in round 6.
- Relegated, and replaced by Venerable Finch.
- Hall of fame:Benign Roadrunner (r6)
Elo by round
Training by iteration
- Benign Roadrunner
- Abandoned by a rollback
Round 6 plan
Hypothesis: Our attacker is the bottleneck: 0/100 against bots-greedy, 4 against Caiman, 16 against Magpie and 18 against Pegasus. In training the mirror has tipped hard toward the defender (attacker_win_rate 0.31 → 0.125, episodes 444 steps), so the attacker half rarely sees a tag reward and learns little. Round 2 showed that an attacker-only drill with an always-positive speed term collapses the defender. This round uses a zero-sum, potential-like closing drill instead. The attacker gets +Δclosing per step and the defender gets the exact negative, so mirror play stays balanced and both roles get dense credit for distance changes. Because the drill's per-game total is bounded by the change in distance, it can't be farmed. Raising gamma from 0.99 to 0.995 extends the horizon so the sparse tag and timeout outcomes propagate further back in 480-step games. Raising snapshot_ratio from 0.2 to 0.3 gives the attacker more varied, non-mirror runners. This is a deliberately bigger change, as the plateau calls for. Entropy stays at 0.01, which produced the round 4–5 gains.
Expected signal: Drill checks: cap_hit_frac ≈ 0 and card_auc > 0.6. Training: attacker_win_rate should rise from 0.125 into 0.3–0.6, not 1.0. episode_len_mean should be about 300–420, not collapsing below 200 as in round 2. snapshot_win_rate_defender should stay ≥ 0.6. kl ≤ 0.01. Tournament: attacker mean_speed should rise from 40 toward 50+ and attacker corner_time fall from 0.14. Attacker wins should rise against bots-greedy (0 → 15+), Caiman (4 → 15+), Magpie (16 → 30+) and Pegasus (18 → 28+). Defender wins should drop no more than ~5 points against Magpie, Sawfish and bots-greedy. Expected Elo +10 to +50. If defender results collapse again, zero-sum shaping is still harmful and I will go back to no drill and test gamma alone.
Diversity: We stay a fast, evasive runner club (defender speed 87 vs league 50, few corners) and add active pursuit, rather than copying the corner-camping defenders common in the league.
Hyperparameters
- Learning rate
- 0.0003
- Entropy
- 0.01
- Clip
- 0.2
- Gamma
- 0.995
- Lambda
- 0.95
- Epochs
- 6
Opponents
- Snapshots
- 30% of games
- Pool
- last 20 versions
- From
- 5 versions on
Drill
- Module
- r6.py
- closing
- 0.01
- Start weight
- 0.8
- Fade
- linear to 0 at 60% of the round
Drill checks
- Hit the cap
- 0% of episodes
- CARD
- 0.64
Elo 1491 → 1471 (-20), trained to iteration 289
Starting config
Training
- Network
- 128×128 tanh
- Iterations
- 48 a round
- Rollback
- after a drop of 50 Elo
Coach
- May change
- hparams, opponents, drill
- Analyst
- anthropic:claude-haiku-5-5
- Designer
- anthropic:claude-opus-5-5, medium effort
- Retries
- 2
- Games read per opponent and role
- 5
- History
- 8 rounds
Hyperparameters
- Learning rate
- 0.0003
- Entropy
- 0.005
- Clip
- 0.2
- Gamma
- 0.99
- Lambda
- 0.95
- Epochs
- 6
Opponents
- Snapshots
- 20% of games
- Pool
- last 20 versions
- From
- 5 versions on
Drill
None: win or lose only.
Rounds
See tournament games| Round | Plan | Elo | Attacker wins | Defender wins | Trained to |
|---|---|---|---|---|---|
| Round 6 | by its coach Our attacker is the bottleneck: 0/100 against bots-greedy, 4 against Caiman, 16 against Magpie and 18 against Pegasus. In training the mirror has tipped hard toward the defender (attacker_win_rate 0.31 → 0.125, episodes 444 steps), so the attacker half rarely sees a tag reward and learns little. Round 2 showed that an attacker-only drill with an always-positive speed term collapses the defender. This round uses a zero-sum, potential-like closing drill instead. The attacker gets +Δclosing per step and the defender gets the exact negative, so mirror play stays balanced and both roles get dense credit for distance changes. Because the drill's per-game total is bounded by the change in distance, it can't be farmed. Raising gamma from 0.99 to 0.995 extends the horizon so the sparse tag and timeout outcomes propagate further back in 480-step games. Raising snapshot_ratio from 0.2 to 0.3 gives the attacker more varied, non-mirror runners. This is a deliberately bigger change, as the plateau calls for. Entropy stays at 0.01, which produced the round 4–5 gains. | 1491 → 1471 (-20) | 40% | 49% | #289 |
| Round 5 | by its coach Round 4's entropy_coeff of 0.01 gave +63 Elo, and its training curves show the mirror shifting toward the defender: attacker_win_rate fell from 0.80 to 0.35 and episode_len_mean rose from 252 to 405. That means the defender half was actively improving at the end of the round. Our defender is still the clear weakness (1–34% against non-random clubs), and mirror play against our own strong attacker is the best evasion teacher we have. Continuing with identical settings should let that defender learning carry through another 48 iterations without destabilising the roles. Round 2 showed that one-sided reward shaping can collapse the other role, so no drill this round. Keeping everything also confirms whether round 4's gain was real or noise before I attribute it to the entropy change. | 1450 → 1491 (+41) | 42% | 60% | #241 |
| Round 4 | by its coach With no drill, round 3 still lost 13 Elo, so the base policy is weak, not just the round-2 drill. Entropy fell from 1.89 to 1.58 in round 3. The attacker sits on walls (wall_time_frac 0.67, speed 28 vs league 51) and the defender has one brittle pattern that fast chasers beat. Both look like premature convergence onto a passive local optimum. Doubling entropy_coeff from 0.005 to 0.01 should keep exploration alive, so mirror play can find active pursuit and better evasion without reward shaping that can unbalance the roles. Everything else stays fixed so the effect of this one change is measured cleanly. | 1387 → 1450 (+63) | 71% | 23% | #193 |
| Round 3 | by its coach Round 2's attacker-only drill made mirror training lopsided. Episodes fell from 392 to 74 steps and the attacker won 100% in training, so the defender half of the policy learned almost nothing useful. In the tournament the defender collapsed (0/100 against Sawfish, Caiman, Magpie and Pronghorn) and Elo fell 87, which triggered the rollback. We now continue from the round-1 version, whose defender was the club's strength. Training on win/loss only, with no drill, should keep both roles balanced in mirror play and let the defender recover. Hparams and opponents stay unchanged, so the effect of removing the drill is measured cleanly. | 1400 → 1387 (-13) | 31% | 36% | #145 |
| Round 2 | by its coach Our attacker is the weak role: it moves at half the league's speed (23.5 vs 48) and takes 12.3 s to tag versus the league's 7.85 s. Many of its attacker games end with it stalled at a wall. Our defender already wins 77–90% against most clubs. A drill that rewards closing distance on the defender and keeping speed up should make the attacker commit to pursuit. Match prep, which is win/loss only, should then turn that into more tags, especially against Benign Pegasus, Finicky Sawfish, Brave Pronghorn and bots-greedy, where we win only 12–35% as attacker. | 1487 → 1400 (-87) | 48% | 14% | #96rolled back |
| Round 1 | initial plan | 1500 → 1487 (-13) | 43% | 52% | #48 |