A block stacking puzzle challenges you to cover a fixed target silhouette with a small finite inventory of voxel pieces, rotating each piece and choosing an origin until the occupied cells match the target exactly. The Block Stacking Puzzle presents five original 5×5 targets on a single workbench, each paired with lettered poly-voxel pieces you must use to fill the silhouette without overlap, overflow, gaps, or unsupported raised voxels. Every successful match is worth exactly 200 points, and finishing all five levels produces the maximum score of 1,000. Placement is strict and atomic: a piece only commits when all of its cells remain in bounds, none overlap an existing voxel, and every raised cell has another occupied voxel directly beneath it. If any check fails, nothing partially appears and the board stays exactly as it was before the attempt, which keeps misclicks honest and forces real planning.

What the Block Stacking Puzzle Actually Asks You to Do
Each level begins with a target voxel silhouette drawn on the five-by-five workbench using plus signs. The plus signs only describe target occupancy; they do not assign a piece, an orientation, an origin, or a build order to any specific target cell. Beneath the silhouette sits your inventory of lettered poly-voxel pieces, each shown with its current normalized shape as relative coordinates so the available geometry is readable without any hidden preview. Your task is to use every piece exactly once, rotating and positioning each one, so the final set of occupied cells covers the target set precisely. The goal is not to make a tall tower, clear a row, fill a moving slab, or outrun a falling stream. The goal is to build one supported occupancy set whose coordinate list is identical to the target's coordinate list.
Because every level is balanced exactly, the total cells in your finite inventory always equal the total target cells. That single fact is what makes the puzzle solvable through reasoning rather than guessing: if your counts ever drift out of sync, you have already committed to an arrangement the target cannot absorb.
How the Placement Rules Enforce a Single Supported Shape
The placement rule is the heart of the puzzle. When you select a piece and choose a lower-left origin, the engine transforms the piece by your current quarter-turn orientation, then translates it from the chosen origin to generate a list of candidate cells. Before the board state changes, four atomic checks must all pass:
- In bounds: every resulting cell must remain inside the five-by-five board.
- Unoccupied: no resulting cell may overlap a voxel already placed by an earlier piece.
- Direct support: every voxel above the floor must have another occupied voxel directly beneath it, forming a continuous vertical chain down to the ground.
- Internal stability: cells within the newly placed piece may support one another, so a vertical bar can be committed as one stable unit.
If any requirement fails, the entire placement is rejected and nothing partially appears. A placed voxel simply displays its piece letter on the board, and the placement history records only actions you have already made. No solution anchor, correct origin, answer rotation, or private ordering is embedded in the visible text, accessibility labels, hidden fields, or data attributes, so the puzzle cannot be solved by reading the source. Direct support is an abstract game rule; the game does not claim a physical load limit, structural engineering property, material strength, or gravity measurement.
How to Solve a Block Stacking Puzzle Level
The level flow stays the same on every screen. Follow these steps in order until the silhouette is matched exactly:
- Select an unused lettered piece from the inventory and inspect its relative voxel coordinates, then press Rotate until the shape fits the plan you have in mind.
- Choose the lower-left origin on the five-by-five board. The whole piece is placed only if every cell is in bounds, unoccupied, and directly supported.
- Repeat until every inventory piece has been used, then press Check shape when the occupied cells exactly cover the target.
- If the layout fails, press Undo to remove the most recent placement, restore that piece to the inventory, and try a different rotation or origin.
- Match all five levels at 200 points each to reach the maximum score of 1,000.
Keyboard input is scoped to the board: use Arrow keys to move the visible origin cursor, R to rotate the selected piece, and Space or Enter to place. Piece selectors, Rotate, Undo, Check shape, Next level, and Restart keep their normal native button behavior when focused. Pointer and touch input use the same buttons, and every board and control target is at least 44 pixels high while the five-column board stays within a 390-pixel viewport.
Reading the Target Silhouette Before You Place Anything
A reliable strategy begins with volume. Count the target cells and compare that total against the sum of every finite piece in your inventory; on a balanced level the two numbers must match. Next, scan the base row, because every raised target cell ultimately needs a continuous vertical support chain that reaches the floor. Long horizontal pieces often look attractive as decks but only become useful after their entire span has support from below, so committing one too early can leave a stranded overhang. Vertical orientations frequently establish columns in a single placement because cells inside one piece support the cells directly above them.
Place the obvious base pieces first, then use Undo rather than forcing an unsupported overhang. If a piece refuses to commit and you cannot find a rotation that fits, that piece almost certainly belongs somewhere else in the layout. The piece buttons help you decide: each shows its normalized geometry as relative coordinates, so you can verify footprint width, height, and which cells would float before you choose an origin.
Levels, Scoring, and Independent Solution Counts
The five targets move from a square foundation to a tall step, a low ledge, a two-deck rectangle, and a final staircase. Each original target was checked by an independent exhaustive oracle that enumerated every orientation and every in-target origin for every piece, rejected overlap and unsupported final occupancy, verified that some sequential build order is legal, and then locked the complete solution count. The verified solution counts are:
| Level | Target Theme | Verified Complete Solutions |
|---|---|---|
| 1 | Square foundation | 4 |
| 2 | Tall step | 1 |
| 3 | Low ledge | 1 |
| 4 | Two-deck rectangle | 2 |
| 5 | Final staircase | 4 |
Some targets have only one legal piece assignment, while others intentionally allow several equivalent assignments or orientations. The game does not pretend those multi-solution levels are unique; any legal arrangement that produces the exact supported target occupancy is accepted. A perfect match awards exactly 200 points and unlocks the next original target, so the maximum possible score across all five levels is 1,000.
Repairing a Mismatched Layout
A mismatch is repairable, but only up to a point. Press Undo to remove the most recent whole-piece placement, restore that piece to the available inventory, and preserve your earlier legal work. You can then rotate or place it differently before checking again. Repeating Check shape on the identical layout is deduplicated, so a double press does not consume a second error. A second genuinely different mismatched layout, however, closes the run, so treat the first failed check as your real planning window.
When a corrected layout succeeds after one failed check, the failure history clears before the following level, giving you a clean slate for the next target. Restart reconstructs the exact opening state of level one, including the original inventory and target, so you can re-enter a run without the score from a closed attempt bleeding into the new session. Independent tests replay one supported canonical construction for each level through the public state transitions and verify exact target occupancy, piece and target volume equality, target uniqueness, exhaustive multi-solution signatures, 200-point increments, exact 1,000 completion, repair after one mismatch, identical-layout deduplication, second-layout deadlock, Undo, Restart equality, boundary rejection, overlap rejection, support rejection, terminal freezing, and atomic invalid actions.
How This Differs From Tower Stack, Tetris 3D, and Other Stackers
The block stacking genre includes several well-known games, and the differences are worth keeping straight before you start a session:
| Game | Source of Pieces | Timing Element | Win Condition |
|---|---|---|---|
| Block Stacking Puzzle | Fixed finite inventory per level | None | Match exact supported target occupancy |
| Tower Stack | Moving horizontal slab | Timing window required | Stack without overhang clipping |
| Tetris 3D | Falling stream of pieces | Hard-drop pressure | Clear complete 3D layers |
| PolyCube | Falling 3D pieces with optional VR | Drop deadline | Fill the puzzle before pieces fall |
Unlike Tetris 3D, there is no falling stream and no completed layer disappears. Unlike Tower Stack, there is no moving slab, timing window, horizontal crop, or overhang score. Unlike PolyCube, the inventory is fixed per level rather than streamed, and there is no falling piece deadline. Everything runs locally in your browser without an account, upload, server calculation, new dependency, or paid service. The verified solution counts come from an independent exhaustive oracle that owns its own literal level fixtures, rotation normalizer, placement generator, overlap filter, support validator, and recursive ordering check, and does not copy results from the runtime reducer that handles placement and Check shape validation.
Related reading: Bomb Defuse Game Rules: How to Solve Five Circuits.
Related reading: Block Building Game Online: Build and Export a 5×5 Model.