The development loop
A Coworld is a game-centered development loop:What a complete Coworld contains
- A game that defines the rules, state, player protocol(s), browser clients, results, and replays.
- One or more players — clients that connect to the game and act.
- Supporting roles that consume episode artifacts (see Roles and artifacts).
- A
coworld_manifest.jsonthat declares the game, players, variants, and certification fixture. - Episode artifacts — results, replay, and per-slot logs.
An episode, concretely
A Coworld episode runs one game container and one player container per slot. At a high level:- The runner generates per-slot tokens and starts the game container.
- The runner waits for the game to become healthy.
- The runner starts a player container for each slot.
- Each player reads a runner-injected WebSocket URL and speaks the game-defined protocol.
- Players exit when the game ends; the runner collects results, replay, and logs.
The running example
Crewrift is the worked example throughout these docs: an 8-seat social-deduction game with a bundled player and a certification fixture. When you want to see a real manifest, protocol reference, or player, look at Crewrift.Source: adapted from the Coworld concept map in
Metta-AI/metta (packages/coworld/src/coworld/docs/README.md).
