Space Invaders rebuild deck
EASY
Nothing is hard; the only thing you must do on purpose is the formation accelerating as it thins, which was a hardware limitation before it was a design.
You will get essentially the whole thing.
Perfect one-prompt game, and the single best demonstration of why emergent difficulty beats a difficulty setting. Ask for the speed-up as a bug-turned-feature and the agent implements it cleanly. Destructible bunkers via per-pixel canvas are the only part worth reviewing carefully.
- Difficulty
- EASY · 1 of 5
- First playable
- An evening
- The original
- 1 team-years
- Released
- 1978 · Arcade
- Genre
- Shooter
Build a fixed-shooter arcade game in the Space Invaders mould. Single HTML file, Canvas 2D. Requirements: - 11x5 grid of aliens that step sideways in unison, drop a row and reverse at the screen edge. Three alien types worth 10/20/30 points, plus an occasional UFO worth a random bonus. - The signature mechanic: the whole formation moves FASTER as aliens die, because fewer aliens means fewer per-frame updates. Reimplement this deliberately — step interval scales with the count of survivors, from 800ms at 55 aliens down to 60ms at one. This is the entire tension of the game. - Four destructible bunkers, rendered as per-pixel bitmaps in an offscreen canvas. Shots erode them with an irregular blast pattern, from either side. Aliens descending through a bunker erase it. - Player has one shot on screen at a time. Aliens fire from the lowest alien in a random column, at most three enemy shots active. - Audio: the four-note descending bassline whose tempo tracks the formation speed, generated with the Web Audio API — no files. Plus a laser zap, an explosion, and the UFO warble. - Chunky pixel sprites drawn from string arrays, two frames each for the walk cycle. Green phosphor palette on black. Definition of done: the last alien moves fast enough to be genuinely frightening.
- The accidental difficulty curve from the original hardware slowing down under load
- Taito trademarks and the iconic invader sprites as trade dress
- The four-note bassline speeding up, unless you reimplement it deliberately
Destructible terrain as a per-pixel bitmap mask
Terrain that remembers every shot is the cheapest way to make a screen feel like a place rather than a backdrop, and a bitmap mask does it in about forty lines. It costs nothing per object because the terrain is not objects.
ScopeAn evening— build just this, not the game
Build a destructible terrain toy as a single self-contained HTML file, Canvas 2D, no build step. Hold the terrain in an offscreen canvas as a bitmap mask: opaque pixels are solid, transparent pixels are air. Draw a few blocky shield shapes into it at startup. A projectile steps along its path a few pixels at a time and samples the mask over a small region; the first opaque pixel it meets is the impact point. On impact, punch an irregular hole using destination-out compositing plus a randomised scatter of small circles, so no two craters look alike. Shots from above erode the same mask. Cache the mask's pixel data and only re-read the rectangle you damaged — a full-canvas getImageData every frame will cost you 60fps immediately. Add a debug key that tints solid pixels so I can see the mask separately from the render. Definition of done: fifty shots from alternating directions carve a tunnel clean through a shield, and frame time never exceeds 3ms.
Not a clone — Space Invaders 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.
Ironworks Idle
Space Invaders, but an idle version that plays while you are away, set in a dieselpunk war. Rendered in hand-drawn ink on paper.
Build a browser game called "Ironworks Idle". The pitch in one line: a shooter in the spirit of Space Invaders, but an idle version that plays while you are away, set in a dieselpunk war. WHAT THIS IS Take the SHAPE of Space Invaders — 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 An idle version that plays while you are away. Offline progress on load, big-number maths from line one, and a prestige reset. The fantasy survives; the input does not. 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 A dieselpunk war. Heavy machinery that takes time to start, riveted plate, and logistics as the real front line. 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 Hand-drawn ink on paper. Rough stroked outlines with per-frame jitter so lines boil, a paper-grain texture over everything, and ink-bleed on impacts. 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.
- MDN 2D breakout tutorial — the same skeleton, well explained
- leereilly/games — open-source HTML5 game index
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 1 team-years to the counter on the homepage.
Then try these
Questions
How hard is Space Invaders to rebuild with an AI agent?
Yes — every game is buildable at some scope. The question is how hard, and Space Invaders is EASY (1 of 5). You will get essentially the whole thing. Nothing is hard; the only thing you must do on purpose is the formation accelerating as it thins, which was a hardware limitation before it was a design. Reckon on an evening to something you can actually play — not to something that matches the 1 team-years Taito spent.
What makes Space Invaders hard to rebuild?
Nothing is hard; the only thing you must do on purpose is the formation accelerating as it thins, which was a hardware limitation before it was a design. That is why it sits at EASY rather than a tier either side of it. If you want the idea without the project, the transferable part is destructible terrain as a per-pixel bitmap mask — an evening of work.
How long does it take to build a Space Invaders clone?
Wrong question, and it is worth saying why. Nobody rebuilds Space Invaders — the original took Taito on the order of 1 team-years, released in 1978 on Arcade. What you can do is reach something playable and genuinely yours in about an evening, 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 Space Invaders?
The accidental difficulty curve from the original hardware slowing down under load. Taito trademarks and the iconic invader sprites as trade dress. The four-note bassline speeding up, unless you reimplement it deliberately. 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.