Scrabble rebuild deck
VERY HARD
Scoring a placed word is an afternoon and validating one is a dictionary lookup, but finding every legal move from a rack against an open board is a hard search problem — the naive version tries millions of permutations and hangs, and the fast version is a data structure you have to go and learn.
You will get a good prototype. The product is what comes after.
Everything except move generation is a comfortable weekend, and move generation is the reason this sits at very hard. A prompt will happily write you a permutation-based generator that is correct and useless — it works on turn one and takes eight seconds by turn twenty. Ask for a DAWG with cross-checks by name up front, and if you have never built one, read how quackle does it before you start rather than after.
- Difficulty
- VERY HARD · 4 of 5
- First playable
- A weekend
- The original
- 2 team-years
- Released
- 1948 · Classic
- Genre
- Word
Build a Scrabble-style word game with a fast AI opponent. Vanilla JS, no framework. The move generator is the project — plan around it. Requirements: - 15x15 board with the standard premium squares, the standard 100-tile distribution and letter values, a rack of seven, blanks, exchanges and passes. Two consecutive scoreless turns each ends the game. - Build the lexicon as a DAWG (directed acyclic word graph) at load time from a plain word list, and cache it in IndexedDB so the second load is instant. Do NOT search rack permutations — that is the naive approach and it is why hand-rolled versions hang. - Move generation walks the DAWG from each anchor square with a cross-check set precomputed per square, which is the standard Appel-Jacobson approach. Target every legal move for a rack in under 100ms. - Score correctly, including the parts clones get wrong: all perpendicular words formed in one placement, premium squares applying to every word they touch, premiums consumed after use, and the 50-point bingo for using all seven. - AI difficulty by move ranking, not by search depth: Easy takes a random move from the bottom half, Hard takes the top-scoring move, Expert subtracts a leave penalty for the tiles it keeps back so it stops dumping vowels. - Show the AI's top five candidate moves after each of its turns, with scores. Losing to it should be legible. - Drag or type to place, arrow keys to move the cursor, enter to commit, and a word-check that tells you which word failed and why. Definition of done: the engine returns the best move on a crowded board in under 100ms, and the 50-point bingo fires on exactly the turns it should.
- A move generator you wrote yourself in one prompt — brute force over rack permutations and anchor squares will produce correct moves and take seconds per turn, which is unplayable
- The official word lists: TWL and SOWPODS are licensed, so you ship an open list and accept that some words disagree with the tournament dictionary
- Endgame play — a strong engine tracks the unseen tiles and infers your rack, and one-shot bots simply do not
- Challenges and the bluffing around them, which quietly disappear when the computer validates every word instantly
Precomputed cross-checks — decide what can go in a square before you ask what to play
The instinct in any placement game is to generate candidate moves and then test each one for legality, which is the expensive order. Flip it: for every empty square, work out once per turn the small set of letters that could legally sit there given its perpendicular neighbours. Generation then walks a tree that has already been pruned to almost nothing, and a search that took seconds takes a frame. The pattern transfers to any grid game with placement constraints, which is most of them.
ScopeA weekend— build just this, not the game
Build a constrained-placement visualiser as a single self-contained HTML file. Canvas 2D, no dependencies. - A 15x15 grid with some cells already filled with letters. - Each turn, compute for every empty square the set of letters that could legally be placed there given the words its vertical and horizontal neighbours would form. Use any word list. - Render each empty square shaded by how many letters remain legal there — bright where anything fits, dark where only one or two do, black where nothing does. - A toggle that switches between generate-then-validate and cross-check-then-generate, with a live count of candidate moves considered and milliseconds taken for each. - Hover any square to list the legal letters for it. Definition of done: the timing readout shows at least a 50x gap between the two approaches on a crowded board, and the shading makes it obvious at a glance where the board is closed.
Not a clone — Scrabble 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. 24,360 ways to land.
Ironworks From Above
Scrabble, but a management sim of the same world, set in a dieselpunk war. Rendered in clean product UI 3D.
Build a browser game called "Ironworks From Above". The pitch in one line: a word in the spirit of Scrabble, but a management sim of the same world, set in a dieselpunk war. WHAT THIS IS Take the SHAPE of Scrabble — 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 management sim of the same world. The player never controls a character — they set policy and watch agents with visible needs succeed or fail at it. 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 Clean product UI 3D. Soft studio lighting, muted brand palette, UI chrome that looks shippable, and zero grit — intentional polish. 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.
- quackle — a real Scrabble engine, read how it generates and evaluates moves
- dwyl/english-words — an open word list to build the lexicon from
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 2 team-years to the counter on the homepage.
Then try these
Questions
How hard is Scrabble to rebuild with an AI agent?
Yes — every game is buildable at some scope. The question is how hard, and Scrabble is VERY HARD (4 of 5). You will get a good prototype. The product is what comes after. Scoring a placed word is an afternoon and validating one is a dictionary lookup, but finding every legal move from a rack against an open board is a hard search problem — the naive version tries millions of permutations and hangs, and the fast version is a data structure you have to go and learn. Reckon on a weekend to something you can actually play — not to something that matches the 2 team-years Alfred Butts spent.
What makes Scrabble hard to rebuild?
Scoring a placed word is an afternoon and validating one is a dictionary lookup, but finding every legal move from a rack against an open board is a hard search problem — the naive version tries millions of permutations and hangs, and the fast version is a data structure you have to go and learn. That is why it sits at VERY HARD rather than a tier either side of it. If you want the idea without the project, the transferable part is precomputed cross-checks — decide what can go in a square before you ask what to play — a weekend of work.
How long does it take to build a Scrabble clone?
Wrong question, and it is worth saying why. Nobody rebuilds Scrabble — the original took Alfred Butts on the order of 2 team-years, released in 1948 on Classic. What you can do is reach something playable and genuinely yours in about a weekend, 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 Scrabble?
A move generator you wrote yourself in one prompt — brute force over rack permutations and anchor squares will produce correct moves and take seconds per turn, which is unplayable. The official word lists: TWL and SOWPODS are licensed, so you ship an open list and accept that some words disagree with the tournament dictionary. Endgame play — a strong engine tracks the unseen tiles and infers your rack, and one-shot bots simply do not. 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.