UYLLII

Blog › Game design

Game design

Wrecking Ball: a brick breaker roguelite, three designs later

By David4 min read
Wrecking Ball feature graphic

Wrecking Ball is out on Google Play. It's a brick breaker roguelite: aim, fire a volley of balls, and break boards made of pixel-art pictures with a limited number of shots. Between runs, you build a better ball. The goal, as the store listing puts it, is to build a ball that breaks the game.

It's also the game I redesigned most. The version you can play is the third one.

Why a brick breaker roguelite

Brick breakers are a huge genre on Google Play: the top results for "brick breaker" have a median in the tens of millions of installs. "Brick breaker roguelike" is a different story. Its top ten included apps with 26 and 132 installs, with no real answer to the search. On PC, Ball x Pit proved the loop with millions of sales. Nobody had done it properly on a phone for free.

And it's exactly the kind of game I want to play: short runs, numbers going up, and the moment a build tips over into absurd.

Version 1: build the wall you bounce off

The first design mixed two hits: Ballz-style volleys, plus Block Blast-style pieces you placed in a wall at the bottom to bounce off. Fifteen floors, tools, bosses, art. It worked, and the simulator even caught a bug before I played it (a frost effect that froze the field forever).

Then I played it. It looked very cartoony, I didn't like the Tetris at the bottom, and the first level was boring. Version 1 was dead in one sitting.

Version 2: a skill every level

The second design leaned into the roguelite: a new ball skill every level, skills upgradeable to level 10, double-edged skills, handicap cards before a level for extra reward, and fixed, designed boards instead of random rows.

Real play found five problems the bots hadn't:

Then a bigger problem. After a few fixes, every run reached level 100+ with every skill maxed: 150 balls, triple damage, nothing left to want. With a pick every level, about a hundred picks a run against 14 skills with 10 levels each, everything saturates by level 80. And nothing carried from one run to the next.

The lesson I wrote down: a design that grows by levelling every pick saturates. Long progression has to live between runs, and in-run picks have to be scarce.

Version 3: the workshop

The version that shipped moves growth out of the run:

4,500 boards from pictures

I wanted thousands of designed boards, not random rows, so every board is a picture turned into bricks: animals, food, castles, landmarks, famous paintings, shapes. There are about 4,500, and each one was played by a bot to set its shot budget. How that pipeline works is coming in a later post.

Physics you can replay

The physics runs at a fixed 480 steps per second and is fully deterministic. Close the app mid-volley and it replays the shot exactly when you come back. That also makes one skill possible: Foresight shows exactly where your shot will go, because the game can simulate it in about 3 ms.

Balancing with bad aim

Every balance run uses two kinds of bot: a look-ahead bot that aims perfectly, and a rough-aim bot that plays like a person on a phone. The look-ahead bot hides unfair bosses, because it can thread any gap. Short simulations hide runaways, so long runs matter too. They found:

The targets now: a new player reaches around level 12–18, a week of play gets you to 30–40, and a maxed workshop goes past 100.

Money

A banner, optional videos for a second wind or double stone, and Remove Ads, with no interstitials. It's also the first game where I sell progress: stone packs for players who want the workshop faster. Nothing in a run can be bought, so the leaderboards stay fair.

I'll report back on how it does. If you like brick breakers or roguelites, I'd love to know where your best run ends.