A combat robot sim that takes the physics seriously.

TESTBOX is a simulator for driving combat robots. The goal is for it to feel like driving the real thing, so the physics get done properly first and everything else is built around them.

You can also bring your own bot. Export it from the CAD you designed it in, then fight it against other people online.

Big hits, straight from the sim

These are real fights from the physics engine, rendered by the game on the TESTBOX floor. Nobody animated the hits. They're picked from a batch of AI-driven fights.

Midcutter into a drisk, full power.
Huge energy transfer: 413 J in one hit sends the drisk flying.
Ring spinner into a drisk: 286 J in one hit.
Midcutter up on end: it scratches the floor, catches, and throws itself.

Physics first

Every bot is a full rigid-body simulation, built from its real dimensions, masses and materials. Nothing is canned. If a bot flips, lifts a wheel or bounces off a hit, that came out of the simulation.

We also check it against real fights. We track bots in overhead footage from real events and compare that to what the sim does. Where they disagree, the sim gets fixed.

2,500 Hz
physics steps, so fast weapon hits don't get skipped over
From CAD
weight, inertia and stored energy for every bot
Real footage
is what we compare the sim against
Exact replays
same inputs, same fight, on Mac or Windows

Gyroscopic effects

The weapon is its own spinning body, with the inertia measured from its CAD. Turn hard with a drum spun up and the bot leans and lifts like a real one.

Weapon geometry

Collision shapes keep the teeth. A blade with a hooked tooth bites, and a smooth disc tends to glance off.

Drivetrain

Wheels are driven by motor torque, and the tires flex and slip. You can feel the weight shift when you turn.

Checked against real fights

Our tracker follows bots through overhead video of real matches, which gives us something real to hold the sim up against.

Damage

Damage counts the energy your weapon actually puts into the other bot. Hitting the wall or the floor doesn't count.

Determinism

The same inputs give the same fight on Mac and Windows, down to the bit. Everything in the next section depends on that.

Online play that's actually fair

The netcode is built the way competitive fighting games and shooters build theirs. A lot of the work on TESTBOX has gone into making sure the result of a match depends on driving, not on whose connection is better or whose computer is hosting.

Your machine and your opponent's each run the whole fight. The only thing that crosses the internet is what each of you is doing with the sticks.

Rollback netcode

Your own bot responds the moment you move the stick. When your opponent's input arrives, the game rewinds and replays those few frames with the real input, so there's no rubber-banding and no fight that slowly drifts out of sync.

No host advantage

There is no host. Neither computer is in charge of the fight, so neither player gets the zero-lag seat that a host would.

No peeker's advantage

Both machines step the fight together, and the game paces them so neither can run ahead and act on a moment the other hasn't reached yet. Every input lands on the exact tick it was pressed, on both machines.

Smooth on any connection

Each machine tunes a small input buffer to the connection it sees, so matches stay smooth and responsive instead of stuttering or rubber-banding, even when the link isn't perfect.

Nothing to fake

Since only inputs are sent, there's no position or damage for a modified client to lie about. Both machines compare a fingerprint of the fight state, and if they ever disagree, the match is flagged.

Every match on record

Inputs are sent exactly, never rounded off, so any match can be replayed from its input log bit for bit. That's how disputed results get settled.

Real bots, from real CAD

Games that let you build a robot give you a parts menu and a grid to snap them onto. That's a long way from how a real bot gets designed, and it shows the moment you try to make something specific. Building a proper CAD tool inside a game isn't realistic, and you already have one.

So TESTBOX doesn't try. Design the bot in the CAD software you already use, then bring that model in.

Building a bot in a typical game
  • Pick from a fixed list of parts
  • Snap them together on a grid
  • Stats come from the parts list, not from the shape
  • Ends up a rough approximation of what you'd actually build
