Make your Claude Code game multiplayer
Yes. Ask Claude Code "make it playable online" and it can make your game multiplayer with KUMODeck's rooms: it asks one short question about who plays, adds a Play online button with 6-letter room codes or quick match, and gives you a test link to try in two tabs. There is no game server for you to write or run.
You made a game with Claude Code and it is fun alone. Now you want someone else in the same game, from their own phone or computer, by sending them a link. You can ask Claude Code for that in plain words. It uses KUMODeck's multiplayer rooms, so there is no game server for you to write, rent or keep running.
This page goes through it in Claude Code: the one question it asks, what it changes in your game, and how to try it with two players before anyone else sees it.
Before you start#
- Claude Code connected to KUMODeck. If it is not yet, add the plugin (two lines) and sign in in your browser: Use from an AI agent (MCP). No API key is involved; see Deploy a game from Claude Code without API keys.
- A KUMODeck project for the game. If the game is not on KUMODeck yet, ask "Put this game online with KUMODeck" first.
- The multiplayer guide in the project. The plugin brings it, and so does every KUMODeck template (the
multiplayerSkill in.claude/skills/).
1. Ask for it#
In the game's folder:
Make it playable online."Add online multiplayer" works too.
2. Answer one short question#
There is no single right way to play online, so Claude Code asks once, in plain words, before it builds anything. Each answer comes with its price:
- Who plays? People you know (they join with a 6-letter code), anyone (quick match finds other players), or both.
- How fast is the game? Taking turns, relaxed real-time, or fast action.
- Does cheating matter? For example an impossible score that counts.
- Or "leave it to you": Claude Code picks the cheapest way that fits your game.
Answer with numbers, for example "1: people I know, 2: relaxed, 3: no". The full table of ways and prices per match is on Play online together.
3. What Claude Code changes#
From your answers, Claude Code:
- Turns rooms on for the development version of your project and adds a mode that fits, such as 2 players for a duel or 2 to 4 for a party game.
- Adds a Play online button: quick match with anyone, or a private room with a 6-letter code and an invite link.
- Sends each player's moves to the room and keeps what everyone must agree on (whose turn it is, the board, the score) in shared state, so a player who drops and comes back sees the same game.
- Keeps reconnects working: the SDK reconnects by itself, and a dropped player's seat is kept for 20 seconds, also across a page reload.
- Deploys to the test version and tells you how to try it.
Production stays as it was until you ask.
4. Try it with two players#
Claude Code gives you the test link. Open it in two browser tabs and add ?player=2 to the address of the second one, so the two tabs are two different players. Create a room in one tab and join it from the other with the code.
Then try it the real way: open the test link on your phone, send the invite link to someone you know, and play a round. If something feels off, say it: "The other player's car lags behind on the phone. Fix it and deploy again."
5. Publish it#
When it plays well, say "publish it". A KUMODeck page opens and you press Publish yourself. The game, with its Play online button, is now on the public address.
An example: one of Sara's games#
Sara is one of us at KUMODeck and makes small browser games with an AI to try it out. Two of them are made for playing together:
| Game | The answers that fit |
|---|---|
| Tiny Town Brawl: wreck a tiny model town together; send the link and you are in the same game | people you know · relaxed real-time · cheating does not matter |
| Ring Out: knock the other players off the stage, 2 to 4 players | anyone or people you know · fast action · cheating does not matter |
For Tiny Town Brawl's answers, Claude Code writes a setting where the players' devices connect directly and KUMODeck carries the moves only when a direct connection fails. For Ring Out, where strangers may play, every move is carried, so other players never see roughly where you live from your connection. If scores counted for something, it would keep every move on the server. The rules behind each choice are in Play online together.
What multiplayer rooms do, and what stays your game's job#
| Rooms handle | who is in which room, room codes, the host, one order of shared state for everyone, size and rate limits |
| Your game handles | the rules: moves, hits, who won. Anything worth cheating for should be checked in your own Functions |
| Good fits | turn-based, board and card games, quizzes, party games, co-op, casual real-time games for small rooms |
| Not a fit | competitive fast-action games that need the server to run the game, such as shooters or fighting games with rollback |
Rooms keep nothing after everyone leaves. To keep a player's progress, add cloud saves.
Limits to design for, from Limits:
- Messages per player: 30 a second by default; more is dropped, and a player who keeps flooding is disconnected.
- Invite links for direct rooms expire after 30 minutes by default, and after 24 hours at most.
What it costs#
Rooms are billed at cost from your prepaid balance; there is no free tier. As an estimate, a 30-minute match of 4 players costs well under a cent with the ways in Play online together, and close to nothing when the players' devices connect directly. The building blocks behind it are on Multiplayer rooms.
New to KUMODeck? Start here.
Questions and answers#
Do I need to run a game server?#
No. The rooms run on KUMODeck: who is in which room, the codes, the host and the shared state. Your game keeps its own rules, and anything worth cheating for can be checked in your own Functions.
How do people I know join my game?#
They join a private room with the 6-letter code, or open the invite link you send them. Quick match puts anyone who presses Play online in a room together.
What happens when a player's connection drops?#
The SDK reconnects by itself, and the player's seat is kept for 20 seconds, also across a page reload. The shared state is the same when they come back.
Can I test multiplayer on my own?#
Yes. Open the test link in two browser tabs and add ?player=2 to the address of the second one, so the tabs are two different players. Then create a room in one and join it from the other.
How often can my game send moves?#
30 messages a second per player by default, with short bursts up to twice that. Sending positions 10 to 20 times a second and interpolating is usually enough. A game that needs more raises it per mode with limits.messagesPerSecond, up to 240.
Is the match kept after everyone leaves?#
No. Rooms keep nothing after the last player leaves. To keep scores or progress, add cloud saves.