On this page
Quickstart
Installation
Download the tp CLI tool to develop, playtest and publish games.
curl -fsSL https://ctrlz.gg/install.sh | shirm "https://ctrlz.gg/install.ps1" | iexTo learn more about the commands available run tp help.
Your first game
Use tp new my-game to dive right in with a simple starter project that demonstrates some basic features: a character to walk and jump with, balls dropping from a post, and other players joining in.
tp new my-game
tp dev my-gamectrlz games are written using TypeScript. Using an editor like VS Code you can get autocomplete suggestions in scripts. A game’s scripts are in three folders:
server/runs once for everyone: it builds the world and decides what happens in it.client/runs on each player’s device: the camera, the UI, what the player presses.shared/is what both use, such as the game’s components.
You can use tp dev my-game to preview your game in the browser and see it reload as edits are saved to get feedback in real time. It prints an address to open, such as localhost:8080/?watch to play alone. Running tp check my-game builds the game and checks its types without running it.
Check out the embedded starter project below, you can edit its scripts and try out the changes live.
Examples
Examples are small games, each showing one thing. tp new --example lists them, and this starts a copy of one to read and change:
tp new my-chat --example chatPublishing
Developer account
Anyone can play, but publishing needs a developer account. Sign in to the developer dashboard with your email and apply to publish, telling us a little about what you’d like to make. Then sign in to tp with the same email:
tp logingame.toml
Ensure your game.toml has:
id: the game’s address,@<your username>/<id>. It can’t change once published.image: a 1280×720 picture inassets/, shown in the game list.nameanddescription, as players will see them.
Publish
tp publish my-gameEvery version is reviewed before players get it: a person plays it and reads its code. Once approved it goes live, and new players get it.
Updating
Keep your tp up to date using tp update. Run tp changes my-game to see what changed for your game.
Working with agents
Projects created with tp new ship with CLAUDE.md and AGENTS.md instructing agents to use tp guide to learn more about engine features. Agents can also read the changelog with tp changes and follow its Do: lines to migrate your code. You can also use agents as an interactive teacher, for fast prototyping, etc.
Next steps
These docs are a work in progress. Until then, run tp guide to read the creator guide.