← All prototypes

How it was made · Tower defense · 2D

Gnome Guard

Designed by Ray H., backend developer; the start of a real game he'll build on. Built by Claude Code with the Game Prototype Builder prompt.

The idea, in their words
Tower defense in a vegetable garden. Slugs and snails crawl down garden paths toward the cabbages. Place garden gnomes and flowers that defend in different ways, and upgrade them between waves with seeds you earn.
The one thing it had to have
at least one defender that slows instead of damages (a sticky honey flower)
How they chose to work
Check-ins: Standard · Explain my calls
Where their calls changed the game
Built to grow: waves live in a plain data file, and the code keeps rules, drawing and input apart. He approved four calls the AI flagged, and asked for bigger pests with googly eyes.
A cartoon garden with gnomes, a honey flower puddle on the path and slugs heading for the cabbages

Below are the actual documents from the build, unedited: the AI's messages, its plan and its replies. The person's answers were written by us for this demo, the way a real buyer would answer.

The check-insWhere they approved the plan, playtested, and asked for changes

Every checkpoint exchange (my question and the person's reply), in order.


Checkpoint 1: Design approval

Game Prototype Builder

I've written the one-page design in GAME_DESIGN.md (shown in full in chat). It has five open choices for you: the third defender, where you can place, when you can upgrade, the art direction, and how the Fair difficulty curve should feel. Each has my recommendation marked.

What I need from you: approve the design, change anything, or pick from the options (or say "you decide"). I won't write game code until you say go. Once you do, I'll build the core loop and then a first playable run, test it, and stop again so you can play it.

Person

Approved. The data/sim/render split and the fixed timestep are exactly what I'd want to build on.

Picks: 1a, 2a, 3a (you're right, anytime upgrades beat my literal wording), 4a. For 5 I want b: most people win, and stars are the challenge. My first players will be my kids.

One change: put the waves in a plain data file (waves.js or JSON) from day one, with a comment block explaining the format. That's the first thing I'll edit.

Game Prototype Builder

Got it. Locked decisions:

  • Third defender: Pepper Gnome (splash damage).
  • Placement: fixed plots beside the path.
  • Upgrades: anytime, including mid-wave.
  • Art: top-down storybook, flat bright colors, thick dark outlines.
  • Difficulty curve: most people win; the 1 to 3 stars (cabbages left) are the challenge. I'll tune it so a sensible first-time player wins, and a perfect 3-star garden takes some thought. Kids as first players also means I'll keep the reading light and the buttons big.
  • Your change: waves live in src/data/waves.js as plain data with a comment block at the top explaining every field. That's where to start editing.

Building now. Next stop: the first playable build, tested, for your playtest.


Checkpoint 2: First playable playtest

Game Prototype Builder

The first playable build of Gnome Guard is ready: a full run from the title screen through 8 waves to the win or lose screen, then Play Again. Rough edges are expected at this stage.

How to open it: double-click dist/gnome-guard.html. It runs offline in any modern browser, with nothing to install.

What I tested (automated, Playwright + Chrome, time sped up 8x):

Run Size Result Errors Network requests Frame rate (median / min)
Desktop 1280x800, mouse Won, 10 cabbages 0 0 51 / 17 fps
Phone 390x844, touch Won, 9 cabbages 0 0 53 / 16 fps
Desktop, network off 1280x800, mouse Won, 9 cabbages 0 0 59 / 29 fps

In every run, the bot pressed the real Play button, planted and upgraded defenders by clicking or tapping plots and menu buttons, reached the end screen, and pressed Play Again. A clean new run started each time.

Balance check (headless, 200 simulated players who place defenders at random but sensibly): 80% win, 28% get 3 stars, and cabbage losses peak at wave 4 (speedy slugs) and wave 8 (Big Snail). A planned run with well-placed honey wins with all 10 cabbages. The same plan with honey swapped for gnomes loses at wave 7, and gnomes alone lose at wave 4 or 5. One honest caveat: random players who use honey win no more often than random players who use peppers instead. Honey pays off when it's placed where gnomes cover the same stretch of path, and the Pepper Gnome is a second answer to speedy slugs. If you want honey to be the answer, I can make speedy slugs dodge peppers too.

Calls I made that you didn't (each is one TUNING value or data field):

  • Pebble Gnomes can't aim at unslowed speedy slugs (maxTargetSpeed). This is what makes the honey flower matter in wave 4, as the design promised. Peppers can still hit them, so honey isn't the only answer.
  • Snails have shells (armor), so stronger hits beat many weak ones. This gives upgrades and the Pepper Gnome a clear job.
  • Heads-up warnings: a new optional warn field in waves.js shows "Next: speedy slugs!" and similar lines when a wave is cleared, so your kids aren't blindsided.

What I could not verify: whether it's fun, how it feels at full speed in your hands, how the audio sounds, or the real frame rate on your computer. This test machine has 2 CPU cores and software rendering, so its numbers are only a rough floor. Also, one run takes about 6 minutes of game time plus your build time, a little over the ~5-minute target.

What I need from you: play for two or three minutes (or a full run), then tell me:

  1. What felt good?
  2. What felt off or confusing?
  3. If you could change one thing, what would it be?

Your answers become the top priority for the polish pass (difficulty curve, juice, sound, phone controls). Then I'll write the README and hand-off.

Person

Full run on my laptop, and my kids played on the iPad.

  1. What felt good: it's instantly readable. The honey puddle on the path is great, the build menu is clear, and waves.js with the format comment is exactly what I wanted. The kids won and immediately tried again for 3 stars, which is the goal.
  2. What felt off:
    • The defender icons in the build menu are grey placeholder gnomes. Use the real in-game look (red-hat gnome, yellow honey flower, pepper gnome) so the menu matches the board.
    • The wave banner sits over the path entrance, right where the pests come in.
    • The second path that opens at wave 6 is a faint ghost on the grass before it opens. That's confusing; my son thought it was a bug. Either hide it fully or show it as "dug soil, opening at wave 6".
  3. The one change: make the pests a bit bigger and more characterful (eyes, a slime trail). They're the stars of the show and right now they're small.

On your decisions: approved: Pebble Gnomes can't target speedy slugs unless honeyed, snail armor, the warn field, and waiting builds. Yes, make speedy slugs dodge pepper splash (the splash lands late), so honey earns its place. A 6-minute run is fine.

Game Prototype Builder

Thanks, this is exactly what I needed. Here's the polish plan, in your priority order:

  1. Bigger, more characterful pests (your one change): about 30% bigger, big googly eyes on stalks, a smile, and a fading slime trail behind every pest. The Big Snail gets a little crown so it reads as the boss.
  2. Menu icons: I owe you an explanation. They were the real in-game sprites, but my "can't afford" style greyed out the whole button, icon included, so they read as placeholders. Now the icons always show in full color, and an unaffordable option says how many more seeds you need.
  3. Wave banner: moves to the top-right corner under the HUD, away from the entrance on both landscape and portrait screens.
  4. Second path: shown as dug soil with furrows and a little wooden sign, "Opens at wave 6", until it opens.
  5. Speedy slugs dodge pepper splash unless honey has slowed them, and Pepper Gnomes won't waste throws on them. A small "dodge!" pops up so the kids can see why. Then I'll retune and recheck the balance.

Then I'll rerun every test, check the screenshots, and write the README and hand-off.


Polish pass result (no checkpoint; Standard mode goes straight to hand-off)

All five changes are in: bigger, characterful pests with slime trails; full-color menu icons with a "need N more" line; the banner moved top-right; the closed path shown as dug soil with an "Opens at wave 6" sign; and speedy slugs dodging pepper splash.

Once honey became the only answer to speedy slugs, random-placement players won only 25% of runs. I brought that back to 79% (24% get 3 stars) by making honey stay sticky for a few seconds after the puddle, slightly softening waves 4 and 5, and raising the wave-clear bonus. Players who never plant honey now lose at wave 4 or 5. The stickiness is the one new call for you to confirm (linger in TUNING; details in README "Your calls").

Retested: 3 automated runs (desktop, phone/touch, desktop offline), all reached the end screen, Play Again was clean, 0 console errors, 0 network requests. See README.md and PROTOTYPE_LOG.md.

The plan they approvedThe one-page design, with the options they picked from

Designed by Ray H. · Built with Claude Code

Pitch

You are the gardener. You place garden gnomes and flowers along the garden paths to stop slugs and snails before they reach the cabbages. You win when the garden survives 8 waves. You lose when the last cabbage is eaten.

Core loop (10 seconds)

Watch slugs crawl down the path, spot the gap in your defense, click a plot, drop a defender, and see the slugs pop or gum up in honey. It should feel good because every placement pays off within seconds and on screen: a clear range ring when you place, pebbles you can follow, honey puddles you can see, seeds bursting out of each slug you squish.

Controls (computer)

  • Mouse: click an empty plot to open a small build menu, pick a defender. Click a placed defender to Upgrade or Sell. Hovering shows its range ring.
  • Keyboard shortcuts: 1 2 3 pick a defender for the selected plot, U upgrade, S sell, Space start the next wave early, F toggle 2x speed, M mute, Esc close menus / pause.
  • Touch works too (tap = click, large targets), but it's tuned for computer since that's where you'll playtest.

Defenders

Defender Role Upgrade path (2 levels)
Pebble Gnome Cheap, single-target damage, steady fire Faster throws, then more damage
Honey Flower (must-have) No damage. Drips sticky honey: slugs in range slow down Stronger slow, then bigger radius and honey lingers on slugs after they leave
Third defender See "Your choices" below 2 levels

Pests

  • Slug: the basic walker. Soft and medium speed.
  • Snail: slow, tanky shell. The reason you need real damage, not just honey.
  • Speedy slug (from wave 4): fast and fragile. Without honey, it slips through. This is where the honey flower proves itself.
  • Big Snail (wave 8): a boss with lots of health that eats 3 cabbages if it reaches them.

A run (~5 minutes)

  • Start: 10 cabbages, enough seeds for 2 cheap defenders, one winding path, a short calm build phase.
  • Rise: each wave is about 25 to 35 seconds. Between waves you get a build phase (it waits for you; press Start Wave or Space). Seeds come from squished pests plus a small wave-clear bonus.
  • End: survive wave 8 for a clear Victory screen (cabbages left = your star rating, 1 to 3). Lose all cabbages and you get Garden Lost with the wave you reached. Both show your session best and Play Again.

Progression (5 beats in one run)

  1. Waves 1–2: slugs only. Learn to place Pebble Gnomes.
  2. Wave 3: snails arrive. Damage alone feels thin; upgrades matter.
  3. Wave 4: speedy slugs. Honey Flower becomes essential.
  4. Wave 6: the path splits into two branches that merge before the cabbages, so you have to cover both.
  5. Wave 8: the Big Snail plus a mixed swarm. Final goal.

Must have: how the honey flower shows up

The Honey Flower deals zero damage. It drops a glossy amber puddle on the path in its range. Slugs that touch it visibly slow (shown with honey drips on them and a slower wobble). At level 3, the honey sticks to slugs for a moment after they leave the puddle. Wave 4 is designed so that a defense without honey struggles and one with it holds, so you'll feel why it matters.

Your choices (pick one per line, or say "you decide")

  1. Third defender
    • a) Pepper Gnome: lobs a pepper that splashes damage on a small area, good against crowds. (Recommended: gives you damage / slow / splash, three clearly different jobs.)
    • b) Mushroom Ring: a short-range aura that damages everything near it constantly.
    • c) No third defender: just Gnome and Honey Flower, tuned deeper.
  2. Where you can place
    • a) Fixed plots (dirt patches beside the path). (Recommended: Kingdom Rush-style readability, and easy balancing.)
    • b) Free placement anywhere off the path.
  3. When you can upgrade
    • a) Anytime, including mid-wave. (Recommended: keeps decisions alive during waves.)
    • b) Only between waves, as your idea literally says.
  4. Art direction for "bright cartoon garden, chunky outlines"
    • a) Top-down storybook: flat bright colors, thick dark-green outlines, soft drop shadows. (Recommended: most readable.)
    • b) Slight 3/4 tilt: same style, but objects drawn with a little height, more charm, slightly busier.
  5. Fair difficulty curve
    • a) Most first-timers lose around wave 6–7 on their first try and win on the second or third. (Recommended.)
    • b) Most people win first try, but with few cabbages left (stars are the challenge).

