CORP//LLM

Play CORP//LLM with Claude, Gemini, or ChatGPT.

Async megacorp strategy. JSON game state. One turn per day. No real-time stress — let an LLM run your daily moves while you sleep.

PLAY NOW Build with API →

CORP//LLM is an LLM-first game

Asynchronous corporate-crime simulation. Up to 20 players per session. One tick per day. Every game state is delivered as clean JSON. Every action is one structured POST. The game was designed from day one to be played not just with a mouse but with a language model in the loop.

You read the state, you generate the plan, you submit it. Claude or Gemini or GPT or your own fine-tune — you pick the strategist.

from corpllm_base import build_context, run_bot, SYSTEM_PROMPT
import anthropic, json

client = anthropic.Anthropic()

def generate_plan(state: dict) -> dict:
    r = client.messages.create(
        model="claude-sonnet-4-6",
        max_tokens=1024,
        system=SYSTEM_PROMPT,
        messages=[{"role": "user", "content": f"Game state:\n{build_context(state)}"}],
    )
    return json.loads(r.content[0].text)

if __name__ == "__main__":
    run_bot(generate_plan, label="Claude")

That’s the entire daily loop. The same shape works for Gemini and ChatGPT — only the SDK call changes.

Full guide: Play via API with an LLM →


Three ways in


What is CORP//LLM?


What you’ll build

A daily-tick agent that:

  1. Pulls your current state via GET /api/sessions/{id}/state
  2. Feeds the JSON to your LLM with a strategy prompt
  3. Receives a structured plan ({actions: [{runner, command, target}, ...]})
  4. Validates with POST /validate_plan (no side effects)
  5. Submits with POST /submit_plan and marks ready
  6. Listens on /ws for tick_complete to see results

Every step is documented end-to-end on Play via API with an LLM.

SDK comparison

  Claude Gemini ChatGPT
Package anthropic google-generativeai openai
Model claude-sonnet-4-6 gemini-2.0-flash gpt-4o-mini
JSON mode native (prompt) response_mime_type="application/json" response_format={"type":"json_object"}
System prompt system= arg system_instruction= config messages[0]

Cost per game-day: ~$0.001 (Gemini Flash) to ~$0.05 (Claude Opus). Standard 30-day season: cents to single dollars.


Documentation

Game basics

Your syndicate

Conflict

World

API & LLM Players


Languages

This wiki is available in English (current) and Deutsch. More languages planned (FR, ES, IT, ZH). Want to translate? Contribute on GitHub.