All case studies
Stack Tower Builder — a miss that costs instead of kills
Most stacking games end your run on one bad tap. This one makes you live with it instead.
- Client
- In-house title
- Platform
- WebGL / browser
- Engine
- Unity
- Genre
- Arcade
Unity WebGLC#Brotli compressionApache
The challenge
Stacking games are everywhere, and most of them get the failure state wrong. The common version ends your run the moment you miss: one bad tap, game over, start again. That is easy to build and it teaches the player nothing, because the mistake and the consequence arrive at the same instant.The harder design problem is making a mistake cost something the player has to live with. If the penalty is immediate death, there is no tension between taps. If the penalty is nothing, there is no reason to aim.
There is also a readability problem specific to this genre. As the tower grows the landing area shrinks, which means the exact thing the player most needs to see gets smaller precisely when precision matters most.
There is also a presentation problem specific to this mechanic. The tower grows upward indefinitely, so the camera has to follow it, and a camera that tracks too tightly makes the player feel like the tower is static while the world moves. Get that wrong and the sense of height — the only progress indicator the game has — disappears entirely.
Our approach
A miss does not end the run — it narrows it. Overhang is sliced off and falls away, and the remaining width becomes the target for the next block. The player carries their mistake forward for the rest of the run, which turns every subsequent tap into a decision made under conditions they created. That is the whole game.To stop that from becoming a death spiral, a perfect drop gives a little width back. Without that, one early miss would doom a run that still had minutes left in it, and players would quit at the first mistake instead of fighting back. The recovery is small enough that it rewards a streak rather than erasing the error.
Difficulty rises through block speed alone, not new rules. The player never re-learns anything; they get faster at the one thing they already understand — the fair version of getting harder.
The shrinking-target readability problem is handled with high contrast and flat colour. Each block is a solid band against a dark board, so the edge the player is aiming at stays a hard line rather than a soft gradient, even when it is only a few pixels wide.
The board is square, so it gets the same 1:1 handling as our other WebGL titles — size resolved against the stage, which keeps it whole on a phone and uncropped on a wide monitor. The build ships Brotli-compressed with its own server rule declaring that encoding.
Recovery was tuned rather than simply added. Too generous and the narrowing stops mattering, so there is no tension in a careless tap; too stingy and a single early miss dooms a run that still had minutes left in it, and the player quits at the first mistake. The amount returned by a perfect drop was set so a clean streak is genuinely worth chasing without erasing the error that preceded it.
Blocks are drawn as solid bands of flat colour against a dark board specifically so the landing edge stays a hard line as it narrows. A gradient or a textured edge reads fine at full width and becomes unusable at a few pixels, which is exactly when the player needs it most.
The result
A stacking game where a miss is a consequence rather than an ending, so the tension lives between taps instead of only at the last one.Runs that go wrong stay playable, and the recovery rule means a good streak can genuinely pull a bad run back — which is what keeps players starting one more.
It runs in the browser on desktop and mobile with no download and no account. Playable on this site right now.
A miss narrows the tower instead of ending the run, so the tension lives between taps rather than only at the last one — and the player spends the rest of the run inside conditions they created.
The perfect-drop recovery is tuned so a clean streak can pull a bad run back without making the narrowing meaningless, which is what keeps players starting one more attempt.
Flat high-contrast bands keep the landing edge legible down to a few pixels wide, at the point in the run where precision matters most.
More case studies
PP
Engineering
Putting playable Unity games directly on a website
Why most Unity WebGL builds load slowly or fail outright on shared hosting — and how we set ours up so they do not.
Read the case study →
Board
Chess 3D Master — giving a losing player a reason to finish
Ten shaped AI levels, bounded power-ups, and a Points Battle mode where captures score — so a player behind on material still has something to play…
Read the case study →
Board
Carrom Nights 3D — two rulesets, one board, and a screen that turns around
Everyone who downloads a carrom app already knows how it should feel. The upgrade asked a harder question: can one board serve both a newcomer and…
Read the case study →
