There is a family of puzzle games you have definitely seen. Tap Away, Arrow Puzzle, Parking Jam, Traffic Escape. They share one rule:
A piece leaves the board if and only if the corridor between it and the edge it points at is empty.
That single rule generates the whole genre. It also, as far as we can measure, puts a hard ceiling on how difficult any game in the family can be — and we spent a while trying to break that ceiling before shipping Arrow Escape as a deliberately calm game instead.
This is what we found, including the number we got wrong the first time.
Two facts that make the genre lovely to build
Reverse construction generates these puzzles for free. Place pieces one at a time, each only into a square whose exit corridor is already clear. Then reverse the placement order. That reversed order is a guaranteed solution, by construction. No solver. No search. No rejection sampling, no generate-and-check loop, no puzzle bank to pre-compute. It is one of the cleanest generators in any genre we have built.
And the game cannot deadlock. Removing a piece only ever empties squares. So every subset of a solvable board is itself solvable. So any legal tap is always safe — there is no move that loses you the board, because there is no lose state to design. The hearts and timers you see in the commercial versions are not punishing bad planning. They are punishing misreading.
Both facts are pleasant. Both are also, it turns out, the problem.
The ceiling, and why it is structural
Look again at the generator. The precondition for placing a piece — its exit corridor is clear — is exactly the definition of a legal tap. So every placement manufactures a legal move.
For the puzzle to be hard, later placements would have to revoke the legality of earlier ones. You would need to build up a board where most pieces are blocked and finding the few that aren't is real work. But revoking a piece's legality means placing something into its corridor — and doing that creates a fresh legal piece sitting right there in the corridor.
You cannot subtract legal moves without adding one. That is not an implementation detail; it is the rule.
The measured consequence: on an opening board, roughly 46 to 54 per cent of pieces are legal. Half the board is a valid move at any moment, and no generator parameter moves that number meaningfully.
The correction, because it matters
Our first write-up of this said the figure was 25–30 per cent. That was wrong in two ways, and both are worth naming because they are easy mistakes to repeat.
We averaged over the whole solve instead of looking at the opening board. The endgame of one of these puzzles is three arrows sitting on an empty grid, where everything is trivially legal. Including it drags the mean up. But nobody plays the endgame — the decisions happen at the start, when the board is full. Measure the position the player actually faces.
And we measured a lab prototype, not the shipped game. Re-running the study
with generate and clearPath lifted verbatim out of the live Arrow Escape
bundle put the figure at 0.46–0.54, and the two runs agreed within 0.01. The
genre is shallower than we first recorded, not deeper.
While we were there, one more finding: the generator's fill parameter does
nothing above about 0.72. It saturates — it runs out of legal placements — and an
8×8 board lands at density 0.69 whether you ask for 0.72 or for 1.00. fill is
not a difficulty knob. It looks like one in the code.
Five levers, five failures
We did not accept the ceiling on theory. Each of these was implemented and measured against the same driver:
Multi-cell pieces. Longer pieces block more corridors, so boards should get tighter. Legal fraction went from 0.29 to 0.34 — the puzzle got easier. Bigger pieces also clear bigger corridors when they leave.
Exit gates, where a piece can only leave through specific edge squares. Legal fraction dropped, 0.29 to 0.25 — a real improvement. But achievable board density collapsed from 0.80 to 0.24, because the generator can now barely place anything. You trade a slightly harder puzzle for a board that is three-quarters empty, and an empty board is not hard.
A direct objective. Rather than the naive heuristic of preferring long corridors, we had the generator explicitly search for the placement that blocks the most other pieces. It scored 0.47 — worse than the naive proxy. Optimising directly for the thing you want is not always better than a dumb correlate, which is a result worth keeping.
A non-monotone slide rule, where pieces slide within the board rather than leaving it. This is the obvious escape hatch: break the "removal only empties squares" property and deadlocks become possible. We measured par length against piece count at every board size and got par exactly equal to piece count, every time — sliding never does productive work. Only 2–8 per cent of generated boards were deadlockable at all. It buys you a BFS solver and a lose state in exchange for zero depth.
Colour count, 3 through 12. The ratio between expert play and a greedy one-line heuristic stayed at 1.00–1.08×. More colours is more to look at, not more to think about.
The model predicts the market, which is why we trust it
Here is the check that convinced us this wasn't just our generator being weak.
Every monotone member of this family — where pieces only ever leave — is famously shallow. Tap Away, Parking Jam, and structurally Mahjong Solitaire too. They are enormous, and they are enormous as calm games.
The one member of the family that is genuinely hard breaks the monotone property: Rush Hour, where pieces slide inside the board and only the target car exits. That one is a real puzzle, and it is the only one people write solvers for. We ship it as Unjam, and it needed a BFS solver and rejection sampling for par length — everything the tap-to-clear games did not.
A model that predicts which games in a family are hard, before you build them, is a model worth having.
So we shipped it calm
Arrow Escape is a calm game on purpose. Difficulty is board size and corridor length — that is, scan time, not insight. Which is exactly the difficulty curve the market leaders ship, and now we know why they ship it.
We did add colour-chain scoring, where tapping the same colour consecutively builds a multiplier. It is about thirty lines and needs no generator change, and it produces a genuine 2.5–3.1× gap between careless and attentive play. But we are honest about what it rewards: a one-line heuristic — keep tapping the same colour — captures 97 per cent of what a beam search achieves. It rewards attention. It does not reward insight, and no amount of tuning will make it.
If you want the version of this genre that will actually make you think, play Unjam. If you want the one to play while half-listening to something, that is Arrow Escape, and it is not a lesser game for it — it is the game the rules were always going to make.
Both are free, both run in the browser, and neither wants an account.