The arena and battles
What's on the battlefield, how a battle is fought and won, and every control in the ARENA.
The ARENA is where you test your vehicle. Choose an opponent, press ▶ RUN BATTLE, and the battle is fought on your device in a second or two, then plays back for you to watch. The same screen plays back league battles, spars and shared battles.


The battlefield
The arena is 400 x 300 m, seen from above, with north at the top. Each battle has its own layout, made from the battle's seed (see below). On it:
| You'll see | What it is |
|---|---|
| Hatched grey blocks | Obstacles. They stop vehicles, missiles and radar alike, so they're cover. |
| Amber squares with a cross | Supply crates, 2 in each arena. Stop beside one and reload missiles. Just an outline while it's empty: it restocks after 20 s. |
| Cyan squares with a bar | Charging points, 4 in each arena. Stop on one to recharge. Energy comes back nowhere else. |
| Green crosses | Repair depots, 2 in each arena. Stop beside one to repair. Just an outline while it's empty: it restocks after 30 s. |
| The two vehicles | Yours in green, the opponent in cyan, unless they're painted. The barrel shows which way the turret points. |
| A pale wedge from a vehicle | A radar scan: the direction and width it looked in. |
| A small mark near a vehicle | A radar contact: where the scan reported the target, which isn't always quite where it is. |
| Dots with short trails | Missiles, trailing back along their course. |
| Flickering diamonds | Decoys (Silver and up): false targets for the opponent's radar. |
| A flickering cone | A flamethrower alight (Silver and up). |
Equipment shows on a vehicle's drawing too: Opponents explains the marks.
How a battle is fought
Both vehicles are programmed. Nobody steers. Physics runs 30 times a second, and each vehicle's program 10 times a second: each run is an update. At each update both programs see the same moment, both give their orders, and the orders are carried out together, so neither sees what the other did in the same update.
The things that decide most battles:
- Radar. A vehicle knows where its opponent is only by scanning for it. A scan looks one way, in a narrow cone, and its result arrives at the next update.
- The turret. Aiming turns the turret, which takes time. A missile leaves along the turret as it points at that moment, so a program that fires before the turret is on target misses.
- Energy. Driving, scanning, firing and shielding all spend energy, and it doesn't come back by itself. Run the tank dry and everything stops: drive, shield, radar and launcher. Only a charging point gives energy back, and a vehicle that runs dry away from one is stranded.
- Heat. Firing and shielding make heat, and heat drains away over time. Too much, and the weapons and shield lock out until it has cooled.
- Ammunition. A launcher holds a few missiles. Reloading means stopping at a stocked supply crate for a couple of seconds.
- Health. Hits take health, and a shield soaks some up. A stocked repair depot gives some back: a quarter of full health over a few seconds.
Winning
A battle lasts up to 120 s. Destroy the opponent to win. When time runs out, the vehicle with more health left wins. Equal health, or both destroyed at the same moment, is a draw.
Seeds: the same battle every time
A battle is decided entirely by the two vehicles, their programs and the seed, a number that sets the arena's layout and the starting places. The same seed, vehicles and programs always give exactly the same battle, on any device. That's what makes testing work: change one thing, run the same seed again, and anything different was caused by your change.
The controls
Setting up a battle
| Control | What it does |
|---|---|
| VS and the opponent | Tap the opponent's name to choose another: a training opponent, a house vehicle, or one of your own (see Opponents). |
| SEED | The battle's seed. Type one to fight that battle. |
| RND | When on, every run gets a new random seed. Typing a seed turns it off, to keep to that seed. |
| SWAP STARTS | Swaps the two vehicles' starting places. A fair test fights a seed both ways round, as the league does. |
| ▶ RUN BATTLE | Fights the battle and starts playing it. CANCEL stops one being fought. |
| EXPAND, EDIT PROGRAM | On a bigger screen: the arena by itself, or back beside the editor. |
If the battle can't start, the arena says BATTLE NOT STARTED and lists the reasons, for either vehicle.
Watching it
| Control | What it does | |
|---|---|---|
| The timeline | Drag along it to go to any moment. White marks are hits, amber marks are faults. | |
| **\ | ◀** | Back to the start. |
| PLAY, PAUSE | Plays or pauses. | |
| -1, +1 | One tick back or on (a tick is a thirtieth of a second). | |
| ¼x, 1x, 4x | Slow motion, normal speed, fast. | |
| DEBUG | With the subscription: opens the debugger at this moment. | |
| RADAR | Shows or hides the radar scans. | |
| CONTACTS | Shows or hides where each radar reported its target. | |
| ZOOM | Follows one vehicle closer, then the other, then shows the whole arena again. | |
| MEMORY | Shows what each program has in memory at this moment. |
With a keyboard: Space plays or pauses, Left and Right step a tick (with Shift, a second), and Home goes back to the start.
Under the controls, T 9.0 / 53.3 s is the moment shown and the battle's length, and TICK the tick. When the battle ends, a banner gives the result, with REPORT for the details.
The gauges
Each vehicle has a box of gauges, at the moment shown:
- HEALTH: what's left, out of 100.
- ENERGY: what's in the tank.
- HEAT: at 100 the weapons and shield lock out.
- AMMO: missiles left in the launcher.
Under them, a vehicle's state if it's out of the ordinary: SHIELD 50% (its shield level), OVERHEATED, NO POWER or DESTROYED.
LATEST lists the last few things that happened. The report has all of them.
House vehicles and league battles: hidden workings
Against a house vehicle, and in a league battle, the opponent's workings are hidden: its energy, heat and ammunition show as ??, and so does its memory. A line above the arena says so. You always see your own. It's the same for your opponents: nobody ever sees your program, or how your vehicle is doing inside.
All the rules
| Rule | Value |
|---|---|
| Ruleset | v0.12 |
| Physics rate | 30 ticks / s |
| Program rate | 10 updates / s |
| Battle length | up to 120 s |
| Arena | 400 x 300 m |
| Missile radius | 1 m |
| Supply crates | 2 in each arena |
| Reloading | stopped within 8 m of a stocked crate, for 2 s |
| Crate restocks | after 20 s |
| Charging points | 4 in each arena |
| Charging | 80 energy / s, stopped within 6 m of one |
| Repair depots | 2 in each arena |
| Repairing | 25 % of full health over 4 s, stopped within 6 m of a stocked depot |
| Depot restocks | after 30 s |