Bringing your bot into TESTBOX
  • Use the model you actually cut your parts from
  • Any shape your CAD can make, down to the tooth profile
  • Mass, inertia and energy measured from that geometry
  • The bot in the box is the bot on your bench
1

Export your CAD

Use the same model you cut your parts from, with chassis, armor, wheels, weapon, batteries and motors all included.

2

Import it

The importer works out mass and material part by part, measures the weapon's inertia, and builds collision shapes that keep each tooth.

3

Drive it

Your bot shows up with its own paint and stickers, along with its weight, tip speed and stored energy. In an online match it's sent to your opponent automatically, so you're both fighting the same bot.

These bots were imported from their builders' CAD files and rendered by the game, weapons turning.

That also makes it a handy way to try out a design change before you machine anything.

Playing it

The controls are set up for people who drive real bots. Bring the radio you use at events, set it up the way you drive, and fight whoever you like, either online or in the same room.

Your own radio

Plug in the radio you use at events, or a gamepad. A setup wizard has you move each stick to find the channel, then calibrates it. Use tank or arcade mixing, whichever you drive with.

Online

Host a room that anyone can join, or lock it with a password. Mac and Windows players can fight each other.

Offline and replays

Fight an AI driver or play two people on one computer. Every fight can be replayed exactly, and you can mark clips while you drive.

Questions

When can I play it?

Test builds are running on Mac and Windows now with a small group. Wider testing comes next, and the Discord is where those builds will go out first. Release dates aren't set yet.

What will it cost?

That hasn't been decided yet. We'll say so here as soon as it is.

Will my transmitter work?

Probably, if it can act as a USB joystick when you plug it into a computer. Most modern EdgeTX and OpenTX radios can. We've tested FrSky Taranis, Radiomaster Pocket and Zorro, and BETAFPV radios. Gamepads and the keyboard work too. A setup wizard finds each channel when you move the stick, then calibrates it.

What computer do I need?

A Mac or a Windows PC. The physics runs on your own machine in real time, so it needs a reasonably recent computer. Apple silicon Macs and modern Windows desktops handle it fine. Exact minimum specs will be published before release.

Which CAD formats can I import?

Today the importer reads OBJ files, which most CAD packages can export directly or through a free converter. You export the whole bot with its parts kept separate, so each part gets its own mass and material. For now the importer is a separate tool; it's moving into the game itself.

What weight classes are there?

The game started with 3 lb beetleweights in an 8 ft cage, and most bots so far are beetles. A larger 16 ft cage for 12 lb and 30 lb bots is in early testing. More cages and floors are coming.

Who sees my bot's CAD?

Your CAD files never leave your computer. When you play someone online, their game receives a fight model of your bot so both machines can simulate the same bot: the physics data plus a simplified, size-reduced version of its meshes, not your design files. Today it isn't sent anywhere else.

On your opponent's computer that copy is stored encrypted. It's only unpacked while the game is running, and it's deleted from the disk when the game closes. It never shows up in their bot list, and they can't pick it, edit it or export it.

Could someone pull my bot out of the game anyway?

A determined person probably could, and we'd rather be upfront about that. Anything a game draws on screen can be captured with the right tools, and the key that unlocks the encrypted copy has to ship with the game. The encryption closes off the easy route of opening the files in a 3D program, but no game can honestly promise more than that. What they'd get is the simplified fight model, not your CAD.

Do I need to be online to play?

No. Fighting the AI, two players on one computer and replays all work offline. You only need the internet for online matches.

Is it accurate enough to practice for real events?

That's the goal, and it's why the physics come first. We measure the sim against tracked footage from real fights and fix it where they disagree. It won't be perfect, but it should get you seat time with your own bot, against specific opponents, without breaking any parts.

Come talk bots

The Discord is where test builds go out first, and where you can tell us what feels wrong. Builders who want their bot in early are especially welcome.

Join the Discord

When?

Not quite yet. Test builds are running on Mac and Windows now, and there'll be more here when it's ready for more people to try.