Case study · Puzzle game
An original puzzle game - our own idea, our own mechanic, built from nothing. A grid of spoked wheels, each spoke carrying a word on the front and a different one on the back. Turn the wheels until every pair of facing tips reads true. Every board is generated on the spot and proved to have exactly one answer before you see it.
Most word puzzles let you settle one answer and move on. This one does not. Wheels sit on a grid, and where two wheels meet, their facing spoke tips have to read as a real pair - sun, then flower. Turning a wheel to fix one junction moves all four of its words at once, so it breaks the neighbours. Nothing can be solved on its own.
Each spoke also carries a different word on its back, so a wheel holds twice what it shows and you are always deciding between what is in front of you and what you know is behind it. That is the whole game, and it belongs to us - no licence, no clone, no existing title it is a variation of.
1One mechanic, five games
The same wheels carry compound words, colours that must match the word the next tile names, and three tiers of times tables - so the puzzle grows with the player instead of ending.
2Boards that build themselves
Nothing is hand-authored. A generator builds each board on the device, at any of five sizes, so no two games are the same and the puzzles never run out.
3A solver that guarantees the answer
Every generated board is run through a solver before it is served, and rejected unless it has exactly one solution. A puzzle that can be won two ways is not a puzzle.
4Difficulty that is measured
False readings are planted deliberately, then boards are kept only if they resist being unpicked by elimination. Hard is a property we test for, not a label we attach.
The interface is an instrument, not a document: true neutral greys and a single industrial orange, with colour reserved for the places it carries meaning - green when a join locks, and the puzzle's own hues, which belong to the game and never to the chrome. Every join is drawn with a direction arrow, because a rule held in the head at every junction is a cost paid before the puzzle even starts.
Every design decision here was settled by measuring rather than guessing. Mirroring the wheels looked like the obvious way to make them harder, and measurement killed it: it doubles the states while showing the same words, and produced no playable board in thirty attempts. Two faces produced thirty. That habit - build the cheap instrument, measure, then decide - is the same one we bring to client work.
A TypeScript engine - generator, solver, and difficulty analysis - heading for the stores as a native app.