How To Play Chimp Blocks
Chimp Blocks is also known as 10x10, Block Puzzle, and Woodoku.
Drag pieces onto the grid. Fill a full row or column and it clears. No gravity — pieces stay where you drop them. It's over when nothing left in your tray fits.

Chimp Blocks is also known as 10x10, Block Puzzle, and Woodoku.
Drag pieces onto the grid. Fill a full row or column and it clears. No gravity — pieces stay where you drop them. It's over when nothing left in your tray fits.
Feel free to contact us with any bugs, complaints, or requests.
There is no gravity and no undo, so nothing in this game is anyone's fault but yours. Making that true took more work than the rest of it combined.
Chimp Blocks is a ten-by-ten grid and a tray of three shapes. You drag a shape onto the board, it stays exactly where you put it, and any row or column you complete clears. Fill the board so that nothing in the tray fits and the game is over.
It borrows its silhouette from Tetris and shares almost nothing with it. Nothing falls, nothing rotates as it lands, and no amount of quick fingers helps. It is a game about space rather than time.
Removing gravity sounds like removing the challenge. It moves it.
In a falling-block game the board is largely built for you — pieces settle to the bottom, the stack has a surface, and most of your mistakes get buried under later ones. Here a piece sits precisely where you left it. A hole you make in the middle of the board on turn four is still there on turn forty, in the middle, visible, and nothing is ever going to fill it except a piece exactly its size and shape.
The board becomes a record. Late in a good game it is a neat lattice with clean lanes through it; late in a bad one it is a mess of single cells you cannot reach, every one of them something you did on purpose ten minutes ago. That is a more honest kind of difficulty than reaction speed, and it is why there is no undo. A mistake you can take back is not a decision.
The shape catalogue is nine pieces: a single cell, straight lines of two, three, four and five, a two-by-two square, a three-by-three square, a small right-angle corner of three cells, and a big right-angle corner of five.
Conspicuously absent is the entire tetromino family — the S, Z, T and L shapes that define the genre this one resembles. That was deliberate, and it is the choice I would defend hardest.
Those shapes are built for a world with gravity, where a piece tucks into a contour as it lands and the awkwardness is the point. On a static grid they behave differently: an S or a Z leaves a single unreachable cell almost every time it touches an uneven edge, and it does so permanently. A board full of tetromino scars is not a hard board, it is a ruined one.
The pieces that survived have something in common: you can judge them at a glance. A line of four either fits in the gap or it does not, and you can see which from across the room. Squares and right-angle corners are the same — their extents are obvious, so the decision is about the board rather than about decoding the piece. In a game with no undo, a shape you can misjudge is a shape that costs you a run for the wrong reason.
With rotations counted, those nine become nineteen distinct oriented pieces, which is plenty of vocabulary. The restraint is in the kind of shape, not the number.
Rotation is off by default. Each orientation is simply its own possible draw — if you want a corner pointing the other way, you wait for one.
Turning rotation on makes the game considerably easier, because it converts every awkward draw into a solvable one, and that is exactly why it is a setting rather than a feature. The knob that most cleanly controls difficulty here is not piece frequency or board size; it is how much agency you have over what you were dealt.
With rotation on, tapping a piece in the tray turns it and pressing-and-dragging places it, which is the usual problem of one pointer doing two jobs. The answer is a small movement threshold: travel more than a few pixels while held and it is a drag, stay put and it is a tap. Cheap, and it means the two gestures cannot be confused, because a tap that wanders eight pixels was never a tap.
This is the part worth reading, and it comes straight from the no-undo rule.
If you cannot take a move back, then losing has to be your fault. A game that hands you three pieces which cannot be placed on the board you are holding has not beaten you, it has cheated, and the player will know — not in so many words, but they will know, because the ending will feel arbitrary rather than earned.
The obvious guard is to check that each piece in the tray fits somewhere. That test is wrong, and the reason is the whole problem in miniature: placements interact. Each of three pieces can have a legal home on the current board while there is no order in which you can actually place all three, because playing the first one destroys the only space the second would have gone. Checking them one at a time asks three easy questions instead of the hard one.
So the real test is over the tray as a whole: does there exist some order in which all three can be placed? If not, the tray is re-rolled, and if re-rolling keeps failing, a tray is constructed that is known to work.
The important part is that this is a floor and not a ceiling. The distribution is otherwise left alone — a natural weighting, with big pieces gradually biased downward as the board fills, because a three-by-three square on a crowded board is not a challenge, it is a joke at the player's expense. The generator is not trying to give you a good tray. It is only refusing to give you an impossible one.
The result is a game that can be lost but not sabotaged. Every ending traces back to something you did, usually several turns earlier, which is the only way a puzzle without undo can be fair.
Rows and columns both clear, and both can clear on the same placement, which opens up a particular satisfaction: the piece that finishes a row and a column at once, and sometimes several.
Scoring rewards that steeply rather than linearly. One line in a placement is worth a little; two are worth three times that; three are worth six times. The escalation is deliberate, because a multi-line clear is not three times the work of a single, it is a different activity — you have to have been arranging for it several turns before it happens, keeping two lines one cell short and resisting the temptation to close either of them.
Running alongside that is a streak multiplier: clear something every turn without a gap and a bonus climbs by half again each time. The two reward opposite habits. The big simultaneous clear rewards patience and setup; the streak rewards never having a wasted turn. You cannot fully optimise for both, which is the point — a turn spent building toward a triple is a turn that breaks your streak, and deciding which one you are playing for is most of the game's strategy.
Both sets of constants live in one small module on their own, because scoring is the thing most likely to need adjusting after real play and least deserving of being scattered through the code.
The whole game existed and was tested before a single pixel of it was drawn: board, placement rules, clearing, scoring, the tray generator and its solvability test, all as plain modules with no idea a screen exists, deterministic from a seed, with a few dozen tests over them.
That ordering is a habit by now, and this game justified it more than most. The tray-solvability test is the kind of thing you can be confident about and wrong about — the difference between "each piece fits" and "all three can be placed in some order" is one word in a sentence and an entirely different algorithm, and the failure is silent. You do not find out by looking at it. You find it by playing a thousand games in a fraction of a second and counting how many ended in a tray nobody could have played.
Still on the list: a small forgiving nudge on placement, so that a drop a few pixels off the mark snaps to the obvious intended cell rather than refusing. On a phone that is the difference between a game that feels precise and one that feels fussy, and it is the last thing between this and finished.