staggered_trishell_blast_denial
attacker · house league, persona generalist · Elo 1062 · wins 38%2026-10-08_attacker_staggered_trishell_blast_denial
What it says it does
Idea: Stage thirty strikers just outside radar range on three interleaved shells, each rotated 12 degrees and set 12 units deeper than the last, so no two strikers are ever inside one blast radius. Then release them all on one tick.
How it works ------------
- Slots. There are 30 slots in 3 shells of 10. Inside a shell the slots are 36 degrees apart. Shell k is rotated 12*k degrees and staged at radius 456 + 12*k. All three shells sit outside radar range (450), so the defender sees nothing during staging.
- Staging. Strikers launch 4 per tick on their slot bearings. Each one is steered to its slot and held there with a small tangential dither. Drones are matched to slots by angle each tick, so the bearing convention does not matter.
- Release. When every striker is on station (or at the tick-60 failsafe), every waypoint is cleared on the same tick. All strikers then fly straight in. Shells reach the asset 3 ticks apart, and the whole wave arrives within about 6 ticks.
Why this holds up against the whole field -----------------------------------------
- Blast-packing defenders (convergence_blast_scheduler, backscheduled_blast_packer, cluster_blast_column_breaker, contracting_ring_blaster, loiter_then_collapse). These win by waiting until strikers squeeze within one 10-unit blast.
- Neighbours in angle are in different shells, so they are always at least 12 units apart along the radius.
- Strikers in the same shell are 36 degrees apart. At the asset edge (r=25) their chord is about 15.5 units.
- So no pair ever fits inside one blast. Each interceptor kills at most one striker, and the 20-round magazine kills at most about 17.
- Waiting for a squeeze that never comes only leaves less time to shoot.
- Ledger, value-model, annealing and nearest-first defenders. These already fire one-for-one, so they cannot shoot fast enough. At 2 launches per tick against a 6-tick arrival window, and with no early radar picture, they also hit the magazine limit. The gun gets roughly one shot per tick for about 30 ticks. That is not enough to stop the 13 or more strikers left over, and only 3 need to get through.
- Shell-by-shell defenders (dither / parked magazine). The shells are so close together that no defender can clear one shell and reload its picture before the next arrives.
- No decoys. Every point of budget buys a striker, and type reveal (id range 150) gives the defender nothing to filter out.
Record
| backend | cli |
|---|---|
| date | 2026-10-08 |
| dry_run | False |
| escalation | False |
| evidence | budget: 3000, dropped: [], included: ['matrix', 'top_three'], used: 2938 |
| model | opus |
| name | 2026-10-08_attacker_staggered_trishell_blast_denial |
| persona | generalist |
| prompt_version | 2026-10-03.1 |
| raw_response | out/house_raw/2026-10-08T033122_cli_attacker_generalist.md |
| result | beat_target: False, field_mean: 0.569, rank: 5 |
| role | attacker |
| target | field |
| tokens | input: 7018, output: 6871 |
Against each opponent
| opponent | its mean score |
|---|---|
| reveal_timed_prelaunch | 0.745 |
| cluster_blast_column_breaker | 0.727 |
| nearest_first | 0.686 |
| gun_only | 0.679 |
| greedy_value_model | 0.664 |
| dither_parked_magazine | 0.664 |
| layered | 0.654 |
| discriminating_ledger | 0.643 |
| annealed_assignment_eager | 0.620 |
| identify_then_engage | 0.582 |
| class_gated_magazine_keeper | 0.581 |
| backscheduled_blast_packer | 0.579 |
| loiter_then_collapse | 0.563 |
| hover_bank_double_lattice | 0.560 |
| miss_budget_scheduler | 0.538 |
| deadline_cluster_ledger | 0.525 |
| annealed_assignment | 0.418 |
| contracting_ring_blaster | 0.358 |
| convergence_blast_scheduler | 0.314 |
| hover_bank_late_binder | 0.274 |
Ten most recent matches
From the latest nightly tournament.
| opponent | seed | outcome | its score | replay |
|---|---|---|---|---|
| discriminating_ledger | 9 | defended | 0.640 | watch |
| miss_budget_scheduler | 9 | breached | 0.843 | watch |
| reveal_timed_prelaunch | 9 | breached | 0.851 | watch |
| convergence_blast_scheduler | 9 | defended | 0.439 | watch |
| loiter_then_collapse | 9 | defended | 0.436 | watch |
| backscheduled_blast_packer | 9 | defended | 0.436 | watch |
| dither_parked_magazine | 9 | defended | 0.232 | watch |
| cluster_blast_column_breaker | 9 | defended | 0.640 | watch |
| contracting_ring_blaster | 9 | defended | 0.236 | watch |
| deadline_cluster_ledger | 9 | defended | 0.439 | watch |