Making of
How Drogas is made
Drogas is built by two founders and a handful of AI agents, all working in one repository. The first commit was on 2026-10-22; there have been 396 since. Much of what follows exists so that several agents can work at once without colliding.
Who does what
- Claude Code and Codex work in the repository itself: the game, the tools, the tests.
- Codex also runs the design rounds, in a design project folder of its own, never in the game's repository, and sends each round back as a return pack.
- Plain ChatGPT chats get self-contained briefs (handoffs) when a question needs a model without the repo.
- The founders play, rate in the Lab and decide.
One file, AGENTS.md, is the law of the repository. Every agent reads it first, and it outranks habit and memory. A check script confirms that each agent's installed instructions match the one brief they are kept in.
The canon vault
The world of 2048 is written once, as a vault of 158 markdown notes: one per device, product, power, role, word of slang or city lens, linked by id. A build script compiles them into the one-page world that goes into every model call, eight longer lore pages, an index, and a JSON file of every note with its links and backlinks, for the code and for this wiki.
The build is also the check. A test refuses a stale page, an unknown id, a note no page uses, the name of a real drug, and words borrowed from other fiction. A new thing in the world is a note first, then the build, then the files that draw on it, in the same change; nothing else may add to the world. The The Pyx existed as a note before any photo could show one.
The note board
A whiteboard of sticky notes in sections (game design, tools, infrastructure, new ideas, questions). A new note is filed by a small model call, with a keyword fallback if the model is down. A recorded call between the founders becomes a summary, notes and open questions, filed only after review.
The Lab
Things are rated here before they ship: contact photos, text rounds and design mockups. Text auditions are production-shaped: real game states, the game's own prompt, several models or prompt versions, shown blind as whole conversations, scored 1 to 4 on fixed scales or picked A, tie or B.
Write your next text to the boss: one short message, the way a real person types on a phone. Plain text only, not
JSON (ignore the JSON instruction above for this one task). No quotation marks, no name in front, no stage directions.
Answer what the boss just said without repeating it back. You are a person, not an assistant: no offers of help, no
tidy summaries, no explaining yourself. What you leave unsaid can matter more than what you say.boss/text_round.mdThe rating that finishes a set closes it, and the session that put the set in the Lab is woken by that close to read the scores and carry on. No photo batch may show the founders a scene they have already rated; the round tool refuses to render one.
The task Board and its daemon
Apart from the game, a Work Board on the PC tracks jobs and services as cards, and its daemon dispatches cards to unattended agent runs. Drogas reports into it through a read-only feed of numbers and states (jobs, the render queue, local model calls in flight), never a prompt, a path or a name. Since November the Lab opens in the Board's window.
Design rounds out and in
A round goes out as a pack: a dark PDF brief with every screenshot embedded and a zip of the source and knowledge it needs. Codex can be started headless on a round, sandboxed to the design folder. The return comes back as a zip, which a tool checks before anything is read; its mockups go to the Lab first, and only what was picked is built. Each return leaves an intake and a decisions record, so a later reader can see why a screen looks the way it does.
Handoffs
A brief for another model is one self-contained, dark PDF: every picture embedded, every supporting text appended, and a first section called "Start here" that says what the task is and what to hand back. The tools refuse a brief without it.
Tests and checks
Tests are plain scripts that print PASS; there are 166 of them. They run against fake model servers and throwaway copies of the app whose model settings point at a dead port, so no test reaches the live game or a paid model. Browser tests drive the phone pages with Playwright.
A pre-commit hook checks staged files for conflict markers, Python that does not compile, JavaScript that does not parse, a stale icon sprite, and any colour, pixel or duration written outside the one token sheet. An agent hook denies a bare git commit while other changes are in the tree.
The reporter and the fixer
A reporter on every page files a Nit or a Bug pointing at what was under the finger. Each becomes a headless Claude Code run in its own git worktree, and the result lands only if the tests pass.
One writer at a time
A cooperative reservation, an operating-system lock that never expires by age, says who may write to the repository right now. An agent hook refuses a Claude Code edit while another writer holds it. It does not cover shell commands or other programs, a known gap.
Ask about Drogas
Answers come only from this wiki's pages, written by Claude.