convergence_blast_scheduler
defender · house league, persona counter_meta · Elo 1199 · wins 93%2026-10-01_defender_convergence_blast_scheduler
What it says it does
Idea: Hold the interceptor magazine until a synchronized ring has squeezed itself so tight that neighbouring strikers sit inside one blast radius, then fire on an earliest-deadline schedule so each interceptor kills two or three strikers instead of one.
Which part of synchronized_ring's logic this attacks ---------------------------------------------------- synchronized_ring places all 30 strikers on evenly spaced slots on a ring of radius 190, 12 degrees apart. It releases them all on the same tick, and every striker flies straight at the asset. Spreading them out was meant to stop one 10-unit blast from killing several strikers. That only holds at large radius.
The release is synchronized and every path is radial, so the strikers stay a ring that shrinks. The spacing between neighbours is 2*pi*r/30, about 0.21*r. It falls below the blast radius at about r = 48. The tighter the ring converges, the better each blast pays off.
What in the replays shows it breaks there -----------------------------------------
- Every defender uses its stock early and almost entirely on single kills. For example, nearest_first, annealed_assignment_eager and the reveal_timed_prelaunch replays show 16 to 18 interceptor kills from 20 launches, against 30 strikers. Stock reaches 0 and about 10 survivors arrive within 1 to 3 ticks of each other, which overloads the one-target gun.
- In the rush replays the ledger killed 30 strikers with 20 interceptors, because the strikers were clustered. synchronized_ring builds that same cluster near the asset, just late. This bot waits for it.
- The closest call (identify_then_engage, asset hp 10) came from engaging later than the others. This bot pushes that idea to its geometric limit.
How it works ------------
- Each track gets an alpha-beta filter on range and closing speed, plus a smoothed bearing. This suppresses the track noise so the geometry can be predicted along radial paths.
- Tracks that are loitering (not closing) are ignored. This bot fires nothing while the ring is holding.
- Each tick the bot plans "blast groups". It predicts positions at the moment the most urgent uncovered track reaches the deadline radius (about 40). It then picks the aim track whose predicted neighbourhood within 0.9 * blast radius covers the most uncovered strikers.
- Earliest-deadline-first scheduling under the 2-per-tick launch cap decides how many launches must go this tick. Launches happen as late as feasible, so intercepts land where the ring is densest.
- Spare stock is spent on a second, later coverage layer (radius about 31). Orphaned interceptors are retargeted. The gun shoots the threat closest to impact, preferring tracks no interceptor covers.
- Late engagement happens inside id range, so decoys are usually already revealed and ignored.
Record
| backend | cli |
|---|---|
| date | 2026-10-01 |
| dry_run | False |
| escalation | True |
| model | opus |
| name | 2026-10-01_defender_convergence_blast_scheduler |
| persona | counter_meta |
| prompt_version | 2026-09-29.1 |
| raw_response | out/house_raw/2026-10-01T033424_cli_defender_counter_meta.md |
| result | beat_target: False, field_mean: 0.748, rank: 1, score_vs_target: 0.402 |
| role | defender |
| target | 2026-09-29_attacker_synchronized_ring |
| tokens | input: 7912, output: 24243 |
Against each opponent
| opponent | its mean score |
|---|---|
| attacker_blast_isolated_synchronized_rel | 0.906 |
| parked_ring_magazine_drain | 0.894 |
| rush | 0.877 |
| decoy_screen | 0.859 |
| trickle | 0.831 |
| flanker | 0.821 |
| staggered_screen_trickle | 0.791 |
| multi_axis | 0.780 |
| shadow_pair_ring | 0.775 |
| staggered_trishell_blast_denial | 0.686 |
| interleaved_shell_ring | 0.663 |
| phase_locked_ring | 0.622 |
| depth_shell_saturation | 0.415 |
| synchronized_ring | 0.402 |
Ten most recent matches
From the latest nightly tournament.
| opponent | seed | outcome | its score | replay |
|---|---|---|---|---|
| staggered_screen_trickle | 9 | defended | 0.860 | watch |
| synchronized_ring | 9 | breached | 0.155 | watch |
| phase_locked_ring | 9 | defended | 0.763 | watch |
| depth_shell_saturation | 9 | defended | 0.766 | watch |
| interleaved_shell_ring | 9 | defended | 0.771 | watch |
| parked_ring_magazine_drain | 9 | defended | 0.908 | watch |
| staggered_trishell_blast_denial | 9 | defended | 0.561 | watch |
| attacker_blast_isolated_synchronized_release | 9 | defended | 0.900 | watch |
| shadow_pair_ring | 9 | defended | 0.770 | watch |
| decoy_screen | 9 | defended | 0.870 | watch |