Skip to content
🃏 Classic1978Milton BradleyEASY

Simon rebuild deck

EASY

Nothing is hard here; schedule the tones against AudioContext.currentTime instead of chained setTimeout and you are finished before lunch.

You will get essentially the whole thing.

Baer and Morrison designed it, Milton Bradley shipped it, and Hasbro owns it now. Where an agent will let you down is timing, because chained setTimeout drifts on a busy tab and you end up with a light flashing out of step with its own tone. That reads as broken rather than merely slow. Schedule against the audio clock and derive the visual timings from the same numbers. Pick four pitches from one chord while you are at it: four unrelated tones make a long sequence sound like a fault alarm.

Difficulty
EASY · 1 of 5
First playable
An evening
The original
2 team-years
Released
1978 · Classic
Genre
Pattern Memory
The one-shot build prompt
Build a colour-and-tone sequence memory toy as a single self-contained HTML file. DOM or Canvas 2D, Web Audio for the tones, no build step, no dependencies.

Requirements:
- Four quadrant buttons arranged in a circle: green top-left, red top-right, yellow bottom-left, blue bottom-right. Give them four fixed pitches spanning an octave, 415.3, 310.1, 252.0 and 209.7 Hz in that order. They form a triad, so any subsequence sounds deliberate rather than random.
- The load-bearing detail: the sequence GROWS. Each round appends one new random colour to the existing sequence and replays the whole thing from the beginning. Do not generate a fresh random sequence per round, which is the standard mistake. Do not compare the player's input at the end of their turn: compare each press against sequence[inputIndex] the instant it happens, and fail on that press.
- Schedule playback against AudioContext.currentTime, not chained setTimeout. Tone length starts at 420 ms with a 50 ms gap, dropping to 320 ms after round 5, 220 ms after round 9 and 160 ms after round 13.
- Lit state is a brightness lift plus a scale of 1.02, both easing out over 80 ms, driven from the same scheduled times as the audio.
- Player input times out after 3 seconds of silence and counts as a loss, with a 42 Hz buzz.
- Frequencies, round timings and thresholds in a JSON config block.

Definition of done: round 12 plays audibly faster than round 1, and a wrong colour fails on that press rather than at the end of the sequence.
What you lose
  • The Hasbro trademark and the moulded disc with its four glossy translucent lenses
  • The tactile depth of those buttons, which is most of what made the thing compulsive
  • The Studio 54 launch party, which no web build is going to reproduce
What to steal

Every signal encoded twice: colour and pitch

Any game that says things with colour alone is unplayable for roughly one man in twelve, and the fix is not a colour-blind palette bolted on at the end, it is deciding on day one that every signal carries its identity in more than one channel. Redundant encoding also measurably improves recall for everybody else, so the accessibility work makes the game better rather than merely fairer.

ScopeAn evening— build just this, not the game

Build a redundant-signal test bed. Single self-contained HTML file, Canvas 2D plus Web Audio, no build step, no dependencies.

- Six signal types. Each carries the same identity in three independent channels: a hue, a pitch drawn from one chord so that any subsequence sounds deliberate, and a distinct silhouette with its own motion.
- Three toggles, one per channel. With any single channel switched off, the six signals must remain fully distinguishable. That is the claim, and the toggles are how you test it rather than assert it.
- A recall drill: play a sequence of eight, ask for it back, and record accuracy per channel configuration in a table that persists across runs.
- A fourth toggle applying colour-vision simulation matrices to the canvas — protanopia, deuteranopia, tritanopia — so hues that collapse together become visible rather than theoretical.
- A contrast readout for every pair of hues after simulation.

Definition of done: with hue disabled I can still complete an eight-signal sequence, and the deuteranopia filter shows me which two of my six colours were the same colour all along.
Make it different

Not a clone — Simon 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.

Term Hands Off

Simon, but an auto-battler — you set up, it plays itself, set in a wizarding academy. Rendered in silhouette against one light.

Themea wizarding academy
Anglean auto-battler — you set up, it plays itself
Looksilhouette against one light
Build a browser game called "Term Hands Off".

The pitch in one line: a pattern memory in the spirit of Simon, but an auto-battler — you set up, it plays itself, set in a wizarding academy.

WHAT THIS IS
Take the SHAPE of Simon — 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 auto-battler — you set up, it plays itself. The player only makes decisions between rounds. Combat resolves deterministically from board state and seed, so a replay is exact.
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 wizarding academy. Institutional rules the player will break, a timetable, houses or factions, and magic taught badly by people with their own agendas.
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.
Prior art — read before you build

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.

Did you build it?
0Share on X

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 2 team-years to the counter on the homepage.

Questions

How hard is Simon to rebuild with an AI agent?

Yes — every game is buildable at some scope. The question is how hard, and Simon is EASY (1 of 5). You will get essentially the whole thing. Nothing is hard here; schedule the tones against AudioContext.currentTime instead of chained setTimeout and you are finished before lunch. Reckon on an evening to something you can actually play — not to something that matches the 2 team-years Milton Bradley spent.

What makes Simon hard to rebuild?

Nothing is hard here; schedule the tones against AudioContext.currentTime instead of chained setTimeout and you are finished before lunch. 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 every signal encoded twice: colour and pitch — an evening of work.

How long does it take to build a Simon clone?

Wrong question, and it is worth saying why. Nobody rebuilds Simon — the original took Milton Bradley on the order of 2 team-years, released in 1978 on Classic. 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 Simon?

The Hasbro trademark and the moulded disc with its four glossy translucent lenses. The tactile depth of those buttons, which is most of what made the thing compulsive. The Studio 54 launch party, which no web build is going to reproduce. 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.

Get the next game

One email when new games go on the list. No other reason to email you, ever.