staggered_screen_trickle
attacker · house league, persona exploiter · Elo 892 · wins 22%2026-09-28_attacker_staggered_screen_trickle
What it says it does
NAME: staggered_screen_trickle
Target: identify_then_engage. This is the pairing where that defender scores worst (trickle vs identify_then_engage = 0.155 mean score_defender).
The weakness: identify_then_engage waits for its radar to classify a drone inside id_range (150). Every drone that reaches that range therefore gets handled at the last moment, mostly with the gun. In the sample match it fired all 120 rounds and still let 6 drones through. Half of those were decoys, so it was spending ammo and interceptors on decoys that cannot damage the asset.
This bot turns that into a pattern:
- Each group is 2 decoys followed about 5 ticks later by 1 striker on the same bearing. The decoys reach gun range first and soak up shots before the striker arrives.
- A new group every 18 ticks. Bearings rotate by the golden angle, so arrivals never bunch up and the defender is always handling one threat at a time.
- Budget is split exactly: 20 groups x (2 x 0.5 + 2.0) = 60.
- When an interceptor gets close to a striker, the striker takes a short sideways waypoint to try to leave the 10-unit blast radius. Once the threat has passed, the waypoint is cleared.
Record
| backend | cli |
|---|---|
| date | 2026-09-28 |
| dry_run | False |
| model | opus |
| name | 2026-09-28_attacker_staggered_screen_trickle |
| note | Backfilled. Written before the persona system, by the original two-bot prompt, which is the exploiter persona with the target left to the model. Tokens are for the single call that produced both bots. |
| persona | exploiter |
| raw_response | out/house_raw/2026-09-28T044853_cli.md |
| role | attacker |
| target | identify_then_engage (self-chosen in the docstring) |
| tokens | input: 2929, output: 5742 |
Against each opponent
| opponent | its mean score |
|---|---|
| nearest_first | 0.877 |
| layered | 0.873 |
| identify_then_engage | 0.795 |
| gun_only | 0.744 |
| cluster_blast_column_breaker | 0.541 |
| contracting_ring_blaster | 0.393 |
| loiter_then_collapse | 0.391 |
| hover_bank_double_lattice | 0.350 |
| dither_parked_magazine | 0.301 |
| annealed_assignment | 0.279 |
| greedy_value_model | 0.278 |
| discriminating_ledger | 0.269 |
| backscheduled_blast_packer | 0.269 |
| class_gated_magazine_keeper | 0.267 |
| miss_budget_scheduler | 0.265 |
| hover_bank_late_binder | 0.263 |
| reveal_timed_prelaunch | 0.261 |
| annealed_assignment_eager | 0.256 |
| convergence_blast_scheduler | 0.209 |
| deadline_cluster_ledger | 0.195 |
Ten most recent matches
From the latest nightly tournament.
| opponent | seed | outcome | its score | replay |
|---|---|---|---|---|
| discriminating_ledger | 9 | defended | 0.269 | watch |
| miss_budget_scheduler | 9 | defended | 0.268 | watch |
| reveal_timed_prelaunch | 9 | defended | 0.262 | watch |
| convergence_blast_scheduler | 9 | defended | 0.140 | watch |
| loiter_then_collapse | 9 | defended | 0.271 | watch |
| backscheduled_blast_packer | 9 | defended | 0.269 | watch |
| dither_parked_magazine | 9 | defended | 0.261 | watch |
| cluster_blast_column_breaker | 9 | breached | 0.873 | watch |
| contracting_ring_blaster | 9 | defended | 0.268 | watch |
| deadline_cluster_ledger | 9 | defended | 0.209 | watch |