Plants vs. Zombies rebuild deck
HARD
The five-lane architecture is an hour and it will be joyless, because the game is the sun economy and those numbers only come from a week of playing your own build and moving one constant at a time.
You will get the loop working. Then the real work starts.
Architecture here is easy and the numbers are not. An agent produces a working field in an hour and it will be joyless, because the resource economy is the design and it needs a day of you playing your own build and moving one constant at a time. Note the platform: this shipped on Windows and Mac in May 2009 and the iPhone version arrived the following February, which is why the original tuning assumes a mouse. George Fan's team was tiny and spent close to three years on it, and the balance is precisely the part you cannot shortcut.
- Difficulty
- HARD · 3 of 5
- First playable
- A project
- The original
- 12 team-years
- Released
- 2009 · PC
- Genre
- Lane Defence
Build a lane defence game as a single self-contained HTML file. Canvas 2D, Web Audio, no build step. Landscape, or portrait with the grid scaled to fit; commit to one. Requirements: - A five-row by nine-column field. The player spends a resource to place defenders on cells; attackers walk right to left along one row and stop to chew whatever stands in front of them. - Everything is per-row. Each row owns its own list of defenders, attackers and projectiles, and collision is a 1D overlap test inside that row. Never run a 2D spatial query; the design exists so you do not have to. - A projectile targets the nearest attacker in its own row with an x greater than the shooter's. If there is none, do not fire at all. Shooting into an empty lane is the classic bug: those shots are still airborne when the next attacker spawns, so it takes free damage on entry, flattening the difficulty curve. - The economy IS the game. 25 units drop naturally every 10 seconds; a generator defender costs 50 and returns 25 every 24 seconds; a basic shooter costs 100 and deals 20 damage every 1.4 seconds. All in JSON alongside attacker HP, walk speed and chew rate. - One single-use last-resort clear per row, triggered when an attacker reaches column zero. - Waves in JSON: spawn time, row, attacker type, plus a visible warning before a big one. Definition of done: I can lose a level by over-investing in generators, and win the same level by not.
- Forty-nine plants and twenty-six attackers, each one a balance decision someone playtested for weeks
- Laura Shigihara's soundtrack, including the closing song people still quote
- Vasebreaker, Zen Garden, the survival modes, and the pool, fog and roof progression
- The comic art direction, which carries the entire tone and is not something you can prompt into existence
Payback time as the buying decision
The tension in lane defence is not the defending, it is the greed check: spending on production while something is already walking towards you. Make payback time visible and the whole difficulty curve becomes one number you can move deliberately, which beats tuning by vibes.
ScopeA weekend— build just this, not the game
Build an economy sandbox for a single defended lane. Single self-contained HTML file, Canvas 2D, rectangles only, no art, no build step. - One lane, a resource that ticks in at a base rate, and two purchases: a producer that raises the income rate after a build delay, and a defender that removes threat at a fixed rate. Attackers arrive on a wave schedule with escalating health and walk right to left. One reaching the left edge ends the run. - The load-bearing readout: for the currently affordable producer, compute and show its payback time, and compare that against the time until the next wave that current defence cannot survive. - Under the lane, a small graph plotting cumulative income with and against without the purchase, plus cumulative incoming damage, updating live. - All constants in one JSON block: tick rate, producer cost, yield and delay, defender cost and damage rate, wave times and health. Definition of done: the graph names the exact wave after which a producer can no longer repay itself, and buying one on the following wave loses the run.
Not a clone — Plants vs. Zombies re-themed and cut down to something you can finish. The angle is the important reel: it is what turns a project into a weekend. 5,880 ways to land.
Letter of Marque Deck
Plants vs. Zombies, but a deckbuilder version of its combat, set in the age of pirates. Rendered in silhouette against one light.
Build a browser game called "Letter of Marque Deck". The pitch in one line: a lane defence in the spirit of Plants vs. Zombies, but a deckbuilder version of its combat, set in the age of pirates. WHAT THIS IS Take the SHAPE of Plants vs. Zombies — its core loop, and whatever makes that loop good — and rebuild it as your own game in a different world at a smaller scope. Use your own names, art and audio, which you want anyway: a reskin of somebody else's game is less interesting than a new one that works the same way. THE ANGLE — this is the important constraint, honour it above everything else A deckbuilder version of its combat. Every action becomes a card with a cost. Cards, relics and enemy intents are pure data, and the whole balance surface becomes a spreadsheet you can tune. This is what makes the project finishable. If a decision would push the scope back towards the original's, take the smaller option every time. THE THEME The age of pirates. Wind, cargo and mutiny. The crew is a resource with opinions. The theme is not a coat of paint. Let it change what the mechanics mean — a reload, a health pack and a locked door should all be things that make sense in this world and nowhere else. LOOK Silhouette against one light. Everything renders pure black against a lit background, with depth from four parallax layers of increasing blur, grain and a heavy vignette. REQUIREMENTS - Runs in a browser with no build step. Canvas 2D unless the angle genuinely requires 3D, in which case three.js. - Fixed-timestep update loop with interpolated rendering, so it behaves the same at 60Hz and 144Hz. - Every tuning constant in one CONFIG object at the top, exposed as live sliders in a debug panel. You will find the feel by dragging those, not by prompting. - All content — levels, entities, balance numbers — in JSON or plain data files, never inline in the logic. - Audio generated with the Web Audio API rather than asset files. - Respect prefers-reduced-motion: keep the fades, drop the shake and the parallax. BUILD ORDER 1. The core loop with placeholder rectangles, at the reduced scope the angle demands. No theme, no art, no audio. Make it fun as rectangles first. 2. The angle's consequences. Cutting to bots, or to turn-based, or to one level changes the design rather than just shrinking it — find out how and rewrite step 1. 3. The theme, as content and data. 4. The look, applied last as a rendering layer over a game that already works. Start by writing a one-page plan: the core loop, what the angle removes and what that frees you to do properly, and what you are deliberately leaving out. Wait for me to approve it before writing code.
- Phaser — per-row sprite groups and pooling for free
- OpenGameArt — placeholder sprites so you can tune numbers instead of drawing
Half the time one of these already does what you wanted, and the other half it saves you a week of solving a problem someone documented in 1997.
One count per game. No account — it is tied to a salted hash of your IP, which is not stored in a form anyone can reverse. Every build adds 12 team-years to the counter on the homepage.
Then try these
Questions
How hard is Plants vs. Zombies to rebuild with an AI agent?
Yes — every game is buildable at some scope. The question is how hard, and Plants vs. Zombies is HARD (3 of 5). You will get the loop working. Then the real work starts. The five-lane architecture is an hour and it will be joyless, because the game is the sun economy and those numbers only come from a week of playing your own build and moving one constant at a time. Reckon on a project to something you can actually play — not to something that matches the 12 team-years PopCap Games spent.
What makes Plants vs. Zombies hard to rebuild?
The five-lane architecture is an hour and it will be joyless, because the game is the sun economy and those numbers only come from a week of playing your own build and moving one constant at a time. That is why it sits at HARD rather than a tier either side of it. If you want the idea without the project, the transferable part is payback time as the buying decision — a weekend of work.
How long does it take to build a Plants vs. Zombies clone?
Wrong question, and it is worth saying why. Nobody rebuilds Plants vs. Zombies — the original took PopCap Games on the order of 12 team-years, released in 2009 on PC. What you can do is reach something playable and genuinely yours in about a project, and then keep going for as long as it stays interesting. Any figure that claims otherwise is measuring a prototype and calling it a game.
What do I lose by building my own Plants vs. Zombies?
Forty-nine plants and twenty-six attackers, each one a balance decision someone playtested for weeks. Laura Shigihara's soundtrack, including the closing song people still quote. Vasebreaker, Zen Garden, the survival modes, and the pool, fog and roof progression. Those are the parts a prompt will not hand you.
Which AI coding agent should I use to build it?
Any of Claude Code, Codex or Cursor will handle this prompt. Paste it as your first message, let the agent scaffold the project, then iterate on feel — the second, third and tenth prompts are where a game actually gets good. Work in an empty folder or a fresh git branch so you can throw it away cheaply.
One email when new games go on the list. No other reason to email you, ever.