Flexible Caimanround 9

In UTC 9: Elo 1617 → 1629 (+12), winning 53% as attacker and 75% as defender.

Plan

by its coach

Hypothesis: The attacker still hovers: speed 40.5 against a league 62.8, 5.0 direction changes per second, 0/100 against greedy and 2/100 against Classy Cat. Round 8's no_stall term cut stalling in training (about -48 per episode) but did not carry over to the tournament. The pursue term is signed-squared, so at the attacker's typical speed of about 40 it pays almost nothing (p≈0.14, pursue≈0.04). There is no gradient leading from slow creeping to fast committed chasing: only the already-fast regime earns reward, and the policy never reaches it. Replacing it with a linear approach term gives every bit of extra speed toward the defender a proportional reward, starting from zero speed. A new 'steady' term penalises reversing the velocity direction between steps while moving, which targets the jitter that keeps the ball from accelerating. Diagonal commitment toward the defender is the main way to reach top speed. Commit (anti-brake) stays, close stays, and no_stall is kept at a lower weight because the linear approach term now carries that gradient. Defender terms, hparams and opponents are unchanged, so the result can be attributed to the attacker drill.

Expected signal: Training: attacker approach per episode (unweighted) above round 8's pursue level, steady near 0, and mirror attacker_win_rate up from 0.44 to 0.5-0.55 while episode_len_mean falls from 369 to about 330-350. Tournament attacker: mean_speed up from 40.5 to 50+, direction changes down from 5.0 toward 4.0, mean_distance down from 125 to about 115. Attacker wins: greedy from 0 to 8+, Pegasus from 15 to 22+, Finch from 7 to 12+, Sawfish 38 to 45. Defender results stay at 85+ against greedy, Magpie and Pronghorn. Elo +10 to +35, no rollback. card_auc above 0.8, cap_hit_frac below 0.05.

Diversity: No charter. The club stays a strong open-field runner: highest defender speed, lowest corner time. It is building a committed, accelerating chaser rather than copying Finch's style. The drill keeps our own runner-shaped defender terms.

Hyperparameters

Learning rate
0.0003
Entropy
0.01
Clip
0.2
Gamma
0.997
Lambda
0.97
Epochs
6

Opponents

Snapshots
40% of games
Pool
last 20 versions
From
5 versions on

Drill

Module
r9.py
close
0.35
approach
0.0018
steady
0.001
commit
0.001
no_stall
0.0008
escape
0.4
pinned
0.002
no_freeze
0.0015
alive
0.0002
Start weight
1
Fade
linear to 0 at 55% of the round

Drill checks

Hit the cap
0% of episodes
CARD
0.98

Elo 1617 → 1629 (+12), trained to iteration 433

Coach turn

After this round's tournament, the coach wrote the round 10 plan.

Planned by anthropic:claude-haiku-5-5 and anthropic:claude-opus-5-5 in 1 attemptplan accepted