@@ -7,6 +7,7 @@ date-added: 2025-11-04T16:58:27.268231Z
77players: 2+
88language: Java
99split: test
10+ ladder: true
1011
1112** What is RoboCode?**
1213RoboCode (Tank Royale) is a programming game where your code is the tank. You write Java programs that control tanks in a deterministic, turn-based arena, making real-time decisions about movement, aiming, and firing.
@@ -20,6 +21,197 @@ Outlast all other tanks in the arena. Destroy opponents with well-aimed shots wh
2021** What makes it challenging?**
2122Success requires balancing movement, targeting, and radar control. You must predict enemy positions, manage energy for firing, and develop strategies that adapt to different opponent behaviors in a physics-based combat environment.
2223
24+ <h2 id =" cc-ladder " >🪜 CC:Ladder</h2 >
25+
26+ > See [ Introducing CC: Ladder ] ( /insights/20260115_human_ai_ladder/ ) for the full format and motivation.
27+
28+ The ladder is built from ** 115 open-source human robots** , imported from ~ 30 public classic-Robocode repositories and hosted as ` human/* ` branches on [ CodeClash-ai/RoboCode] ( https://github.com/CodeClash-ai/RoboCode/branches ) . To rank them, we run a round-robin over all ` 115 * 114 / 2 = 6,555 ` unique pairs at 100 simulations each, then fit a Bradley-Terry model to the pairwise win matrix via maximum likelihood with L2 regularization (strength 0.01, base Elo 1200, slope 400). RoboCode battles are decisive &mdash ; the median winner takes ~ 89% of the score share and only ~ 7% of pairs finish within 55/45 &mdash ; so 100 sims settle each matchup as reliably as far larger counts.
29+
30+ <div class =" ladder-stats " ><div class =" ladder-stat " ><span class =" ladder-stat-num " >115</span ><span class =" ladder-stat-label " >human bots</span ></div ><div class =" ladder-stat " ><span class =" ladder-stat-num " >-257– ; 2,757</span ><span class =" ladder-stat-label " >Elo range</span ></div ><div class =" ladder-stat " ><span class =" ladder-stat-num " >1,252</span ><span class =" ladder-stat-label " >median Elo</span ></div ><div class =" ladder-stat " ><span class =" ladder-stat-num " >3,014</span ><span class =" ladder-stat-label " >spread</span ></div ></div >
31+
32+ The 115 bots span ** -257&ndash ; 2,757 Elo** &mdash ; a 3,014-point spread &mdash ; in a broad, roughly bell-shaped field with no runaway leader. Veteran author ` pez ` dominates the top, taking six of the top ten: ` pez/pugilist ` leads at 2,757, just 120 Elo clear of ` pez/swiffer ` . Half the field sits between 708 and 1,723, while the reference sample tanks shipped with Robocode (` robo_code/* ` ) scatter across the lower half &mdash ; from ` walls ` near the median down to ` sittingduck ` at the floor &mdash ; before a thin tail trails to -257.
33+
34+ <figure class =" ladder-figure " >
35+ <svg viewBox =" 0 0 680 250 " role =" img " aria-label =" Histogram of robots Elo ratings " preserveAspectRatio =" xMidYMid meet " >
36+ <line class =" grid " x1 =" 46 " y1 =" 210.0 " x2 =" 664 " y2 =" 210.0 " />
37+ <text class =" tick " x =" 38 " y =" 214.0 " text-anchor =" end " >0</text >
38+ <line class =" grid " x1 =" 46 " y1 =" 146.0 " x2 =" 664 " y2 =" 146.0 " />
39+ <text class =" tick " x =" 38 " y =" 150.0 " text-anchor =" end " >5</text >
40+ <line class =" grid " x1 =" 46 " y1 =" 82.0 " x2 =" 664 " y2 =" 82.0 " />
41+ <text class =" tick " x =" 38 " y =" 86.0 " text-anchor =" end " >10</text >
42+ <line class =" grid " x1 =" 46 " y1 =" 18.0 " x2 =" 664 " y2 =" 18.0 " />
43+ <text class =" tick " x =" 38 " y =" 22.0 " text-anchor =" end " >15</text >
44+ <path class =" bar " d =" M47.5,210.0 L47.5,175.6 Q47.5,171.6 51.5,171.6 L79.1,171.6 Q83.1,171.6 83.1,175.6 L83.1,210.0 Z " ><title >-257 to -69 Elo: 3 bots</title ></path >
45+ <path class =" bar " d =" M86.1,210.0 L86.1,162.8 Q86.1,158.8 90.1,158.8 L117.8,158.8 Q121.8,158.8 121.8,162.8 L121.8,210.0 Z " ><title >-69 to 120 Elo: 4 bots</title ></path >
46+ <path class =" bar " d =" M124.8,210.0 L124.8,137.2 Q124.8,133.2 128.8,133.2 L156.4,133.2 Q160.4,133.2 160.4,137.2 L160.4,210.0 Z " ><title >120 to 308 Elo: 6 bots</title ></path >
47+ <path class =" bar " d =" M163.4,210.0 L163.4,111.6 Q163.4,107.6 167.4,107.6 L195.0,107.6 Q199.0,107.6 199.0,111.6 L199.0,210.0 Z " ><title >308 to 496 Elo: 8 bots</title ></path >
48+ <path class =" bar " d =" M202.0,210.0 L202.0,137.2 Q202.0,133.2 206.0,133.2 L233.6,133.2 Q237.6,133.2 237.6,137.2 L237.6,210.0 Z " ><title >496 to 685 Elo: 6 bots</title ></path >
49+ <path class =" bar " d =" M240.6,210.0 L240.6,60.4 Q240.6,56.4 244.6,56.4 L272.2,56.4 Q276.2,56.4 276.2,60.4 L276.2,210.0 Z " ><title >685 to 873 Elo: 12 bots</title ></path >
50+ <path class =" bar " d =" M279.2,210.0 L279.2,98.8 Q279.2,94.8 283.2,94.8 L310.9,94.8 Q314.9,94.8 314.9,98.8 L314.9,210.0 Z " ><title >873 to 1,062 Elo: 9 bots</title ></path >
51+ <path class =" bar " d =" M317.9,210.0 L317.9,124.4 Q317.9,120.4 321.9,120.4 L349.5,120.4 Q353.5,120.4 353.5,124.4 L353.5,210.0 Z " ><title >1,062 to 1,250 Elo: 7 bots</title ></path >
52+ <path class =" bar " d =" M356.5,210.0 L356.5,34.8 Q356.5,30.8 360.5,30.8 L388.1,30.8 Q392.1,30.8 392.1,34.8 L392.1,210.0 Z " ><title >1,250 to 1,438 Elo: 14 bots</title ></path >
53+ <path class =" bar " d =" M395.1,210.0 L395.1,86.0 Q395.1,82.0 399.1,82.0 L426.8,82.0 Q430.8,82.0 430.8,86.0 L430.8,210.0 Z " ><title >1,438 to 1,627 Elo: 10 bots</title ></path >
54+ <path class =" bar " d =" M433.8,210.0 L433.8,22.0 Q433.8,18.0 437.8,18.0 L465.4,18.0 Q469.4,18.0 469.4,22.0 L469.4,210.0 Z " ><title >1,627 to 1,815 Elo: 15 bots</title ></path >
55+ <path class =" bar " d =" M472.4,210.0 L472.4,98.8 Q472.4,94.8 476.4,94.8 L504.0,94.8 Q508.0,94.8 508.0,98.8 L508.0,210.0 Z " ><title >1,815 to 2,004 Elo: 9 bots</title ></path >
56+ <path class =" bar " d =" M511.0,210.0 L511.0,162.8 Q511.0,158.8 515.0,158.8 L542.6,158.8 Q546.6,158.8 546.6,162.8 L546.6,210.0 Z " ><title >2,004 to 2,192 Elo: 4 bots</title ></path >
57+ <path class =" bar " d =" M549.6,210.0 L549.6,162.8 Q549.6,158.8 553.6,158.8 L581.2,158.8 Q585.2,158.8 585.2,162.8 L585.2,210.0 Z " ><title >2,192 to 2,380 Elo: 4 bots</title ></path >
58+ <path class =" bar " d =" M588.2,210.0 L588.2,188.4 Q588.2,184.4 592.2,184.4 L619.9,184.4 Q623.9,184.4 623.9,188.4 L623.9,210.0 Z " ><title >2,380 to 2,569 Elo: 2 bots</title ></path >
59+ <path class =" bar " d =" M626.9,210.0 L626.9,188.4 Q626.9,184.4 630.9,184.4 L658.5,184.4 Q662.5,184.4 662.5,188.4 L662.5,210.0 Z " ><title >2,569 to 2,757 Elo: 2 bots</title ></path >
60+ <line class =" axis " x1 =" 46 " y1 =" 210 " x2 =" 664 " y2 =" 210 " stroke-width =" 1.5 " />
61+ <text class =" tick " x =" 46.0 " y =" 228.0 " text-anchor =" middle " >-257</text >
62+ <text class =" tick " x =" 200.5 " y =" 228.0 " text-anchor =" middle " >496</text >
63+ <text class =" tick " x =" 355.0 " y =" 228.0 " text-anchor =" middle " >1,250</text >
64+ <text class =" tick " x =" 509.5 " y =" 228.0 " text-anchor =" middle " >2,004</text >
65+ <text class =" tick " x =" 664.0 " y =" 228.0 " text-anchor =" middle " >2,757</text >
66+ <line class =" median " x1 =" 355.4 " y1 =" 18 " x2 =" 355.4 " y2 =" 210 " />
67+ <text class =" median-label " x =" 361.4 " y =" 28.0 " text-anchor =" start " >median 1,252</text >
68+ <text class =" tick " x =" 355.0 " y =" 246 " text-anchor =" middle " >Elo rating → ; </text >
69+ </svg >
70+ <figcaption >Distribution of Elo across the 115 human RoboCode bots. The field is broad and roughly bell-shaped, with pez's tanks clustered at the right edge.</figcaption >
71+ </figure >
72+
73+ The top ten:
74+
75+ 1 . human/pez/pugilist: ** 2,757**
76+ 2 . human/pez/swiffer: ** 2,637**
77+ 3 . human/admiralrasmussen/drussgt: ** 2,551**
78+ 4 . human/ur4n0_235/ur4no: ** 2,416**
79+ 5 . human/winstliu/bobthebuilder: ** 2,312**
80+ 6 . human/pez/aristocles: ** 2,312**
81+ 7 . human/pez/chironex_mini: ** 2,268**
82+ 8 . human/pez/paolo: ** 2,268**
83+ 9 . human/namnguyenthanhwork/cham: ** 2,188**
84+ 10 . human/pez/vertileach: ** 2,187**
85+
86+ <details >
87+ <summary >Show full RoboCode rankings</summary >
88+
89+ <ol >
90+ <li >human/pez/pugilist: <b >2,757</b ></li >
91+ <li >human/pez/swiffer: <b >2,637</b ></li >
92+ <li >human/admiralrasmussen/drussgt: <b >2,551</b ></li >
93+ <li >human/ur4n0_235/ur4no: <b >2,416</b ></li >
94+ <li >human/winstliu/bobthebuilder: <b >2,312</b ></li >
95+ <li >human/pez/aristocles: <b >2,312</b ></li >
96+ <li >human/pez/chironex_mini: <b >2,268</b ></li >
97+ <li >human/pez/paolo: <b >2,268</b ></li >
98+ <li >human/namnguyenthanhwork/cham: <b >2,188</b ></li >
99+ <li >human/pez/vertileach: <b >2,187</b ></li >
100+ <li >human/pez/chironex_micro: <b >2,031</b ></li >
101+ <li >human/pez/mako: <b >2,030</b ></li >
102+ <li >human/pez/frankie: <b >2,003</b ></li >
103+ <li >human/pez/blackwidow_mini: <b >2,003</b ></li >
104+ <li >human/pez/tityus: <b >1,977</b ></li >
105+ <li >human/pez/gouldingi: <b >1,929</b ></li >
106+ <li >human/jonharder/starterbot: <b >1,929</b ></li >
107+ <li >human/zhiwei121/hero_pm: <b >1,881</b ></li >
108+ <li >human/mgalushka/supermercutio: <b >1,862</b ></li >
109+ <li >human/mgalushka/superramfire: <b >1,841</b ></li >
110+ <li >human/pez/vertimicro: <b >1,820</b ></li >
111+ <li >human/pranav_prakash/thecarver: <b >1,800</b ></li >
112+ <li >human/pez/blackwidow: <b >1,780</b ></li >
113+ <li >human/pez/hypoleach: <b >1,761</b ></li >
114+ <li >human/admiralrasmussen/hawkonfire: <b >1,761</b ></li >
115+ <li >human/pez/littlebrother: <b >1,742</b ></li >
116+ <li >human/pez/marshmallow: <b >1,739</b ></li >
117+ <li >human/joaocarpim/wrecker: <b >1,723</b ></li >
118+ <li >human/g_otn/reimu: <b >1,723</b ></li >
119+ <li >human/pez/leach: <b >1,723</b ></li >
120+ <li >human/vftheodoro/barbiescript: <b >1,705</b ></li >
121+ <li >human/mgalushka/supertracker: <b >1,686</b ></li >
122+ <li >human/mgalushka/supercrazy: <b >1,668</b ></li >
123+ <li >human/pseminatore/dodgebot_jnk: <b >1,651</b ></li >
124+ <li >human/mgalushka/supercorners: <b >1,651</b ></li >
125+ <li >human/u_0x65_e/kokomo: <b >1,633</b ></li >
126+ <li >human/mgalushka/superspinbot: <b >1,563</b ></li >
127+ <li >human/muzardo/trianglehunter: <b >1,529</b ></li >
128+ <li >human/pez/icarus: <b >1,514</b ></li >
129+ <li >human/pez/littleevilbrother: <b >1,512</b ></li >
130+ <li >human/john_paul_r/vergere: <b >1,512</b ></li >
131+ <li >human/johan_adriaans/berendbotje: <b >1,495</b ></li >
132+ <li >human/mcd8604/hunter: <b >1,478</b ></li >
133+ <li >human/pmontp19/propiavancat: <b >1,461</b ></li >
134+ <li >human/mgalushka/superwalls: <b >1,444</b ></li >
135+ <li >human/denssle/megaborsten: <b >1,444</b ></li >
136+ <li >human/lucasgch/bt7274: <b >1,429</b ></li >
137+ <li >human/pez/haikupoet: <b >1,427</b ></li >
138+ <li >human/alexjamesmacpherson/wilde: <b >1,427</b ></li >
139+ <li >human/pez/wallspoethaiku: <b >1,392</b ></li >
140+ <li >human/pez/poet: <b >1,392</b ></li >
141+ <li >human/logancsc/dodgebot2: <b >1,375</b ></li >
142+ <li >human/miradoconsulting/roleksii: <b >1,358</b ></li >
143+ <li >human/gjgomez/mb2: <b >1,358</b ></li >
144+ <li >human/pez/smallpoet: <b >1,340</b ></li >
145+ <li >human/pez/haikuwalls: <b >1,323</b ></li >
146+ <li >human/sacdalance/robrrrat: <b >1,270</b ></li >
147+ <li >human/txeverson/crawler: <b >1,252</b ></li >
148+ <li >human/pez/leachpmc: <b >1,252</b ></li >
149+ <li >human/pez/wallspoetas: <b >1,252</b ></li >
150+ <li >human/robo_code/walls: <b >1,215</b ></li >
151+ <li >human/mgalushka/maximbot: <b >1,215</b ></li >
152+ <li >human/kcanida/pikachu: <b >1,178</b ></li >
153+ <li >human/josephjeon/gntest: <b >1,178</b ></li >
154+ <li >human/pez/wallspoet: <b >1,140</b ></li >
155+ <li >human/alexbay218/shreker: <b >1,121</b ></li >
156+ <li >human/vikdov/dominatorx: <b >1,121</b ></li >
157+ <li >human/tannerrogalsky/tannerbot1: <b >1,022</b ></li >
158+ <li >human/admiralrasmussen/wavesurfing: <b >1,002</b ></li >
159+ <li >human/it_economics/ite_m9: <b >982</b ></li >
160+ <li >human/joaomcarvalho/jeujdapeu: <b >962</b ></li >
161+ <li >human/robo_code/trackfire: <b >952</b ></li >
162+ <li >human/dankraemer/juggernaut: <b >941</b ></li >
163+ <li >human/zcjerry229/markrobo: <b >900</b ></li >
164+ <li >human/gabriel_lw/quadwall: <b >880</b ></li >
165+ <li >human/iagomonteiro13579/npcsniper: <b >880</b ></li >
166+ <li >human/robo_code/spinbot: <b >867</b ></li >
167+ <li >human/looklazy/chilibot: <b >859</b ></li >
168+ <li >human/avsthiago/sadbot: <b >859</b ></li >
169+ <li >human/robo_code/velocirobot: <b >776</b ></li >
170+ <li >human/luke_f_w/nagisphere: <b >776</b ></li >
171+ <li >human/robo_code/tracker: <b >733</b ></li >
172+ <li >human/andrekorol/exterminador: <b >712</b ></li >
173+ <li >human/kylebennett/hugbot: <b >712</b ></li >
174+ <li >human/rafaeljdesa/ultron: <b >712</b ></li >
175+ <li >human/robo_code/ramfire: <b >712</b ></li >
176+ <li >human/kylebennett/gruffalo: <b >704</b ></li >
177+ <li >human/robo_code/myfirstrobot: <b >690</b ></li >
178+ <li >human/it_economics/ite_florian2: <b >624</b ></li >
179+ <li >human/robo_code/corners: <b >610</b ></li >
180+ <li >human/team488/meow: <b >555</b ></li >
181+ <li >human/it_economics/ite_cliffbot2: <b >555</b ></li >
182+ <li >human/alpian/tarektank: <b >555</b ></li >
183+ <li >human/andrekorol/myfirstkiller: <b >534</b ></li >
184+ <li >human/alpian/ianstank: <b >483</b ></li >
185+ <li >human/philipmjohnson/dacruzer: <b >483</b ></li >
186+ <li >human/robo_code/fire: <b >458</b ></li >
187+ <li >human/andrekorol/oppswantmedead: <b >432</b ></li >
188+ <li >human/robo_code/regullarmonk: <b >432</b ></li >
189+ <li >human/tibola/markiv: <b >378</b ></li >
190+ <li >human/it_economics/ite_terminator: <b >378</b ></li >
191+ <li >human/it_economics/ite_simple: <b >378</b ></li >
192+ <li >human/it_economics/ite_ctbot: <b >291</b ></li >
193+ <li >human/it_economics/ite_claptrap: <b >228</b ></li >
194+ <li >human/robo_code/crazy: <b >194</b ></li >
195+ <li >human/pez/droidpoet: <b >159</b ></li >
196+ <li >human/barriosnahuel/tirolio: <b >121</b ></li >
197+ <li >human/kinnla/antiwalls: <b >121</b ></li >
198+ <li >human/linuxuser0/genetic: <b >40</b ></li >
199+ <li >human/pez/gf1: <b >40</b ></li >
200+ <li >human/trex22/deepthought: <b >40</b ></li >
201+ <li >human/it_economics/ite_bomax: <b >-6</b ></li >
202+ <li >human/robo_code/sittingduck: <b >-113</b ></li >
203+ <li >human/wouterjoosse/infinitylock: <b >-257</b ></li >
204+ <li >human/technischeinformatica/tearsofsteel: <b >-257</b ></li >
205+ </ol >
206+
207+ </details >
208+
209+ ** Run it yourself.** [ Set up CodeClash] ( https://docs.codeclash.ai/quickstart/#installation ) and send a model up the ladder with:
210+
211+ <pre class =" prettyprint lang-bash " >
212+ uv run codeclash ladder run configs/ablations/ladder/robocode.yaml
213+ </pre >
214+
23215---
24216
25217### References
0 commit comments