Chain React

Runs entirely on your device โ€” works with the network off, no ads, no account, no tracking.

  • Works offline
  • Keyboard playable
  • Screen-reader playable
  • No ads, no account
  • No betting, no money, no prizes
  • 2โ€“4 minAll ages

Does the order you tap the cells change where the grains end up?

No โ€” and that is the single most useful thing to know here. Cascades on a grid like this are abelian: the board you finish on depends only on how many times each cell was tapped, never on the order you tapped them in, and never on the order the bursts happened to fire in. Two taps on the same cell and one on its neighbour will settle to exactly the same sixteen numbers whichever way round you play them. That is a theorem about the system, not a convenience of this implementation, and it changes how you should think: stop searching for a sequence and work out the tally. It is also what makes the solver in this game exhaustive rather than approximate โ€” counting tallies instead of orderings collapses 65 536 four-tap sequences into 3 876 four-tap tallies, small enough to check every one of them before the board is dealt.

Taps 0 / 7Match 2 / 16Chain 0Back 2

2 of 16 cells match. 7 taps left, 2 take-backs. Cursor at column 1, row 1: 0 of 4, wants 1, short.

A cell bursts on its 4th grain. Corners lose two grains over the rim, edges one, middle cells none.

2 of 16 cells match. Order never matters here: the same set of taps played in any order settles to the same board, so plan the tally, not the sequence.

โ† โ†’ โ†‘ โ†“ move ยท Enter drops a grain ยท Esc takes the last tap back (2 a round). Click the board first, or press Tab to focus it.

What this builds

DOMAIN โ€” cascades on a grid are abelian โ€” only the tally of taps matters, never the order you play them in, so work out the count per cell and not the sequence

Drop a grain, set off the cascade, land on the pattern

Sixteen cells, each holding up to three grains. Drop a fourth on any cell and it bursts: the cell empties and pushes one grain to each of its four sides โ€” and if that fills a neighbour, the neighbour bursts too, and so on down the line. Grains pushed past the rim leave the board for good, so a corner burst sheds two of its four and an edge burst sheds one. Every cell shows what it holds now and, underneath, what the finished pattern wants: โœ“ if it already matches, โ–ฒ if it is short, โ–ผ if it has too many. Turn all sixteen into โœ“ inside the tap budget.

The budget is not a guess. Each board is built backwards from its own finished pattern by undoing real taps, and then an exhaustive solver walks every tally of taps to find the genuinely shortest route. You are given that number plus two, so the route is always there to be found and there is never much slack in it.

It runs entirely on your device: 0 network requests, works offline. No ads, no account, nothing to buy, and no betting, money or prizes of any kind.

How to play

  1. Focus the board โ€” click it, or press Tab until it is focused.
  2. Move the cursor with the arrow keys. They clamp at the edges rather than wrapping, so you never lose your place on a four-wide board.
  3. Press Enter (or Space, or click a cell) to drop one grain on it. That is one tap, and it comes out of your budget.
  4. Read the small line under each number. It is the mark and the count that cell wants: โœ“3 means it already holds three and three is right, โ–ฒ3 means it needs to reach three, โ–ผ1 means it is over and something has to burst out of it.
  5. Watch for the double edge. A cell drawn with a double border is holding three โ€” one more grain and it goes. Those are the cells a chain runs through.
  6. Press Esc to take the last tap back. You get two take-backs a round and they cost nothing, so setting a cascade off just to watch where the grains land is a free move, not a wasted one.
  7. Finish before the taps run out. When all sixteen cells read โœ“ the round is won, and any taps you did not need are scored.

FAQ

Does the order you tap the cells change where the grains end up?

No โ€” and that is the single most useful thing to know here. Cascades on a grid like this are abelian: the board you finish on depends only on how many times each cell was tapped, never on the order you tapped them in, and never on the order the bursts happened to fire in. Two taps on the same cell and one on its neighbour will settle to exactly the same sixteen numbers whichever way round you play them. That is a theorem about the system, not a convenience of this implementation, and it changes how you should think: stop searching for a sequence and work out the tally. It is also what makes the solver in this game exhaustive rather than approximate โ€” counting tallies instead of orderings collapses 65 536 four-tap sequences into 3 876 four-tap tallies, small enough to check every one of them before the board is dealt.

Why isn't the goal just to empty the board?

Because it would be unwinnable, and provably so. Work backwards from an empty board: to undo a burst you have to take a grain back off each of the fired cell's sides, and to undo a tap you have to remove a grain. An empty board has no grains to give back either way, so no board has the empty board as a predecessor โ€” meaning no board that is not already empty can ever be cleared, however you play. A goal that cannot be reached is not a hard puzzle, it is a broken one, so the target here is a stated pattern instead. The same argument is why the rim absorbs: without somewhere for grains to leave, the total on the board would never change and every reachable board would carry exactly the same count.

Is the pattern always reachable?

Always, and it is verified rather than assumed. The pattern is drawn first. The game then lists every board that is exactly one tap away from it โ€” built by undoing bursts and then removing the grain a tap would have added โ€” and keeps a candidate only if replaying that tap forward, through the same cascade the game runs, lands exactly on the pattern. Repeat that four to six times and the board you are dealt comes with a real route attached. The solver then finds the shortest route, which may be shorter than the one used to build it, and your budget is that shortest length plus two.

What happens when the taps run out?

The round ends and the shortest route is shown. That is the main way to lose, and it is what stops tapping at random from standing in for planning. The other way is being told there is no route left: once the game can search the whole remaining budget exhaustively it will say so rather than let you spend taps on a board it has already proved dead โ€” but never while you still have a take-back that could rescue it.

Is there any money, betting or in-app purchase in this?

None, and there never will be. No currency, nothing to buy, no hints to unlock for a fee, no prizes.

Does it work offline?

Yes. Once the page has loaded once, the whole game is on your device โ€” the board, the backwards generator, the cascade and the solver that proves the budget. No server is involved in play at any point, and nothing about your session leaves the machine.

Can I play it with a keyboard or a screen reader?

Both. Arrows move, Enter drops a grain, Esc takes the last tap back. Every cell announces what it holds, what it wants and whether that is a match, short or over, plus a warning when it is one grain from bursting. Every state also carries a glyph โ€” โœ“, โ–ฒ or โ–ผ โ€” and a cell about to burst carries a double edge, so nothing on the board depends on telling two colours apart.

Limits

Four cells by four, each holding nought to three grains, and a burst at the fourth. Capacity is a flat four everywhere, including the corners, which is what lets grains leave over the rim โ€” a corner burst sheds two, an edge burst one, a middle cell none. The shortest route is between three and six taps depending on the seed, the budget is that plus two, and you get two take-backs a round. The solver is exhaustive over tap tallies rather than a heuristic, which is only affordable because sixteen cells and a six-tap ceiling is a small enough space to enumerate; a larger board would need a different search and a different promise.

Related

Light Grid is the other cascade puzzle here โ€” press a cell and its neighbours flip, and the whole board turns on parity rather than on counting. Stone Drop is the other one about collapse, and Block Fit is the other one where a single arrangement is proven before the board is dealt.

Bookmark this page (Ctrl+D, or โŒ˜D on Mac) or install the app โ€” it works offline the next time you need it.

Have a question or feedback about this game?

Private: this note isn't tracked, and nothing you did in this game is sent โ€” only what you type here.