A 2D top-down arena brawl — pick a class, share a room code, fight.
Serverless multiplayer on Cloudflare Workers and Durable Objects.
Open Rooms
No open rooms yet — create one to start.
What this demo showcases
Durable Objects — every room is a single stateful object that holds the authoritative game state, runs the game loop and broadcasts to all connected players.
A new dungeon every room — each room code seeds its own generated map, built by the room's Durable Object and sent to every client.
No servers to manage — rooms are created on demand and scale back to zero when empty.
Server-authoritative combat — hit detection, damage, kills and respawns are all resolved server-side, never trusted to the client.
WebSockets at the edge — everyone in a room connects to the same object, which pushes movement deltas and full-state snapshots to them.
How to play
Desktop — WASD or arrow keys to move, Space to attack in the direction you face. Gamepads work too.
Phone — scan a room's QR code, then use the stick on the left to move and the button on the right to attack.
Pick a class — Knight (fast, short-range sword), Scout (long-range bow), Sorcerer (slow, shoots through walls).
Don't stand idle — stop moving and attacking and you fall asleep behind a green shield. Sleep through the countdown and you're removed.
Waking up — moving wakes you; the shield lingers, but you can't attack until it fades.