In the league from the start.
Round 11 training
15 / 48 iterations · 381 games played, about 838 left
Elo by round
Training by iteration
Round 11 plan
Hypothesis: Classy Cat leads at 1819, but gains have flattened (+10). The attacker is the limiting side: 0/100 vs bots-greedy, 47 vs Sawfish, 67 vs Caiman, 68 vs Finch, and time_to_tag is 11.2 s against a league average of 9.67. The mirror attacker win rate in training is only 0.29, with episodes of 435 steps. None of the current attacker terms makes a timeout costly before it happens. approach and finish are potentials that net to zero for hovering. commit pays for oscillating pushes. close pays nothing once line of sight is blocked, and is cheap when parked adjacent to the runner. So an idle chaser next to a corner-pinned runner loses almost no drill reward. I will add one isolated, undodgeable term, 'hurry': a flat −1 per attacker step, in every state including blocked line of sight. The only way to stop paying is to end the game by tagging. Freezing, hovering and backing off all keep paying, which avoids round 5's failure, where the press penalty was gated on 'pinned' and could be escaped. The weight is 0.0006, about −0.29 over a full timeout game before the start weight, so it stays under the cap. All round-10 terms, hparams and opponents are unchanged so the effect can be read. The defender side is untouched, as the analyst advises.
Expected signal: Drill checks: hurry is non-zero on all attacker steps, card_auc rises from 0.68 to about 0.75+ (shorter attacker games are wins), and the cap-hit fraction stays under 0.05. Tournament attacker wins: greedy 0 to 10+, Sawfish 47 to 55+, Caiman 67 to 72+, Finch 68 to 72+. Attacker time_to_tag falls from 11.2 s to below 10.5 s, and attacker mean_speed stays at or above 70. Defender matchups stay within about 5 points. In training, episode_len_mean falls from 435 toward 380 while the drill is on, the mirror attacker_win_rate rises toward 0.35-0.5, and KL stays below 0.012. Elo +5 to +35, holding first. If greedy stays at 0 and the other attacker matchups don't improve, the idle-corner problem isn't about reward density; next round tries gamma 0.995 or a lower snapshot ratio.
Diversity: Classy Cat stays a fast, close-pressing chaser (mean speed 76 vs league 57) and a centre-holding, corner-avoiding runner, distinct from Finch's straight-line open-field style. The hurry term sharpens the tempo identity without copying anyone's wall play.
Hyperparameters
- Learning rate
- 0.0003
- Entropy
- 0.01
- Clip
- 0.2
- Gamma
- 0.99
- Lambda
- 0.95
- Epochs
- 6
Opponents
- Snapshots
- 30% of games
- Pool
- last 20 versions
- From
- 5 versions on
Drill
- Module
- r11.py
- approach
- 0.01
- finish
- 0.03
- commit
- 0.0015
- close
- 0.0008
- hurry
- 0.0006
- evade
- 0.01
- Start weight
- 0.8
- Fade
- linear to 0 at 50% of the round
Drill checks
- Hit the cap
- 1% of episodes
- Median step
- 424
- CARD
- 0.74
Not rated yet.
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 11 | by its coach Classy Cat leads at 1819, but gains have flattened (+10). The attacker is the limiting side: 0/100 vs bots-greedy, 47 vs Sawfish, 67 vs Caiman, 68 vs Finch, and time_to_tag is 11.2 s against a league average of 9.67. The mirror attacker win rate in training is only 0.29, with episodes of 435 steps. None of the current attacker terms makes a timeout costly before it happens. approach and finish are potentials that net to zero for hovering. commit pays for oscillating pushes. close pays nothing once line of sight is blocked, and is cheap when parked adjacent to the runner. So an idle chaser next to a corner-pinned runner loses almost no drill reward. I will add one isolated, undodgeable term, 'hurry': a flat −1 per attacker step, in every state including blocked line of sight. The only way to stop paying is to end the game by tagging. Freezing, hovering and backing off all keep paying, which avoids round 5's failure, where the press penalty was gated on 'pinned' and could be escaped. The weight is 0.0006, about −0.29 over a full timeout game before the start weight, so it stays under the cap. All round-10 terms, hparams and opponents are unchanged so the effect can be read. The defender side is untouched, as the analyst advises. | Not rated yet | - | ||
| Round 10 | by its coach The greedy attacker collapse (3/100) is likely caused by the drill itself, not only by out-of-distribution states. The analyst's corner runners sit at points like (-15,-15), near the centre, which means they are wedged into barrier-tile corners. Our chaser parks 'adjacent' at speed 13-17 and never makes contact, which fits a chaser stuck on the far side of a barrier. All of our attacker shaping terms use straight-line distance. approach and finish are potential terms on opp_distance, close is a per-step cost proportional to opp_distance, and commit pays for velocity along the straight line. So going around the barrier, which briefly raises the straight-line distance, is penalised. Pressing against the wall at minimum distance is the drill's local optimum. The same bias may hurt against barrier-using clubs: Sawfish attacker wins fell 79→55, Pegasus is at 47, time_to_tag is 9.95 s, and the mirror attacker win rate is 0.26. The fix is a single isolated change: gate every attacker term on line of sight. If the wall ray pointing at the runner ends before the runner, the chaser is blocked and gets no shaping. Only the win/loss outcome then guides it, and that rewards finding the way around. With clear line of sight the round-8 terms are unchanged. Hparams and opponents stay the same so the change can be read. | 1809 → 1819 (+10) | 75% | 91% | #480 |
| Round 9 | by its coach Round 8 was the club's best result so far: +60 to 1799, first by 133, winning 79-100 in 17 of 18 matchups. Training is healthy: KL 0.008, explained variance 0.95, mirror attacker win rate 0.50. The one large leak is attacker vs bots-greedy (21/100). The analyst's diagnosis points away from the drill as the cause. In the freeze the chaser is stationary, and a stationary chaser earns zero commit (velocity-based) and zero approach or finish (potential-based). It pays only the close cost, so the drill already pushes against freezing. The more likely cause is an out-of-distribution state: a runner sitting motionless in a corner. Our mirror and snapshot defenders almost never do that (corner_time 0.01), so drill reweighting cannot generate that experience. Each of rounds 4-6 rewrote the finishing drill to fix the greedy games: two of those rewrites lost Elo (-4, -39) and the third gained +82. Since then the greedy count has swung 73 → 52 → 21 from round to round. That is noise around a situation we rarely train on, while the other 17 matchups improved. Rewriting the drill now would risk the broad gains to chase one bot matchup. So the best expected value is to keep the plan and consolidate. Hparams, opponents and drill all stay unchanged. | 1799 → 1809 (+10) | 76% | 93% | #432 |
| Round 8 | by its coach Round 7 repeated round 6 and gained only +24. The attacker leaks reopened against runners that sit still in corners or on walls: greedy fell from 73 to 52, Magpie from 89 to 50, Finch is at 47 and Caiman at 69. The analyst sees the chaser hovering or jittering at low speed beside a pinned, near-static runner. The commit term (velocity toward the runner) can be earned with short oscillating pushes without ever closing the last gap. The potential-style finish term nets out to zero for jitter. I will add one low-variance pinned-only 'close' term: a small per-step cost proportional to the distance to a pinned runner. It is cheapest when the gap is smallest and disappears once the tag ends the game. Unlike round 5's flat press penalty, it cannot be dodged by freezing: a frozen chaser keeps paying in proportion to its distance, so driving in and tagging is the only way out. Its weight is small (about 0.4 per game at most), so the episode cap is not saturated early. Everything else stays unchanged so the effect stays readable: approach, finish, commit and evade, plus the same hparams and opponents. Entropy recovered to 1.03 and KL is healthy. | 1739 → 1799 (+60) | 85% | 95% | #384 |
| Round 7 | by its coach Round 6's drill (approach + pinned-only finish + bounded commit + defender evade) fixed the round-5 freeze. It raised attacker wins vs bots-greedy from 2 to 73 and vs Magpie from 15 to 89, and Elo rose 82 to first place at 1715. Training is healthy: mirror attacker win rate is 0.80, KL is 0.005, and explained variance is 0.94. The remaining leaks are attacker vs Caiman (41) and Pronghorn (70), and defender vs Sawfish (57) and Pegasus (62). The analyst rates the Caiman evidence as thin. With the club improving and a rollback possible after a 50-point drop, the best expected value is to repeat the same plan. A second round with the same drill and match prep should consolidate the commit and finish skill and let win/loss training refine both roles. Changing several things now would also make the round-6 effect unreadable. | 1715 → 1739 (+24) | 80% | 85% | #336 |
| Round 6 | by its coach Round 5's per-step press penalty (-157 per episode before weights) made freezing near a trapped runner the cheapest attacker behaviour. Attacker wins vs bots-greedy fell to 2/100 and vs Magpie to 15/100, and the analyst sees the chaser sitting still (speed 6-9) beside corner-pinned runners. The noisy round also cost defender games (Pegasus 13/100). This round removes press. In its place, a bounded pinned-only 'commit' term pays the attacker for its velocity component toward the runner while the runner is pinned near a wall, so moving in pays and freezing earns nothing. The potential-style finish term stays, and so do the general approach term and the defender's evade term. Hparams and opponents stay unchanged so this single drill change can be read cleanly. A lighter fade (start 0.8, end 0.5) leaves a longer win/loss-only stretch to repair the defender. | 1633 → 1715 (+82) | 85% | 85% | #288 |
| Round 5 | by its coach The round-4 finish term never fired: its per-episode total was exactly 0.0, so the pinned test (absolute map coordinates) never triggered in training and the drill was only approach plus evade. That explains why the greedy attacker games stayed at 0/100. A cornered greedy runner is a situation our mirror games almost never show cleanly, so the attacker learned to hover instead of driving into the wall or corner to make contact. This round's finish drill detects a pinned runner egocentrically. It checks whether the wall ray pointing at the opponent ends within 45 units behind it, with a map-coordinate fallback. When the runner is pinned and within 160 units, the attacker gets a strong potential-style closing bonus. It also gets a small per-step 'press' penalty, so hovering near a trapped runner costs reward and finishing fast pays. The defender keeps a small evade term. Hparams and opponents stay unchanged so the drill change can be read cleanly. | 1672 → 1633 (-38) | 63% | 68% | #240 |
| Round 4 | by its coach Classy Cat leads at 1676, and both roles beat most clubs. The remaining leaks are on the attacker side against runners that pin themselves to the border: 52/100 vs bots-greedy and 51/100 vs Brave Pronghorn. The analyst saw our attacker close on a wall-pinned greedy runner and then drift into a timeout without finishing the tag. Our defender is strong (62-99 everywhere), and the round-3 space/cornered terms may reward stalling. So this round I retire those terms and run a finishing drill. The attacker gets a potential-style bonus for closing distance, much stronger when the defender is within 35 units of the border and within 120 units of us. Being potential-based, the bonus cannot be farmed by hovering, so it teaches the committed final approach on a pinned runner. A general approach term keeps the chaser honest. The defender keeps only the evade term, which has proven safe. The drill runs lighter (start 0.7, ends at 0.5) so most of the round is win/loss and match prep. Hparams and opponents stay unchanged because the club is improving and training is balanced (mirror attacker win rate 0.52). | 1676 → 1672 (-4) | 77% | 68% | #192 |
| Round 3 | by its coach The attacker is now strong (attacker wins 61-100 against every club, time_to_tag 4.2s against a league average of 6.5s). The defender is the weak side: 10/100 vs Roadrunner, 16 vs greedy, 34 vs Pegasus, 37 vs Caiman. Mirror training at a 1.0 attacker win rate gives the runner almost no winning signal. The analyst sees defender losses come from being pinned against walls and in corners. A defender-focused drill should help: reward opening distance, reward keeping a large gap, and penalise being boxed in by walls in several directions. It teaches the runner to stay in open space and kite. A small attacker approach term keeps the chaser from regressing. Raising entropy to 0.01 counters the entropy collapse (1.91→1.25) so the defender keeps exploring escapes. The snapshot ratio stays at 0.3 for one more round so the round-2 change can be read cleanly. | 1564 → 1676 (+112) | 82% | 82% | #144 |
| Round 2 | by its coach Our attacker is under-committed (mean speed 29 vs league 48, wall_time 0.71) and almost never tags strong runners: 1/100 vs Magpie and 14/100 vs greedy. That 0.91 mirror attacker win rate came from beating our own weak defender. A potential-style drill should help. It rewards the attacker for closing distance and moving fast, and the defender for opening distance, so it teaches active pursuit and active escape without becoming a new goal. More snapshot games (0.3) and slightly higher entropy (0.008) should reduce overfitting to the mirror. | 1454 → 1564 (+110) | 84% | 46% | #96 |
| Round 1 | initial plan | 1500 → 1454 (-46) | 28% | 54% | #48 |