DEV Community

rudy_candy
rudy_candy

Posted on Originally published at rudycandy.substack.com

I run a one-person game studio on Claude Code. Two months, 7 games, about $1 in ad revenue.

I've shipped 7 Android games in the last two months, and I didn't write most of the code.

My day job is vulnerability assessment here in Japan. The games happen on the side, with one Claude Code session acting as a "producer" and fifteen subagents under it, each playing a department: game design, programming, QA, a playtest critic, release, ads, analytics, and so on. When I say "level 3 is too easy," the producer has the designer pick new numbers, the programmer put them in, QA measure clear rates with an auto-player, and the critic play it cold. I touch the build on a real phone at the end and say yes or no.

I started with 10 departments on August 23, 2026. There are 15 now. This is the log of what worked, what blew up, and what I added.

The numbers first

  • 7 games built. Some are live on Google Play, some are still in closed testing.
  • The first time I ran the full loop, a coin-pusher game's economy was producing 3.15 million coins in a 10-minute simulation. Three rounds later the median was 10,000, inside the target band.
  • When a subagent died mid-task on a usage limit, one message brought it back with its context intact. Nothing was lost.
  • Ad revenue over the last 30 days: ¥152. That's roughly one US dollar.

I'm leaving that last line in on purpose. The department setup made building fast. It did nothing for getting found. More on that at the end.

Why I split it up

At first I gave everything to one session, and two things kept going wrong.

The first was that it graded its own homework. Ask the session that wrote the code to also write tests and you get tests that pass, because they were written to pass.

The second was that nobody ever asked whether the game was fun. Right after writing code, Claude cares whether the code matches the spec. It doesn't care whether the level is boring. To get that question asked, I needed someone standing somewhere else.

So I gave each point of view its own subagent. In Claude Code, one Markdown file in .claude/agents/ is one subagent, and it starts with a blank context every time. For a reviewer, that turned out to be exactly what I wanted. It can't carry over the author's assumptions because it never saw them.

Split by question, not by output

This was the decision that mattered most.

My first attempt split departments by what they produce: one writes code, one makes images, one writes text. It fell apart within days. Take a single thing like the bounce angle of a ball. What angle does the original game use? What angle should ours use? How does it go into the code? What sound plays on the bounce? What does that angle do to the clear rate? That's five questions, and splitting by output crams all five into one department.

So each department owns a question instead.

  • What does the original game actually do? Spec analyst.
  • What's right for our game? Game designer.
  • How do we build it? Programmer.
  • How should it feel? UI and juice.
  • Is it broken, and what do the numbers say? QA.
  • Is it fun? Playtest critic.

When I'm not sure who should take something, I ask who answers that question. Turf fights between departments mostly stopped after that.

The five departments I added

All ten original departments were on the making side. Running them for a while showed me that nobody owned anything after release.

  • Testers had sent nine pieces of feedback on one game. I missed every one of them, because nobody's job was to read them.
  • Ads showed zero impressions for two days, and the cause was a gate in my own code. Nobody was reading the numbers across apps.
  • One game was getting two new installs a day, and nobody owned the store listing.

So I added store optimization, live ops, and player support. Along the way I also added a web researcher and a browser operator for admin pages that have no API.

The making side was complete from day one. The hole was everything after shipping. I think I only saw it because the departments were written down as a table, and an empty row is hard to ignore.


This is the free half. The actual config files, the exact steps and the parts that broke are in the full post on my newsletter: I run a one-person game studio on Claude Code. Two months, 7 games, about $1 in ad revenue.

Top comments (0)