← Pooley Bros

Drunk Trampoline

A 2D multiplayer party game with no ground — several planets pull at once, and no two players agree on which way is down.

Live2026TypeScriptSocket.IOCanvasMultiplayer

The trick

There is no ground. Several planets pull at once, and your screen always puts your feet at the bottom — so the world rotates around you, and everyone else’s screen disagrees with yours. On your screen the other player is at 60°; on theirs, you are at -60°. Reorienting faster than the person you are chasing is the skill the whole game is built around.

It plays on a phone. The controls, the shop and the hotbar are all on screen and tappable, and a game is up to eight people.

A round

A match is five rounds, and each one has two halves. First a build phase: you bolt down the trampolines, boost pads and black holes you bought, then ready up. Then a scramble for glowing orbs. Orbs are points, points are coins, and coins are more stuff — a ten-item shop on a price ladder, from trampolines up to hunter drones. Ram someone hard enough and they drop an orb.

Lasers were built and then taken back out at the group’s request. The hunter drone is the only way to knock somebody out.

How it works

One Node process holds every lobby in memory and is the authority for the physics. It steps the simulation at 60 Hz and sends each player their own personalised snapshot 20 times a second. The client runs that same pure step to predict your own player from the inputs the server has not acknowledged yet, and draws everyone else about 110 ms in the past, interpolated between snapshots. That split is why a game this twitchy is playable over the internet at all.

The arena is never sent over the wire — only a seed. Both halves generate the identical world from it.

There is no login: the browser mints a uuid into local storage and that is your profile. You type a name, get a four-letter lobby code, and read it out to the room.

A deploy used to end everybody’s match, because every lobby lived in one process’s memory. Now the durable half of each lobby — scores, coins, loadouts, the map players built, the round and the clock — is written to Postgres on every phase change and every five seconds, and restored before the first socket reconnects. Positions are deliberately not saved; they cost nothing to re-derive from a spawn point. So a restart costs you your position and nothing else.

Where it came from

Designed on 18 September 2026 in a three-way conversation between the two of us and a friend, and built and playable the same night. It has been through several playtests since, and a full UI redesign that was agreed as static mockups before any of it was written.