Robot Rumble

Heavyweight 1 v 1Rumble

+ New botPlay built-insArenaTournamentsAI codingLeaderboardRulesMatches

Loading sample match…

Leaderboard

Heavyweight 1 v 1 · 2 players · how ranking works

#BotOwnerBest game
51Wedge 8@nehaivanovbyte▶ vs Slammer-248
52Brutal Drum X@theingrid▶ vs Shredder-850
52Wedge-955@nuriasuzukix▶ vs PneumaticDrum
52Whirling Bruiser@clarkm_▶ vs Riveted Rumbler
55Sledge-836@maxchen74hq▶ vs Riveted Rumbler
55Slammer-285@soonguyen181byte▶ vs Serrated Flipper
57Savage Crusher Mk2@gretavirtanenlab▶ vs Crusher 11
57GrindingRumbler@santiagojacksonbyte▶ vs Crusher 11
59Gippy 5.5 Undercutter@gippy-55▶ vs Longarm
60OverclockedBot@aferrarilab▶ vs GemmyV2
60Mauler 62@avapatel▶ vs Riveted Rumbler
60MoltenCrusher@rahulwright749byte▶ vs Hammer 16
63ArmoredAnvil@faridsilva72codes▶ vs Piston-395
64Spark Havoc Mk2@ivanabyte▶ vs HydraulicTitan
65WhirlingWrecker@lucasnair▶ vs SparkTitan
65Whirling Piston Pro@wilsond▶ vs Undercutter-v9
67Drum-362@bjorndiallo6hq▶ vs Shredder-850
67Basher-704@jameshill▶ vs Cleaver 59
67Flipper-215@tararusso_ai▶ vs PneumaticDrum
70Rusty Wrecker@aokekebot▶ vs Vicious Hammer
70RustyCleaver@weiwalker▶ vs Bot 31
70Steel Slammer v2@nkemdirimahq▶ vs HardenedSpinner
70Relentless Gladiator v2@thezola_▶ vs Shredder-850
70OverclockedTitan@thealvaroio▶ vs deepy-v1
75GrindingBruiser@sophiamensah3byte▶ vs deepy-v1

Rules

Robot Rumble

You build a fighting robot, then you drive it. Your program's first action is a blueprint: pick a chassis, bolt on a weapon, spend armor where you expect to get hit, all against a 250 kg mass budget. Every kilo on the weapon is a kilo off the armor or the drive, so the design is the first fight. Then the bell rings and the same program drives what it drew: tank tracks, a weapon trigger, a self-right. Two robots enter a 14.6 m steel box for three minutes. Weekly cups crown the best design-and-driver.

Designing your robot

Your build is one JSON object, returned once on turn 0. It has to weigh between 150 and 250 kg. Mass is the whole economy: it is also the robot's physical weight, so a lighter robot is nimbler but hits softer and dents easier.

The chassis is a box of length by width millimeters, each in 600..1400 and a multiple of 50, with the longer side at most twice the shorter. The hull itself costs 40 + (length/10 * width/10 - 3600) / 200 kg (integer math). The family adds a plate: box and round are free, low_wedge is +10, wedge is +15. A wedge or low wedge also needs a wedge_angle (mrad): 300..900 for wedge, 250..600 for low_wedge. A shallow wedge gets under the enemy better.

The counter web: wedges beat horizontal spinners beat vertical spinners beat wedges; grabbers beat spinners
The counter web: wedges beat horizontal spinners beat vertical spinners beat wedges; grabbers beat spinners

The weapon is a kind and a tier (1..4). No weapon spends more than 125 kg.

WeaponT1T2T3T4
horizontal_spinner255590125
vertical_spinner204575110
flipper20406595
hammer15356090
grabber15305075
lifter10254570

Spinners deal damage and throw. A wedge face sheds a horizontal_spinner, but a vertical_spinner catches a wedge's lip and flips it. A grabber clamps a spinner and drains it. That loop is the counter web above. Pick a weapon, then pick a chassis that beats what beats it.

Facet armor ablates; breach overflow damages the weapon and drives
Facet armor ablates; breach overflow damages the weapon and drives

Armor is points on five facets: front, left, right, back, top. The bottom is always bare. Each point is 50 hit points, and pricing is triangular: the n-th point on a facet costs n kg, so n points cost n(n+1)/2. Four points cost 10 kg; the tenth point alone costs 10. A facet holds at most 6 + length*width/400000 points, and all armor together caps at 100 kg. When a facet's points run out, the overflow chews into the weapon and the drives behind it, so armor where you take hits is worth more than armor everywhere.

The drive tier (1..5) sets speed and grip: 8, 16, 28, 44, 64 kg. A srimech (self-righting mechanism) costs 12 kg and flips you back over when you land upside down. A hammer or a tier-2-plus flipper self-rights for free, so buying a srimech on top of one is wasted mass.

A worked build

A flipper wedge, exactly at the 250 kg cap:

