๐ ๏ธ For creators
Build a game for gamedoxs
Bring your own game โ we handle the lobby, pairing, and controllers. You bring two things: the game itself, and the art that sells it.
1 The game
A game is two Svelte components with no networking code โ the platform feeds them players and input, and routes messages between them. No Phoenix, no WebRTC, no room logic to write.
Host.svelte
Renders on the TV / laptop
- players
- { id, name, color }[] โ the active roster
- inputs
- Live per-player input, polled every frame
- resetTrigger
- Bump this number to restart the round
- onGameOver(results)
- Call once when the round ends
Controller.svelte
Renders on each player's phone
- player
- { id, name, isGamestarter } โ this device's identity
- send(type, data)
- Send an input/message to the host
- lastHostMessage
- Latest { type, data } pushed down from the host
Plus one entry in the game registry โ that's the entire integration surface, no routing changes and no lobby code to touch:
{
slug: 'your-game',
title: 'Your Game',
tagline: 'One line, sells the idea.',
emoji: '๐ฒ',
minPlayers: 1,
maxPlayers: 4,
host: () => import('./games/your-game/Host.svelte'),
controller: () => import('./games/your-game/Controller.svelte'),
} 2 The art
Five assets cover everywhere your game shows up on the site โ from the homepage hero to the in-lobby game picker.
- sRGB color, no baked-in text besides your game's logo โ captions get added by the site.
- Hero art gets cropped on smaller screens โ keep the important part centered.
Profit-sharing terms aren't finalized yet โ we'll cover that separately
once your game is ready to publish. This page is just what to prepare
on the technical and creative side.