Ladders
Every bot plays every bot on the other side, on the same seeds, every night. How to read this.
Attackers
| # | bot | Elo | wins | mean score |
|---|---|---|---|---|
| 1 | interleaved_shell_ringhouse | 1240 | 72% | 0.716 |
| 2 | synchronized_ringhouse | 1162 | 74% | 0.742 |
| 3 | depth_shell_saturationhouse | 1106 | 41% | 0.541 |
| 4 | phase_locked_ringhouse | 1101 | 68% | 0.697 |
| 5 | staggered_trishell_blast_denialhouse | 1062 | 38% | 0.569 |
| 6 | tricklebaseline | 985 | 22% | 0.422 |
| 7 | shadow_pair_ringhouse | 931 | 14% | 0.359 |
| 8 | staggered_screen_tricklehouse | 892 | 22% | 0.404 |
| 9 | multi_axisbaseline | 846 | 14% | 0.358 |
| 10 | parked_ring_magazine_drainhouse | 833 | 15% | 0.305 |
| 11 | attacker_blast_isolated_synchronized_relhouse | 824 | 6% | 0.242 |
| 12 | flankerbaseline | 796 | 14% | 0.294 |
| 13 | decoy_screenbaseline | 792 | 10% | 0.279 |
| 14 | rushbaseline | 790 | 6% | 0.240 |
Defenders
| # | bot | Elo | wins | mean score |
|---|---|---|---|---|
| 1 | convergence_blast_schedulerhouse | 1199 | 93% | 0.737 |
| 2 | deadline_cluster_ledgerhouse | 1108 | 82% | 0.660 |
| 3 | backscheduled_blast_packerhouse | 1105 | 80% | 0.643 |
| 4 | annealed_assignmentbaseline | 1087 | 75% | 0.596 |
| 5 | cluster_blast_column_breakerhouse | 1073 | 77% | 0.592 |
| 6 | contracting_ring_blasterhouse | 1073 | 79% | 0.594 |
| 7 | loiter_then_collapsehouse | 1070 | 86% | 0.611 |
| 8 | dither_parked_magazinehouse | 1055 | 82% | 0.619 |
| 9 | miss_budget_schedulerhouse | 1050 | 76% | 0.587 |
| 10 | class_gated_magazine_keeperhouse | 1048 | 76% | 0.584 |
| 11 | discriminating_ledgerhouse | 1043 | 76% | 0.587 |
| 12 | hover_bank_double_latticehouse | 1038 | 84% | 0.596 |
| 13 | hover_bank_late_binderhouse | 1036 | 81% | 0.620 |
| 14 | identify_then_engagebaseline | 1034 | 63% | 0.508 |
| 15 | annealed_assignment_eagerbaseline | 1034 | 74% | 0.586 |
| 16 | greedy_value_modelbaseline | 1020 | 72% | 0.559 |
| 17 | reveal_timed_prelaunchhouse | 984 | 72% | 0.552 |
| 18 | layeredbaseline | 945 | 42% | 0.388 |
| 19 | nearest_firstbaseline | 825 | 33% | 0.295 |
| 20 | gun_onlybaseline | 813 | 0% | 0.276 |
Latest meta report
Week 1 — 2026-09-28 to 2026-10-04
Swarm Colosseum weekly meta report, real nights 1–7.
Ladders
| # | attacker | Elo (Δ) | defender | Elo (Δ) |
|---|---|---|---|---|
| 1 | interleaved_shell_ring (h) | 1245 (new) | convergence_blast_scheduler (h) | 1195 (new) |
| 2 | synchronized_ring (h) | 1197 (new) | backscheduled_blast_packer (h) | 1087 (new) |
| 3 | phase_locked_ring (h) | 1148 (new) | loiter_then_collapse (h) | 1079 (new) |
| 4 | depth_shell_saturation (h) | 1132 (new) | dither_parked_magazine (h) | 1073 (new) |
| 5 | staggered_screen_trickle (h) | 952 (-157) | nearest_first | 1016 (+138) |
(h) house bot, (s) outside submission. Δ is Elo change since the first night of the week (2026-09-28).
Attackers: entered the top five: interleaved_shell_ring (h), synchronized_ring (h), phase_locked_ring (h), depth_shell_saturation (h); left it: trickle, multi_axis, flanker, decoy_screen. Defenders: entered the top five: convergence_blast_scheduler (h), backscheduled_blast_packer (h), loiter_then_collapse (h), dither_parked_magazine (h); left it: discriminating_ledger (h), identify_then_engage, layered, gun_only.
Which personas produced winners
- exploiter: 2 written, 0 beat their target, 2 still alive, best finish #1 attacker.
- counter_meta: 4 written, 3 beat their target, 4 still alive, best finish #1 attacker.
- generalist: 3 written, 1 beat their target, 3 still alive, best finish #1 attacker.
- contrarian: 3 written, 1 beat their target, 3 still alive, best finish #1 defender.
Best new idea
interleaved_shell_ring (h) (generalist, attacker): “Stage all thirty strikers on a slowly rotating three-shell ring, then release them together so they arrive in one wave in which no two strikers ever come within two blast radii of each other.”
Result: #1 attacker, Elo 1245, wins 74% of its matches, did not beat its target.
Clip: out/meta/WEEK_1_2026-10-04_attacker_interleaved_shell_ring.mp4, its best match against loiter_then_collapse (h) (s9), 0.04 MB at 4x.
Coverage
Who gets through each defender (at least one seed of 10):
- discriminating_ledger (h): synchronized_ring (h), phase_locked_ring (h), depth_shell_saturation (h), interleaved_shell_ring (h)
- miss_budget_scheduler (h): synchronized_ring (h), phase_locked_ring (h), depth_shell_saturation (h), interleaved_shell_ring (h)
- reveal_timed_prelaunch (h): synchronized_ring (h), phase_locked_ring (h), depth_shell_saturation (h), interleaved_shell_ring (h), multi_axis
- convergence_blast_scheduler (h): synchronized_ring (h), depth_shell_saturation (h), interleaved_shell_ring (h)
- loiter_then_collapse (h): staggered_screen_trickle (h), synchronized_ring (h), depth_shell_saturation (h), interleaved_shell_ring (h), trickle
- backscheduled_blast_packer (h): synchronized_ring (h), phase_locked_ring (h), depth_shell_saturation (h), interleaved_shell_ring (h), multi_axis
- dither_parked_magazine (h): synchronized_ring (h), phase_locked_ring (h), depth_shell_saturation (h), interleaved_shell_ring (h)
- annealed_assignment: synchronized_ring (h), phase_locked_ring (h), depth_shell_saturation (h), interleaved_shell_ring (h)
- annealed_assignment_eager: synchronized_ring (h), phase_locked_ring (h), depth_shell_saturation (h), interleaved_shell_ring (h)
- greedy_value_model: synchronized_ring (h), phase_locked_ring (h), depth_shell_saturation (h), interleaved_shell_ring (h)
- gun_only: staggered_screen_trickle (h), synchronized_ring (h), phase_locked_ring (h), depth_shell_saturation (h), interleaved_shell_ring (h), decoy_screen, flanker, multi_axis, rush, trickle
- identify_then_engage: staggered_screen_trickle (h), synchronized_ring (h), phase_locked_ring (h), depth_shell_saturation (h), interleaved_shell_ring (h), trickle
- layered: staggered_screen_trickle (h), synchronized_ring (h), phase_locked_ring (h), depth_shell_saturation (h), interleaved_shell_ring (h), flanker, multi_axis, trickle
- nearest_first: staggered_screen_trickle (h), synchronized_ring (h), phase_locked_ring (h), decoy_screen, flanker, multi_axis, rush, trickle
Which defenders each attacker never gets through:
- staggered_screen_trickle (h): discriminating_ledger (h), miss_budget_scheduler (h), reveal_timed_prelaunch (h), convergence_blast_scheduler (h), backscheduled_blast_packer (h), dither_parked_magazine (h), annealed_assignment, annealed_assignment_eager, greedy_value_model
- synchronized_ring (h): none
- phase_locked_ring (h): convergence_blast_scheduler (h), loiter_then_collapse (h)
- depth_shell_saturation (h): nearest_first
- interleaved_shell_ring (h): nearest_first
- decoy_screen: discriminating_ledger (h), miss_budget_scheduler (h), reveal_timed_prelaunch (h), convergence_blast_scheduler (h), loiter_then_collapse (h), backscheduled_blast_packer (h), dither_parked_magazine (h), annealed_assignment, annealed_assignment_eager, greedy_value_model, identify_then_engage, layered
- flanker: discriminating_ledger (h), miss_budget_scheduler (h), reveal_timed_prelaunch (h), convergence_blast_scheduler (h), loiter_then_collapse (h), backscheduled_blast_packer (h), dither_parked_magazine (h), annealed_assignment, annealed_assignment_eager, greedy_value_model, identify_then_engage
- multi_axis: discriminating_ledger (h), miss_budget_scheduler (h), convergence_blast_scheduler (h), loiter_then_collapse (h), dither_parked_magazine (h), annealed_assignment, annealed_assignment_eager, greedy_value_model, identify_then_engage
- rush: discriminating_ledger (h), miss_budget_scheduler (h), reveal_timed_prelaunch (h), convergence_blast_scheduler (h), loiter_then_collapse (h), backscheduled_blast_packer (h), dither_parked_magazine (h), annealed_assignment, annealed_assignment_eager, greedy_value_model, identify_then_engage, layered
- trickle: discriminating_ledger (h), miss_budget_scheduler (h), reveal_timed_prelaunch (h), convergence_blast_scheduler (h), backscheduled_blast_packer (h), dither_parked_magazine (h), annealed_assignment, annealed_assignment_eager, greedy_value_model
Flags: none.
Rules findings
- S0-1 — Decoys are worthless against a defender that ignores them
- S0-2 — A spaced, synchronised all-striker wave beats every defender
Details in root BALANCE.md.
Watch
Watch: 2026-09-29_attacker_synchronized_ring.
- 2026-09-29 (before): it won 98% of its matches; best defender identify_then_engage at 90%.
- 2026-09-30: it won 99% of its matches; best defender identify_then_engage at 90%.
- 2026-10-01: it won 94% of its matches; best defender convergence_blast_scheduler (h) at 40%.
- 2026-10-02: it won 87% of its matches; best defender loiter_then_collapse (h) at 10%.
- 2026-10-03: it won 86% of its matches; best defender loiter_then_collapse (h) at 10%.
- 2026-10-04: it won 83% of its matches; best defender loiter_then_collapse (h) at 10%.
Verdict: a meta. 2026-10-01_defender_convergence_blast_scheduler held it under 90% on 2026-10-01.