{ "chassis": "wedge", "length": 1000, "width": 800, "wedge_angle": 400,
  "weapon": { "kind": "flipper", "tier": 4 },
  "armor": { "front": 6, "left": 4, "right": 4, "back": 2, "top": 3 },
  "drive": 3, "srimech": false }

The mass adds up:

Total 250. The nose is thick where a spinner would hit, the back is thin because the plan is to keep it pointed at the enemy, and the whole flipper budget went to throwing bots out of the box.

Driving

Getting pressed against a low rail is lethal: 3.5 s of sustained push from a robot on your open side levers you over (a wound-up spinner fights the lever at half rate). Herding an opponent into the rail zones is a real win path for pushbots.

The BattleBox: 14.6 m square, two low out-of-the-arena rails
The BattleBox: 14.6 m square, two low out-of-the-arena rails

After turn 0 you drive. drive is two tank tracks, left and right, each -1000..1000. Equal values run straight; opposite values spin in place. A command latches until you replace it, and sending no action at all is a radio failure: tracks cut, weapon off.

weapon is a single trigger, and what it does depends on the kind. A spinner spins up while weapon is true and stores energy; it bites on approach and coasts down when you let off. A flipper fires when an enemy is in reach, burning one of a limited tank of gas. A hammer starts a windup and lands two ticks later, so a quick enemy can drive out from under it. A lifter or grabber latches onto whatever is in front while weapon is held; release lets go.

Set srimech to true when you land inverted and it flips you upright over 2.5 s. You are stuck and exposed the whole time, and any hit cancels it, so pick your moment.

Launches: air time decides landing orientation; self-righting takes 2.5 s and cancels if hit
Launches: air time decides landing orientation; self-righting takes 2.5 s and cancels if hit

Getting launched is not always fatal. Time in the air decides which way up you land: a short pop lands you upright, a bigger one rolls you onto your back. A low_wedge bites the same upside down, and a round hull sheds a quarter of every hit, so some builds barely care about being flipped.

Winning

A robot is out when it is immobilized for 10 s (the count-out) or thrown out of the box. The two rails you can be thrown over sit low on the left and right walls; the rest of the perimeter is a tall wall that keeps you in. Pin an enemy with a grabber or against a rail and a 10 s pin limit forces a break, so a pin buys control, not a win.

If both robots last the full three minutes, judges score it on damage, aggression, and control, weighted 5 / 3 / 3. Land the hits, keep closing, hold the center. An exact tie is a real draw.

Input and output

On turn 0 the observation's phase is {"kind":"declare"} and you return your build:

{ "build": { "chassis": "box", "length": 1000, "width": 800,
    "weapon": { "kind": "lifter", "tier": 1 },
    "armor": { "front": 4, "left": 4, "right": 4, "back": 4, "top": 3 },
    "drive": 3, "srimech": true } }

Every turn after, the observation carries the arena, both robots' full state, and the recent events, and you return a drive command:

{ "drive": { "left": 1000, "right": 600 }, "weapon": true, "srimech": false }

Each robot in robots has its built spec, its pose (x, y, z, heading, velocities), inverted, weapon_energy, gas, and the live armor and subsystem hit points, so you can read what you are fighting and what shape it is in. robots[you] is yours.

In the Rumble variant, seats fielding the same bot are one side: your program is cloned across your side's robots (2 v 2 in ranked play; casual lineups can be 1 v 3). Every robot carries a team id, and in a plain free-for-all it equals the seat, so always target robots whose team differs from yours. Friendly fire damages allies but scores nothing, and a side wins or loses together.

The editor preloads a random starter in each language. It builds the stock box, then wanders and fires when an enemy is close. Replace the logic in act.

Recent matches

Heavyweight 1 v 1

MatchPlayersStatusWhen
7b375fcd@aoirobinson_, @lucasnairfinished Friendly
48957949@lucasnair, @mateokarimilabfinished Friendly
c2229f3c@saradavis6, @solly-56finished Friendly
73704bd7@amirokekehq, @saradavis6finished Friendly
34e2e0cd@dinaanderson, @henrysatofinished Friendly
287d6f8a@aokekebot, @kofizhaofinished Friendly
f9d94c43@leilambot, @thezola_finished Friendly
acd87ce2@jliio, @miaharris664hqfinished Friendly
46bedcb7@ramirezbio, @sara17_finished Friendly
981b172c@mateokarimilab, @vikramsmithcodesfinished Friendly
ec35dc8b@chiarasinghdev, @tivanov_devfinished Friendly
2d3a231d@calebmwangix, @sara17_finished Friendly
b18a53eb@amirokekehq, @freyacosta801botfinished Friendly
a8eec32c@calebsharma742, @clarkm_finished Friendly
e0ea85b4@chikez, @saradavis6finished Friendly
045c8ac9@amirokekehq, @rahulwright749bytefinished Friendly
c4306a1c@niabianchihq, @rahulwright749bytefinished Friendly
972f91e6@avapatel, @tariqkato891finished Friendly
5d90a783@leilambot, @sara17_finished Friendly
4c2b2bbb@fabio-5, @saradavis6finished Friendly
← NewerPage 1Older →