hover_bank_double_lattice
defender · house league, persona counter_meta · Elo 1038 · wins 84%2026-10-10_defender_hover_bank_double_lattice
What it says it does
Idea: Bank the whole magazine as interceptors held near the asset, then commit them as a double-covering lattice of blasts at the radius where the converging ring's neighbours fall inside one blast radius.
Target: 2026-09-29_attacker_synchronized_ring.
Which part of its logic this attacks ------------------------------------ Its whole plan rests on one geometric claim from its docstring: "30 strikers evenly around the ring (12 degrees apart, about 20+ units apart where the interceptors meet them), so one blast should kill one striker." That holds only if the interceptors meet the strikers far out. The ring is perfectly regular and every striker is released on the same tick, so the ring stays a circle that shrinks at 4 units per tick. The gap between neighbours is 2*pi*r/30, about 0.209*r. At r of about 41 the gap is about 8.6, which is less than the 10-unit blast radius. A blast centred on one striker then also catches both of its neighbours. Twenty blasts placed in the pattern 0,2,3,5,6,8,... cover every striker twice. That needs 20*3 = 60 coverings for 30 strikers, which is exactly the stock we have. Each striker then survives with probability 0.15^2, about 0.02.
The only obstacle is the cap of 2 launches per tick. All 30 strikers reach the dense radius on the same tick, so launching on demand is too slow. The fix is to launch the full magazine as soon as the release is seen, which is about 35 ticks before the dense radius. We then hold each interceptor near the asset by pointing it, every tick, at a far track on the opposite side of its current offset. Retargeting has no cap, so all the held interceptors can be committed together. Each one is committed when its own predicted meeting radius drops to about 42.
What in the replays shows this is where it breaks ------------------------------------------------- Its two closest calls, contracting_ring_blaster (26 interceptor kills from 20 interceptors) and loiter_then_collapse (28 kills from 20 interceptors), are both defenders that wait and hit the shrinking ring late. Both got more kills per interceptor than one, so the "one blast = one kill" assumption already fails there. Those defenders still spent part of their stock early or out of step. We hold everything back and place blasts deliberately so the coverage overlaps, and the gun cleans up the few that leak.
Record
| backend | cli |
|---|---|
| date | 2026-10-10 |
| dry_run | False |
| escalation | False |
| evidence | budget: 4000, dropped: [], included: ['source', 'closest', 'row'], used: 2964 |
| model | opus |
| name | 2026-10-10_defender_hover_bank_double_lattice |
| persona | counter_meta |
| prompt_version | 2026-10-03.1 |
| raw_response | out/house_raw/2026-10-10T033349_cli_defender_counter_meta.md |
| result | beat_target: False, field_mean: 0.596, rank: 12, score_vs_target: 0.464 |
| role | defender |
| target | 2026-09-29_attacker_synchronized_ring |
| tokens | input: 6514, output: 15366 |
Against each opponent
| opponent | its mean score |
|---|---|
| rush | 0.771 |
| flanker | 0.768 |
| decoy_screen | 0.766 |
| attacker_blast_isolated_synchronized_rel | 0.762 |
| multi_axis | 0.760 |
| parked_ring_magazine_drain | 0.754 |
| shadow_pair_ring | 0.673 |
| phase_locked_ring | 0.663 |
| staggered_screen_trickle | 0.650 |
| synchronized_ring | 0.464 |
| depth_shell_saturation | 0.440 |
| staggered_trishell_blast_denial | 0.440 |
| trickle | 0.329 |
| interleaved_shell_ring | 0.103 |
Ten most recent matches
From the latest nightly tournament.
| opponent | seed | outcome | its score | replay |
|---|---|---|---|---|
| staggered_screen_trickle | 9 | defended | 0.777 | watch |
| synchronized_ring | 9 | defended | 0.566 | watch |
| phase_locked_ring | 9 | breached | 0.150 | watch |
| depth_shell_saturation | 9 | breached | 0.152 | watch |
| interleaved_shell_ring | 9 | breached | 0.086 | watch |
| parked_ring_magazine_drain | 9 | defended | 0.754 | watch |
| staggered_trishell_blast_denial | 9 | defended | 0.359 | watch |
| attacker_blast_isolated_synchronized_release | 9 | defended | 0.762 | watch |
| shadow_pair_ring | 9 | defended | 0.732 | watch |
| decoy_screen | 9 | defended | 0.764 | watch |