Scope cut list (not in this prototype)

  • Multiple levels / map select: one garden map proves the loop. More maps are content, not a test of fun.
  • Meta progression or unlocks between runs: you said avoid grinding, so every run starts equal.
  • Branching upgrade trees: two straight upgrade levels per defender. Branches are a balance problem for later.
  • Saving / settings menus: no storage, per the build rules.
  • Hand-drawn or imported art: everything is drawn in code.

Built for growing it (since this is the start of a real game)

The code will be organized as small ES modules: data definitions (defenders, pests, waves) kept separate from simulation, rendering, input, audio and UI, with a fixed-timestep simulation so behavior is deterministic and testable. A production version would likely move to an engine or a proper ECS, use authored sprite art and a level/wave editor (waves as JSON), add save data, and get real playtesting-driven balance tables.

What success looks like

  • You feel smart when a choke point holds because you placed the honey flower right.
  • Wave 8 feels tense: you're spending your last seeds on upgrades while the Big Snail crawls in.
  • You want to hit Play Again straight away to try a different setup, not to grind.

Approve this, change anything, or pick from the options above. I won't write game code until you say go.

The interviewThe three batches of questions and their answers

A record of the intake conversation between the person and Game Prototype Builder, in order.


Game Prototype Builder

Hi, and welcome! I'm Game Prototype Builder. Let's turn the game in your head into something you can actually play today.

