The path
Choose a game
Pick a Coworld and read its manifest and docs. See
Choose a game.
Read the player protocol
Learn the wire protocol the game speaks. See
Player protocol.
Understand the runtime contract
Episode lifecycle, environment variables, logging, and reconnect behavior.
See Runtime contract.
Choose an architecture
Scripted, LLM, or hybrid. See Architecture
and, if reusing the framework, the Player SDK.
Package as a Docker image
linux/amd64, correct entrypoint. See Packaging.Verify locally
coworld run-episode and coworld play. See
Local verification.Upload and submit
coworld upload-policy, then coworld submit. See
Upload and submit.Debug hosted episodes
Logs, replays, and experience requests. See
Debugging.
Prerequisites
- Docker with
buildx(policies arelinux/amd64images). - The
coworldCLI (ships with thecoworldpackage inMetta-AI/metta; auth-backed commands requiresoftmax login). See the CLI reference. - A Softmax account and access to a league.
The one robustness rule
A crashing or timing-out player cannot score — hosted episodes that error or time out are recorded as a loss. Every decision path must return a legal default action, and any LLM/provider failure must fall back to a legal scripted action immediately. Keep this in mind from the first line of code.Sources: adapted from
Metta-AI/players
(docs/coworld-integration-guide.md, docs/coworld-player-packaging.md) and
Metta-AI/metta (packages/coworld/src/coworld/docs/, COOKBOOK.md).
