Skip to content

Play the examples ​

The two game templates, the smallest example and the multiplayer kits, built and hosted right here. The kits play in rooms on the hosted room server: open Play together, copy the link the corner shows, and open it in two or three more tabs (or send it to a friend). Each one opens in a new tab as the shipping build: the game's TypeScript compiled to a WebAssembly component, running in the wasm sandbox on a WebGPU renderer. Nothing to install.

You need a modern browser

Any current desktop browser with WebGPU enabled. Splat worlds fall back to WebGL where WebGPU is off. If a game shows a pink error instead of a world, Troubleshooting has the symptom list.

First-person shooter

A splat arena, six animated enemies that walk at you, a hitscan weapon, health pickups, a HUD and a win condition. The fps template with zero edits.

templates/fpswasm sandbox

click to play · WASD move · space jump · mouse aim · LMB fire · R reload

Third-person adventure

A follow camera, locomotion states, a guide NPC you can talk to, and interactables with two-choice dialogue. The third-person template with zero edits.

templates/third-personwasm sandbox

click to play · WASD move · shift run · space jump · mouse orbit · E interact · 1/2 answer

Hello world · a Gameable character

A character exported from the Gameable studio, spawned by a small guest that sends two commands and then goes quiet while the wave keeps looping. A HUD counts the frames. What the wasm boundary looks like with nothing else in the way.

examples/wasm-hellowasm sandbox

WebGPU required · nothing to press — watch the wave

Visit · a character's page

Where a character lives and how people visit: the page the Gameable studio publishes for a character, at /<org>/<slug>. It takes the studio exporter's inputs (the character, a lighter copy for phones, the place, the greeting, the mode and the start view); here, with none, the engine's sample character in the white world.

templates/visitwasm sandbox

drag to look · type or talk

Mystery · six players, one hidden role

Up to six players in the arena, one of them secretly "it", told only through their own HUD. The round starts when everyone is ready. Anyone "it" touches is out, then the rest vote on who "it" is; the crew wins by voting "it" out or outlasting the clock, and "it" wins by being the last one standing. A round needs three players. The mystery kit: npm create gameable my-game -- --template mystery.

templates/mysterywasm sandboxmultiplayer

click to play · WASD move · shift run · mouse orbit · R ready · G start now (host) · 1-6 vote · Enter chat

with friends: open Play together, then Copy link and open it in 2 more tabs (3 in all: a round needs three)

Survive · hold the camp at night

Four to six players at a camp ringed by trees. By day, gather wood and build walls; at dusk creatures come out of the tree line, more each night, and hit whatever they reach. A downed player gets up at dawn, and every night you see out on your feet is counted and kept. The survive kit: npm create gameable my-game -- --template survive.

templates/survivewasm sandboxmultiplayer

click to play · WASD move · shift run · mouse orbit · E gather wood at a tree · B build a wall (two wood)

with friends: open Play together, then Copy link and open it in 1 or 2 more tabs

Hangout · a street with friends

Up to twelve friends on a street of six houses, two to a house: chat, pick a colour (it is kept for your next visit), sit on benches, open doors and drive the cars. No win condition. The hangout kit: npm create gameable my-game -- --template hangout.

templates/hangoutwasm sandboxmultiplayer

click to play · WASD walk · shift run · mouse orbit · E door or car · F sit · 1-6 colour · Enter chat

with friends: open Play together, then Copy link and open it in 1 or 2 more tabs

Brawl · first to three knockouts

Two to four fighters in an arena with a punch, a dash and a ground slam. A fighter at 0 health is knocked out and comes back; the first to three knockouts wins the round. Your own fighter moves the moment you press a key (client prediction). The brawl kit: npm create gameable my-game -- --template brawl.

templates/brawlwasm sandboxmultiplayer

click to play · WASD move · J punch · K dash · L ground slam

with friends: open Play together, then Copy link and open it in 1 or 2 more tabs

Steal · grab, steal and save

Up to six players, each with a base. Brainrots ride a conveyor every 8 seconds: walk into one to grab it, stand 3 seconds in another player's base to steal their newest. Every brainrot you own pays coins every 10 seconds, and your coins, brainrots and shield are saved, with income for the time you were away (up to 8 hours). The steal kit: npm create gameable my-game -- --template steal.

templates/stealwasm sandboxmultiplayersaved progress

click to play · WASD walk · shift run · mouse orbit · Q shield (10 coins) · R rebirth (100 coins)

with friends: open Play together, then Copy link and open it in 1 or 2 more tabs

Collect · eggs, pets and trades

Up to eight players pick up coins, buy eggs that hatch into pets of random rarity, combine four of a kind into the next tier and trade pets with each other. Each trade moves both sides at once or not at all, and your pets and bucks are saved. The collect kit: npm create gameable my-game -- --template collect.

templates/collectwasm sandboxmultiplayersaved progress

click to play · WASD walk · B buy an egg (25) · C combine · T offer a trade to the nearest player · Y accept

with friends: open Play together, then Copy link and open it in 1 or 2 more tabs

Run them yourself ​

Hello world needs a character exported from the Gameable studio; the export and import tutorial brings yours in.

Every one of these is a directory in the engine checkout, and the same build you just played is what npm run build in that directory produces:

sh
npm run dev -w templates/fps            # http://localhost:5179
npm run dev -w templates/third-person   # http://localhost:5181
npm run dev -w examples/wasm-hello      # http://localhost:5180
npm run dev -w templates/visit          # http://localhost:5188
npm run dev -w templates/mystery        # http://localhost:5192
npm run dev -w templates/survive        # http://localhost:5195
npm run dev -w templates/hangout        # http://localhost:5196
npm run dev -w templates/brawl          # http://localhost:5199

A kit's room server on your machine is npx gameable serve --direct in its directory; Make a multiplayer game walks one from scaffold to two tabs.

Install covers getting the checkout running.