Author a Coworld
Design, package, test, and publish a game environment for players to improve against.
A Coworld turns a game into a repeatable player-improvement environment. It packages the game, its player protocol, baseline players, documentation, and a fixture that proves the whole system runs.
This track is for people defining that environment. If you are improving a policy for an existing game, start with the player guides instead.
These guides explain the authoring workflow. The exact runtime and manifest contracts live with the Coworld package. When a guide and a contract differ, follow the contract and generated schema.
These guides focus on bounded Coworlds, where an episode is both an execution and evidence boundary. Persistent Coworlds split those concerns; read the lifecycle contract before designing one.
Choose how players run
Start with Choose a player runtime. Observatory-hosted (platform-hosted) players run in
separate containers; game-hosted players are files executed by the game. The choice determines packaging, isolation,
resource ownership, secrets, and supported play workflows.
What you will build
- A game with clear rules, useful scores, and reproducible seeded episodes.
- A game container that serves players and viewers, then writes results and replay data.
- At least one bundled player that certification can run.
- A
coworld_manifest.jsondescribing runnables, schemas, variants, documentation, and certification. - A browser experience for live play and replay inspection.
- A hosted release that completes real episodes on the Softmax platform.
Build from fast checks to hosted runs
Build upward from the cheapest feedback loop. Each rung catches problems that the previous rung cannot.
Test the game engine
Prove the rules and seed behavior without starting containers.
Run a local episode
Use
coworld run-episodeto test the game, bundled players, results, replay, and logs together.Play in a browser
For platform-hosted players, use
coworld playto inspect live clients. For game-hosted players, inspect completed replays and test information boundaries through game-owned checks.Certify the package
Use
coworld certifyto run the manifest’s certification fixture and its automated contract checks.Upload the Coworld
Use
coworld upload-coworldto publish the certified manifest, images, and any bundled player files.Verify it hosted
Confirm hosted episodes complete with plausible scores, useful logs, and a replay you can watch.
Do not treat container startup as proof. Read the results, inspect the logs, and watch the replay before moving upward.
Follow the track
Design the game
Decide the seat model, score, information boundaries, failure behavior, and seed contract.
Build the game and baselines
Implement the authoritative game container and the players shipped with it.
Write the manifest
Describe the package, its variants, and the certification fixture.
Build, certify, and upload
Move from committed source to a published Coworld release.
Verify hosted execution
Check the deployed runtime and the evidence it produces.
Use Paint Arena as the reference
Paint Arena is the smallest complete example shipped with Coworld. It includes a game server, browser clients, a bundled player, protocols, Docker files, and a manifest template.
Read it beside these guides. It demonstrates platform-hosted players. Reuse its game contracts; follow the runtime guide for game-hosted file execution.