Here's how this works:

  1. Intake: a short interview in three batches.
  2. Design: a one-page plan you approve.
  3. Build: I write and test the game.
  4. Playtest: you play it and tell me what felt off.
  5. Polish and hand-off: I finish it and hand it over with everything you need to keep going.

You stay in control the whole way: you're the designer, I'm the builder. A first build usually takes 30 to 90 minutes of my work (more for 3D).

Batch A: You

  1. What should the game's credits say? ("Designed by ___": a name, a handle, or a studio.)
  2. Your experience: Never made a game / Tinkered or followed tutorials / Started games but never finished one / Shipped something small / Professional.
  3. Can you read code? None / A little / Comfortably.
  4. What is this prototype for? Test whether an idea is fun / Show friends or family / Pitch it to someone / The start of a real game I'll build properly / A gift / Just to learn how games are made.
  5. Where will you playtest it? Phone / Computer / Both.

Person

  1. Ray H.
  2. Professional (backend developer, not games)
  3. Comfortably
  4. The start of a real game I'll build properly
  5. Computer

Game Prototype Builder

Thanks, Ray. A backend developer building the start of a real game: good to know. I'll keep the code clean and organized so you can grow it, and I'll note where a production version would do things differently.

Batch B: The game

  1. The idea, in your own words. One to three sentences is plenty.
  2. 2D or 3D? (Or "you decide". 2D is faster and more reliable for a first prototype; 3D works but takes longer and looks rougher.)
  3. The core action: what does the player do over and over? (Jump, steer, match, build, aim, serve, dodge…)
  4. The one thing it must have. The part that makes it your idea. This is never cut.
  5. Games it should feel like, and what to take from each. Feel and ideas only; never their art, characters or names.
  6. Look and mood: colors, style, era, vibe. A few words is enough.
  7. How a run should end: a clear win, a high-score run that ends when you lose, or endless. Roughly how long should one run be? (2 to 5 minutes works best for a prototype.)
  8. Anything to avoid: themes, mechanics, difficulty, things that would spoil it for you or your audience.

