Meaningful Play 2026
You design the game. An AI agent builds it with you. This hub has everything your team needs: the approach, the tools, the template, and the submission requirements.
How It Works
The key insight: the AI doesn’t design your game — you do. Your job is to sharpen your semantic knowledge: the ability to describe exactly what you want in precise, unambiguous language. The better you describe it, the better the AI builds it.
Write CLAUDE.md — your AI agent’s rulebook
CLAUDE.md is the most important file in the project. It tells your AI agent the rules of your project: what files exist, what the architecture is, what it must never do, and how to behave every session. Without it, the AI has no context and makes generic choices. With it, the AI builds your game consistently across every session.
Write DESIGN.md before any code
Describe your game in full: the players, the core mechanic, the turn structure, the win conditions, and the visual design. The AI reads this before it writes a single line. If your design doc is vague, you get vague code. If it is specific, you get a real game. This is where your semantic knowledge does the most work.
Separate game logic from rendering
src/game/ contains pure Python — no pygame, no screen, no drawing. src/ui/ contains all rendering. This is the single most important architectural rule. It means your game logic is fully testable without a screen, and your rendering can change without touching your rules. The hockey card game (Drop of the Dot Dot) was built this way: 76 passing tests, zero pygame in the game layer.
Build one module at a time — test after every change
Never ask the AI to build the whole game at once. Pick one module, build it, run
python -m pytest tests/, confirm the game still launches, then move on.
Small increments catch mistakes early. The AI agent should append one line to
log.md after every session so the next session starts in exactly the right place.
All constants live in config/game_config.json
No magic numbers in code. Every color, screen size, speed, score value, and game
parameter lives in config/game_config.json and is loaded once at startup.
This lets you retune the game’s feel — speed, balance, colors — by editing one
JSON file. The AI never hardcodes a number; it always reads from config.
Semantic Knowledge
Describe, don’t implement
The AI writes code. You describe game behavior. Your skill is precision of language: “the player places a card face-down at one of five locations, then all locations resolve simultaneously” generates better code than “make a card game.”
Architecture
Game logic tests clean
Pure Python in src/game/ means you can run 50 automated tests in under
a second. If a rule is wrong, you find it before you see it on screen. This is how
Drop of the Dot Dot shipped with 76 passing tests.
Workflow
log.md is your memory
One line per session. What changed, what files were touched. The AI reads this at the start of every session and picks up exactly where it left off — no repeated work, no lost context.
Step 1
Every game must be designed and built with an AI coding agent. Pick one of the two supported options and have it installed before the jam starts.
Option A — Anthropic
Terminal-based AI coding agent. Works from your command line inside any project folder.
Reads CLAUDE.md automatically at the start of every session.
Best for teams comfortable with the terminal.
npm install -g @anthropic-ai/claude-codeclaudeOption B — GitHub
AI assistant built into VS Code. Inline suggestions and an Agent chat panel.
Point Copilot Agent at CLAUDE.md and DESIGN.md
at the start of each session to give it context.
Also required for all teams
Step 2
Download the starter zip. It contains the full directory structure,
a filled-in CLAUDE.md, a DESIGN.md template with every required
section, a working main.py entry point, a sample game state with tests,
and a game_config.json with all common settings pre-wired.
Unzip, fill in DESIGN.md, and start prompting your AI agent.
Python — pygame template
The file structure shown above. Build with Python 3.10+, pygame-ce,
and pytest; ship to the web via pygbag or run on the desktop. The
CLAUDE.md already has the architecture rules, session protocol, and
workflow your AI agent needs, and the tests pass before you write a single line
of game code. Choose this if you prefer Python.
JavaScript template
The same architecture — separated game logic and rendering, all constants in
one config file, tests that pass out of the box — in plain ES modules and an
HTML5 <canvas>. No build step and nothing to install just to
play; tests run on node --test, and a bundled tool packages your game
into an upload-ready zip. Choose this for the shortest path from code to a page
anyone can open.
The two files that matter most
CLAUDE.md gives the AI agent its rules. Without it, the AI guesses. With it, the AI follows your architecture consistently across every session — same folder structure, same style, same constraints.
DESIGN.md gives the AI agent its goal. Your game design doc is where your semantic knowledge lives. Describe the mechanic, the turn structure, the win condition, and the feel. The more precise you are, the more precisely the AI builds it.
Step 3
Every submitted game must meet these requirements. Use the template, document your design decisions, and ship before the deadline.
The Game
What you ship
The AI Agent
How you build it
src/game/ with zero pygame importsDocumentation
What you write
DESIGN.md with all sections filled in before coding startsCLAUDE.md tuned to your game (not just the template default)README.md with play instructions and controlsSubmission
How you submit
python -m pytest tests/