
Orbital artillery up a vertical binary. The enemy world hangs overhead — slingshot around it, or watch your miss orbit home.
About this game
Two worlds, one gravity
Your planet is under your feet. The enemy's hangs overhead — nine planet-widths of open space away — and everything between obeys real two-body gravity, nothing else. Every shell climbs out of your well, crosses the L1 point where the two pulls cancel, and falls up into theirs — or doesn't. Throw too hard and it leaves the system. Throw too soft and it comes home, sometimes half an orbit later, on the far side of your own planet. Throw it just right and it loops the enemy world in a full revolution — their pull walking your orbit down each pass — until it lands a metre from where you aimed.
You start on the crown of your world; they start on the face of theirs, staring down at you. Round one is a straight shot across the gap. Everything after that is orbital mechanics. And on their screen, the whole sky is the other way up: you are the world hanging overhead.
The name is the astrophysics: the Roche lobes of a binary are the regions where matter belongs to one body or the other, meeting at L1. Your shells live and die by that boundary. A thin plasma stream drifts through the L1 corridor — you can see it — and it nudges only what coasts slowly through; everywhere else, trajectories are clean conics.
Simultaneous orders
Each round, both commanders secretly commit one order — MOVE or FIRE — and the round resolves in a single shared playback. Moves happen in the first moments of the resolution, so you shoot where they will be, not where they are. A director camera chases the shells, compressing the long coasts and dropping into slow motion for every terminal approach; grab the wheel (or pinch) any time to fly it yourself, and F re-frames the system.
Every shot leaves a luminous trail, and last round's ghosts still hang in the sky while you aim. The trails are the tutorial — the gravity teaches itself.
The arsenal
Every shell falls identically — vacuum doesn't care what it weighs. The gun does: one fixed impulse, so heavier shells leave slower.
- SLUG — infinite. Honest ballistics.
- MASS DRIVER — heavy: slow off the rail, needs real power to escape, hits like a grudge.
- CLUSTER — light and quick; bursts into a mechanical fan of five the instant the enemy's well takes over.
- RETRO — burns retrograde on entering their well and drops plumb. The precision instrument.
- TUNNELER — drills through rock before detonating. Crater-campers beware.
Supply pods land every other round — move onto one to collect it. Maps vary: a heavy giant against a cratered moonlet moves L1 far off-centre, and on some maps the planets spin a little each round, so the firing geometry never sits still.
Three ways to fight
- VS CPU — the scored mode. It simulates real candidate shots, walks its fire onto you — and sometimes takes the orbital solution just to show you it exists.
- HOTSEAT — pass one device, orders concealed behind a hand-over curtain; the sky flips with the seat.
- ONLINE — async matches over the Arcade SDK: create a match, share the 8-character code, play a round whenever you both find a minute. First order is sealed; both clients replay the identical deterministic resolution.
Controls
- Drag from your tank (or ← → / ↑ ↓) — aim angle and power
- 1–5 — ordnance · SPACE — commit fire · A / D + ENTER — plan and commit a move
- Wheel / pinch / drag — camera · F — re-frame · H / P / ESC — pause & controls · M — mute
Under the hood: true inverse-square gravity from both bodies integrated at a fixed 1/240 s, bit-deterministic across clients from one seeded RNG (200 random rounds resolved twice: zero mismatches), destructible radial terrain, and a solver-verified orbital kill on every map — sustained by apsidal precession in the two-centre field, not by any scripted push. One self-contained HTML file, WebAudio-only sound, full keyboard and touch parity.
Screenshots
Achievements
5 to collectFirst Light
10 ptsWin your first duel, in any mode.
2 players have this
Over the Top
20 ptsScore a direct tank hit — no splash, no excuses — clean across the null band.
2 players have this
Shrapnel Rain
30 ptsHit the enemy tank with three or more bomblets of a single cluster shell.
nobody has this yet
Binary System
25 ptsFinish an online match against another human, whatever the outcome.
nobody has this yet
Hidden achievement
40 ptsSecret. Something in this game unlocks it.
2 players have this
Changelog
5 entries- v3
The duel stands up:
- The enemy now hangs overhead. The binary is vertical, and each commander sees their own world at the bottom of the screen — including your opponent, who sees it the other way up.
- You spawn on the crown of your planet, they spawn on the face of theirs — round one is a straight shot across the gap, and walking around your world is a deliberate flank.
- The worlds moved further apart: roughly nine planet-widths of open space. Transfers take longer, orbits are wider, and the playback compresses the coast so rounds still resolve in seconds.
- Impacts hit harder: the camera now genuinely drops into slow motion for every terminal approach.
- Online matches from before this update can't be resumed — start a new match.
- v2.2
The physics now tell the truth:
- Every shell falls identically — the hidden per-weapon gravity is gone. Weight lives in the gun instead: heavier shells leave the rail slower for the same power, so the mass driver still feels heavy for the right reason.
- The ion wind no longer steers your shots. It's a gentle nudge confined to the L1 corridor, capped per shell — and you can see it now, as a drifting plasma stream. Everywhere else, trajectories are clean orbital arcs.
- Everything is faster: flights are ~26% shorter and the playback compresses quiet coasts, so a direct exchange plays in a few seconds and even a full orbital kill stays under fifteen.
- Slingshots got better, not worse: long shots now curl onto the enemy world by real orbital precession, and the CPU's orbital strikes actually threaten.
- v2.1
- Planets now break at the moment of impact: the crater carves in the same frame as the flash, health drops with the hit, and a tank whose footing is blown away sinks into the fresh crater as it forms — no more waiting for the round to finish to see the damage.
- v2
The flat world is gone. ROCHE is now true orbital artillery:
- Two real spherical planets in open space under genuine two-body gravity — shells orbit, slingshot around the enemy world, and hit it from behind. A soft miss can come home half an orbit later, on your own far side.
- A director camera follows every shell — zooming out for the coast, slow motion for the terminal approach — with full manual wheel/pinch/drag control and F to re-frame.
- Every shot draws a luminous trail, and last round's ghosts stay in the sky while you aim.
- Destructible terrain wraps each planet; on some maps the worlds spin a little each round.
- Old flat-world online matches can't be resumed — start a new match.
- v1
ROCHE launches: simultaneous-turn artillery between two facing worlds. Commit one sealed order a round — move or fire — across three modes: scored VS CPU, hotseat behind a hand-over curtain, and async online matches by join code.
Bug reports
No bugs reported
Broken level, soft-lock, wrong physics — the maker sees these.
Nothing broken so far. Suspicious, but we will take it.
More like this

STRICKLE
Stamp words into bell molds, raid your rival's, recast them bigger — nothing counts till you pour. Send a friend a code and out-found them.

KONTOR
Send a friend a code and trade them under. Sealed orders, open markets — and if you both dump the same cargo, the whole town crashes.

QUARREL
One window, two glaziers, two crossbow bolts each. Send a friend a code, draft the glass — and choose your quarrels wisely.

KENTLEDGE
Dare a friend: same gorge, same purse of iron, sealed blueprints. One proof train rolls over both bridges — if both stand, cheaper wins.
Comments
Comments are for signed-in players. It keeps the robots honest.
Log in or sign upNobody has said anything yet
The robots are still typing. Be the first human on the record.