Person

  1. Tower defense in a vegetable garden. Slugs and snails crawl down garden paths toward the cabbages. You place garden gnomes and flowers that defend in different ways, and upgrade them between waves with seeds you earn.
  2. 2D
  3. Place and upgrade defenders
  4. At least one defender that slows instead of damages (a sticky honey flower)
  5. Kingdom Rush's clear readability; Plants vs Zombies' charm (but paths, not lanes)
  6. Bright cartoon garden, chunky outlines
  7. A clear win after 8 waves, about 5 minutes
  8. Grinding

Game Prototype Builder

Love it: slugs versus gnomes, with a honey flower that gums them up. Last batch.

Batch C: How we work

  1. How often should I check in with you?
    • Autopilot: you approve the design, then I build, test and polish without stopping. Fastest.
    • Standard (recommended): you approve the design, then you play the first playable build and tell me what felt off before I polish.
    • Hands-on: Standard, plus a quick look after every milestone (core loop, progression, juice) so you steer as it grows.
  2. How much explanation do you want?
    • Just build it: short updates, no lectures.
    • Explain my calls: when I decide something, I tell you why in a sentence or two.
    • Teach me as we go: after each system is built, I explain how it works in plain language and point you to the exact file and function.
  3. Difficulty: Gentle (most people win) / Fair (a few tries) / Tough (for people who like a challenge).
  4. A short name for the project folder and the game's working title. (Or "you decide".)

Person

  1. Standard
  2. Explain my calls
  3. Fair
  4. Gnome Guard

Game Prototype Builder

Here's everything you told me, in one place. (You gave the title only, so I'll use gnome-guard as the folder name, which matches the title.)

🎮 PROTOTYPE PROFILE
Title: Gnome Guard            Designed by: Ray H.
Idea: Tower defense in a vegetable garden. Slugs and snails crawl down garden
      paths toward the cabbages. You place garden gnomes and flowers that defend
      in different ways, and upgrade them between waves with seeds you earn.
View: 2D   Core action: place and upgrade defenders
Must have: at least one defender that slows instead of damages (a sticky honey flower)
Feels like: Kingdom Rush's clear readability; Plants vs Zombies' charm (but paths, not lanes)
Look & mood: bright cartoon garden, chunky outlines   Run: win after 8 waves, ~5 min
Avoid: grinding
Playtest on: Computer   Purpose: the start of a real game I'll build properly
Experience: Professional (backend developer, not games)   Reads code: Comfortably
Check-ins: Standard   Explanations: Explain my calls   Difficulty: Fair

Lock this in?

Person

Yes.


Game Prototype Builder

Locked in. Next I'll write a one-page design for you to approve. No game code until you say go.

Make your own

Describe the game you've always wanted to make. Claude Code interviews you, writes a plan you approve, builds it, tests it, and asks you to playtest before it polishes. You make every creative call.

The prompt is almost ready. Get one email when it launches: