How to play Brick Breaker
| Keys | Action |
|---|---|
| ← → | Move paddle |
| A D | Move paddle |
| Space | Launch |
| P | Pause |
| R | Restart |
| M | Mute |
On phones and tablets, use the on-screen tactile D-pad under the viewport.
About Brick Breaker
Brick Breaker is a breakout-style arcade game with no final level. Clear the board and a new grid is generated, taller, tougher and faster than the last. You have three balls; lose them all and the run is over. The paddle follows your mouse or finger, or use the keyboard.
Where the ball meets the paddle decides where it goes: the centre sends it straight up, the ends angle it by up to 62 degrees, and a moving paddle adds some of its sideways motion.
Scoring, levels and tips
- Bricks have one to four hit points and dim as they take damage. A hit that doesn't break a brick scores 10; breaking one scores 50 for each hit point it started with.
- Breaking bricks without returning to the paddle builds a combo: from the second brick on, each break adds 10 × the combo count. It resets on the paddle or after 1.6 seconds without a break.
- Clearing a level pays 500 + 100 × the level number + 150 per ball left.
- A broken brick drops a capsule 16% of the time, worth 75 points: wide paddle (↔), multiball (✷), slow ball (≈), narrow paddle (><) or, rarest, an extra life (♥).
- Level 1 has four rows, growing to eight. Toughness rises every three levels, and ball speed with every level up to a cap.
- Your high score is saved in your browser the moment you beat it.
- Tip: a ball trapped above the bricks never touches the paddle, so that's where combos grow.
- Tip: each spare ball is worth 150 when a level ends, so play safe near the end.
How it's built
Brick Breaker is written from scratch in TypeScript on an HTML canvas, with no game framework, and its physics run at a fixed 120 Hz. Each step is split into up to eight sub-steps, so a fast ball never moves more than about 85% of its radius at once and can't tunnel through a brick. Brick contact is a circle-versus-box test that pushes the ball out along the axis of least overlap and reflects it.
Each level is generated from its number, which sets the row count, the toughness and one of five rotating layouts: a solid wall, a checkerboard, a V-shaped wedge, gapped stripes and a wall that tapers towards the bottom. Sound is synthesised with the Web Audio API.