Polybreak Level Design: How AI Agents Craft 100 Levels That Feel Human
The standard assumption about procedurally generated levels is that they feel random. You get variation but not intentionality — levels that are technically different but structurally indistinct, like shuffled cards rather than designed cards.
Polybreak’s 100 campaign levels were built by AI agents, and they don’t feel random. They feel designed. This post is about why.
The Problem with Pure Procedural Generation
Classic brick-layout randomization works like this: pick a grid, fill cells with a random distribution of brick types, tune the density and leave some gaps. The result is playable, and with enough runs it covers a lot of ground. But it has a failure mode: flatness. Every level feels like a reskin of the same spatial logic. Nothing presses you to think differently. Nothing has a shape that implies meaning.
Real human-designed breakout levels have implicit goals. They create zones. Some areas are dense and punishing. Some are sparse and strategic. Power-ups aren’t scattered — they’re placed where a player in distress might break through to reach them. Boss bricks with high HP sit in positions that reward angles you’ve been building toward across the previous 30 seconds of play.
The AI approach in Polybreak isn’t pure randomization. It’s constrained generation with design-aware rules. The distinction matters.
The Architecture: Zones First, Bricks Second
Every Polybreak level begins with a zone map — an abstract spatial plan before a single brick type is assigned.
The level area is divided into three vertical bands and two depth registers, producing a 3×2 grid of zones. Each zone is tagged with one of five characteristics:
- Dense — tight brick clusters, high HP bricks, difficult angles
- Sparse — deliberate gaps, open space, ball chaos
- Reward — positioned power-up bricks with favorable break angles
- Structural — load-bearing formations that persist into mid-game
- Breathing — near-empty areas that give the player visual recovery space
The zone map determines the feel of the level before content is placed. A level with Dense zones at the top and Breathing zones in the bottom-middle creates a different experience than one with Sparse zones at the top and Structural zones bracketing the center. The spatial logic is set first.
This is the same mental model a human level designer uses. They think about where pressure builds, where the player gets relief, where the reward lands. The AI does the same — it just operates on explicit rule parameters instead of intuition.
Difficulty Curve: The 10-World Arc
100 levels across 10 worlds means 10 levels per world. Within each world, the AI follows a difficulty arc:
Levels 1-3 (Introduction): Low density, low HP bricks, power-ups placed in easily accessible positions. No steel bricks. The zone map emphasizes Breathing and Reward zones. These levels teach the world’s visual language and mechanic signature.
Levels 4-7 (Development): Density increases per-level at a fixed rate. New brick types from the world’s palette are introduced. Power-up placement becomes more deliberate — they’re still reachable but require commitment to reach. Structural zones begin appearing.
Levels 8-9 (Pressure): Maximum density for the world tier. Steel bricks arrive (from World 5 onward, they’re present from level 1). Zone maps shift toward Dense + Structural combinations. Breathing zones shrink.
Level 10 (Boss Level): The boss level breaks the standard grid. It uses a symmetrical layout with the boss brick cluster centered in the top band. The surrounding bricks are lower HP and serve as point-scoring fodder. The design challenge is getting the boss brick angle — which requires clearing specific adjacent clusters first. This is the puzzle.
Between worlds, the base brick HP budget increases by 12% and the density ceiling rises by 8%. The power-up weights also shift: later worlds reduce Multi-Ball weight (it becomes destabilizing at high brick density) and increase Laser and Catch-and-Aim weights, which reward deliberate targeting.
Power-Up Placement: The Urgency Gradient
Power-ups in Polybreak aren’t scattered. They’re placed via an urgency gradient — a scoring function that rates each candidate brick position for power-up embedding.
The function considers:
- Distance from the current ball trajectory — power-ups in the ball’s likely path have higher scores. Not so high that they’re automatic, but high enough that a player who’s read the angles can plan a retrieval route.
- Surrounding HP weight — power-ups embedded in clusters with adjacent high-HP bricks have lower urgency scores. You shouldn’t have to fight through a fortress to get a reward.
- Vertical position — the urgency score has a mild preference for the lower half of the level. Power-ups at the top are rare; reaching them requires ball elevation that’s earned, not assumed.
- World tier multiplier — in later worlds, the urgency gradient flattens. Power-ups become slightly harder to reach as a natural difficulty parameter.
The result is that power-ups feel findable rather than random. Players who’ve developed breakout intuition can read the level and project where the rewards will be, because the placement logic matches how a skilled player already thinks about brick prioritization.
The Pacing Problem: Avoiding the Long Tail
The worst breakout level is one that goes 80% completion quickly, then leaves 4 bricks in the top corner that take five minutes to hit. The player has beaten the level intellectually but is stuck in clean-up purgatory.
Polybreak’s generation avoids the long tail through density clustering — bricks are never placed in configurations where reaching them requires angles that the physics can only produce accidentally. Specifically:
- No isolated single bricks in the top two rows (they must be adjacent to at least one other brick, or placed in a position that a ball bounced off the left wall can reach naturally)
- No brick formations in the four corner cells with fewer than three bricks total in the adjacent cells
- Steel brick placement (World 5+) follows a reachability scan: the generator simulates three ball trajectories and only places a steel brick in a position that at least two of those trajectories can hit within twenty bounces
This eliminates the structural sources of long-tail play without eliminating difficulty. Levels can still be genuinely hard — dense, punishing, unforgiving on angles — but they won’t leave you hunting a corner brick at minute 4.
What Makes It Feel Human
The honest answer: constraints.
Unconstrained generation feels random because it is random. The design work is in the constraints — the zone system that sets spatial intentionality, the difficulty arc that makes the world feel like a progression, the urgency gradient that makes power-ups feel placed rather than distributed, the reachability scan that prevents structural dead ends.
A human designer working on 100 levels would do the same thing implicitly. They’d have mental models for zone balance, progression rate, and power-up placement that they apply (inconsistently, subject to mood, energy, and deadline pressure) across the level set. The AI applies the same models consistently, across all 100 levels, every time.
The design is human. The execution is automated.
That’s not a downgrade. It’s the whole point of building an AI game studio: the design decisions are made by the system, and the system can apply them at scale without fatigue. The result is 100 levels where the difficulty curve is smooth, the power-up placement is legible, and the boss levels have structural logic — not because a human reviewed each one, but because the rules that produce good design were encoded into the generator from the start.
The question “does it feel human?” is the wrong question. The right question is “does it play well?” Polybreak’s answer is yes.