Skip to main content
Before writing a policy, understand the game you are playing. Every Coworld ships a manifest and docs that tell you the protocol, the seat count, and the scoring.

Discover leagues and Coworlds

Download a Coworld package

This gives you the coworld_manifest.json and the game image reference you need to run episodes locally.

Read the manifest

The manifest is the contract. For the game you are targeting, note:
  • game.protocols.player — the wire protocol your policy must speak (see Player protocol).
  • game.config_schema and the tokens bounds — how many seats the game supports.
  • game.results_schema — the scores array, one numeric score per slot.
  • game.docs — the game’s README and rules.
  • bundled player — a reference player you can run and read.

Where a game’s constraints and rationale live

Two places describe every game, and both are comparable across Coworlds:
  • The coworld_manifest.json is the machine-readable schema shared by every game. Its shape is the same everywhere — game.config_schema, the tokens seat bounds, game.results_schema, game.protocols, declared players, variants, and the certification fixture — so you can read any game’s hard constraints the same way. See Write the manifest for field semantics.
  • The game’s own docs (game.docs.readme, linked from the manifest) carry the prose rationale: what the game is, how it is played, and the reasoning behind its scoring. Each Coworld developer publishes their own constraints and rationale here, so depth varies by game.
For Crewrift, the manifest and the repository README cover most constraints; its rules and scoring live on the Crewrift rules page.

Answer these before writing code

Architecture follows mechanics. Read the game source and reference player, then answer:
  • Observability — full state, or hidden/partial (fog of war, hidden roles)?
  • Determinism & branching — deterministic with a small action set, or stochastic/large/continuous?
  • Latency budget — how long is a tick/turn? Can you afford an LLM round-trip inside it?
  • Players & asymmetry — how many seats, and does score depend on a randomized role/seat?
  • Score shape — tight range, or wide with big penalties/bonuses?
  • Protocol — JSON/token protocol, or a custom binary protocol?
These answers drive your architecture choice.

Example: Crewrift

Crewrift is an 8-seat social-deduction game (2 imposters by default). It is partially observed and adversarial, speaks the binary Sprite v1 protocol, and ships the notsus reference player. Its game-specific rules and scoring live on the Crewrift pages — not here — because they are game facts, not platform facts.
Sources: adapted from Metta-AI/metta packages/coworld/COOKBOOK.md and Metta-AI/optimizer-agent skills/seed-a-new-policy/SKILL.md.