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 sprint · 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
Action · the Drowned Gate
The action template with Hollow Reign's first room rebuilt on it: choose a hero on the turntables, cross the drowned court, cut down the risen soldiers, through the broken doors. With the studio's heroes copied in; without them, the engine's sample character stands in for every hero.
templates/actionwasm sandboxtouch
WebGPU required · W A S D or the thumb stick · click, J or a tap attacks
Tala Me This
A trivia show hosted by Tala, a character exported from Gameable CC: he reads every question, counts down louder as the clock and the rounds climb, and hears your answer. Play solo, or host a party with a room code.
examples/tala-me-thiswasm sandboxparty rooms
WebGPU required · tap or talk
Race · obstacle rounds
Twelve players race above a void: gap jumps, a spinning sweeper, moving platforms and side pushers. Checkpoints catch falls; the finish line awards places. npm create gameable my-game -- --template race.
templates/racewasm sandboxmultiplayer
click to play · WASD move · Space jump · mouse orbit
with friends: open Play together, then Copy link and open it in 1 or 2 more tabs; the round starts 5 s after the second player joins
Run them yourself
Hello world includes two characters exported from the Gameable studio, through Git LFS: the greeter and steph. Run git lfs pull before running or building it. ?character=steph picks the second; without it you get the greeter. 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 examples/tala-me-this # http://localhost:5191
npm run dev -w templates/race # http://localhost:5199A 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.