We're a small studio (Three Lemurs) running an experiment: ship one small mobile puzzle game every two weeks (one mechanic, 500+ levels, 4 languages) using Godot 4 and AI for most of the work. Six weeks in, five games are live on Google Play:
- Hedgie Queens: a logic puzzle, one hedgehog queen per colored region (527 levels)
- Penguin Slide: ice-sliding puzzles (500 levels)
- Paws & Yarn: unroll one line of yarn through every square, visiting the toys in order (500 levels)
- Lily Hop: bring each frog to its home in as few moves as you can (500 levels)
- Nekoffee: a cat café puzzle where your winnings decorate the café
How we split the work between humans and AI
- Humans: the game idea, the "twist" each game needs, art direction, playtesting, and saying "no, this isn't fun."
- AI for code: most of the code (puzzle engines, level generators, solvers, UI, ads/billing integration, translations) plus a lot of the boring release work (store listings, screenshots, release builds), with Claude Code.
- AI for art: all the art is AI-generated. Characters, backgrounds and icons come from ChatGPT, and Kling animates the characters. A human picks, fixes and keeps each game's style consistent. It's marked as AI-generated on the store.
- The rule that made it work: a single
CLAUDE.mdfile at the repo root that acts as a living rulebook. Every time something goes wrong, the fix becomes a rule ("UI mistakes already made: do not repeat"). The AI reads it at the start of every session, so it gets better at our specific project over time instead of starting from zero. - Trust, but test: when we moved Nekoffee's level generator from a JavaScript prototype into Godot, the AI rewrote it in GDScript and wrote a test checking that both versions produce identical levels.
Lessons
- Levels: generator + solver, never hand-checked. Every level is generated procedurally and validated by a solver: unique solution, solvable by logic without guessing. The AI is great at writing these; humans are needed to judge whether the result is fun.
- Solvers don't catch boring patterns. In the first version of Penguin Slide, the generator kept reusing the same 4-block pinwheel trap. Every level was valid and unique, and you could solve all of them in 3 seconds once you saw the trick. Now we mix trap shapes, rotations and mirrors, and someone plays 20 levels in a row before we call a game done.
- Build a shared core from game #1. Ads, billing, daily puzzle, weekly challenge, notifications, level map and the UI kit live in one
core/folder that a script syncs into every game. Each new game took a fraction of the time of the first one. The catch: a hardcoded product list in core broke the store in Nekoffee, which sells different coin packs. Shared code needs override points, not constants. - Monetize like a player, not a spreadsheet. No ads before level 10, a small coin "thank you" after every interstitial, and help (hints, lives) offered only when you're actually stuck.
- Release work is a big chunk of "two weeks." Consent forms, data safety, 4-language listings, Play's edge-to-edge and large-screen warnings, review cycles. We wrote a publishing playbook so it's a checklist, not a week of surprises.
What's next: we're watching D1/D7 retention to decide which games get more love (and maybe an iOS release) and which ones we cut.
Happy to answer questions about the workflow, the prompts, or the generators in the comments.
The games (Android, free)
- Hedgie Queens: https://play.google.com/store/apps/details?id=com.threelemurs.hedgiequeens
- Penguin Slide: https://play.google.com/store/apps/details?id=com.threelemurs.penguinslide
- Paws & Yarn: https://play.google.com/store/apps/details?id=com.threelemurs.pawsandyarn
- Lily Hop: https://play.google.com/store/apps/details?id=com.threelemurs.lilyhop
- Nekoffee: https://play.google.com/store/apps/details?id=com.threelemurs.nekoffee
