Bounce Ball — one more turn

Fire balls from the bottom of the board at bricks marked with numbers. The number is the brick's remaining hit points; every touch takes one off. When all balls have returned, every row moves down one step and a new row enters at the top. New bricks carry as many hit points as the current stage, so the longer you last, the thicker the bricks. Each row hides one «+1 ball» — brush it and you fire one more ball next turn. The game ends the moment a brick reaches the launch row. Your best stage is saved in this browser only; nothing to install.

How to use

  1. Press and drag on the board to see a dotted aiming line. Release and the balls fire one after another.
  2. Balls bounce off the walls and ceiling; each touch on a brick lowers its number by 1. At 0 it disappears.
  3. Brush a ring-shaped «+1 ball» to fire one more ball from next turn. The first ball back sets the next launch spot.
  4. Hold the screen while balls fly to fast-forward. After 8 seconds a turn speeds up on its own.

A new row places the «+1 ball» first in one of the seven cells, then a brick in each of the other six with 45% probability. Brick hit points equal the stage number, doubled with 15% probability.

You cannot aim flatter than 10° from horizontal. Flatter than that, balls would shuttle sideways and the turn would never end.

Balls move 9 pixels 60 times a second (540 px/s). A brick side is 46 pixels, so balls never pass through. Balls leave about 0.07 s apart.

A «+1 ball» that reaches the launch row is collected automatically, so one missed pickup cannot freeze the game.

Your best stage lives in this browser's localStorage and is never sent to a server.

In depth

Rules — one row per turn

Three rules make the whole game: balls bounce off walls and bricks, bricks lose one point per hit, and every row drops one step when a turn ends. The board is 7 columns by 10 rows with the launch row beneath. A brick touching the launch row ends the game.

Every new row contains exactly one «+1 ball»; each of the other six cells gets a brick with 45% probability. Brick hit points equal the stage, doubled with 15% probability. So the game gets harder in exactly one way — bricks get thicker — and there is exactly one answer: more balls.

The stage is the turn count. It rises by 1 each turn and is the number saved as your best. Bricks broken are counted too, but whoever lasts longer breaks more bricks, so the two mostly move together.

More balls is the whole skill

Bricks thicken every stage, but balls only grow when you collect pickups. Missing one «+1 ball» does not cost one turn — it costs one ball on every turn after that. Early on, look for the pickup before the bricks.

A pickup needs only a touch: no repeated hits, just a ball passing through it. So the first question when aiming is «does this path cross the pickup?»

A pickup that drifts down to the launch row is collected on its own. Missing it is not the end, but you spent two or three turns one ball short.

Aiming — use the walls

Balls leave a wall or ceiling at the angle they arrived (angle of incidence equals angle of reflection). The aiming line shows those bounces up to the walls but ignores bricks — showing the path after a brick would make aiming the answer and delete the game.

The strongest shot threads a ball into an empty column between bricks. A ball caught there hits both neighbours in turn and struggles to get out, grinding them down. Hitting the seam where two bricks touch takes 1 off both at once. A tall empty column is the turn's target.

Flat angles are clipped at 10°. A low shot sweeps a row sideways nicely, but flatter than that the ball just shuttles left and right without climbing, and the turn drags.

The first ball back sets the next launch spot. With many balls, think about where that first ball lands — an angle that returns near the middle keeps next turn's options open.

Fast-forward and «one more turn»

Around thirty balls, turns get long. Hold the screen while balls fly and the game runs at triple speed; after 8 seconds it speeds up on its own. Physics runs on a fixed 1/60 s tick, so fast-forwarding changes nothing but the wait.

What keeps you here is that a turn is short and each one ends with two open questions at once: what the next row brings, and which gap to thread. Failure never arrives all at once either — you watch a thick row creep down and can count the turns you have to break through.

About this implementation

Ball motion is computed 60 times a second, 9 pixels per step. On a phone that drops frames the picture slows but the path is identical. The same board and angle always produce the same result, which lets the tests write down the rules literally.

Brick collision measures the distance from the ball's centre to the nearest point on the brick; the bounce axis is the larger component of that vector. A top hit flips only the vertical velocity, a side hit only the horizontal. After bouncing the ball is pushed clear so the next step does not hit the same brick again.

A new row picks the pickup cell first and then places bricks. Done the other way round, a row of seven bricks occasionally leaves no pickup, and a few such rows in a row freeze the ball count.

The rules are pure functions over immutable state, so each tick can be compared with the previous one — that difference is what triggers the brick-break and pickup sounds.

Your best stage stays in this browser. Nothing is sent to a server, there is no global leaderboard, and clearing site data clears the record.

FAQ

What are the rules?

Fire balls upward at numbered bricks. Each touch lowers the number by 1; at 0 the brick vanishes. When every ball has returned, all rows drop one step and a new row enters. The game ends when a brick reaches the bottom launch row.

How do I get more balls?

Brush the ring-shaped «+1 ball» hidden in every row. From the next turn you fire one more ball. A pickup that reaches the launch row is collected automatically.

What does the number on a brick mean?

Remaining hit points. New bricks get as many as the current stage, doubled with 15% probability. A brick entering at stage 20 takes 20 hits (40 if doubled).

How does the stage go up?

By 1 every turn — a turn is one full salvo out and back. The stage is how many turns you survived, and that is the record kept.

Does it work on a phone?

Yes. Drag on the board to aim and release to fire; hold the screen to fast-forward. It runs in the browser without install or sign-up, and works offline.

Method and sources

What this tool bases its numbers on, and how far those numbers go.

What this tool is
A browser implementation of the «bounce balls at numbered bricks» genre. Not an official version of any app; board size, probabilities and speed are this page's own values.
Formula
The board is 7×10. A new row has one «+1 ball» plus a brick in each other cell with 45% probability (hit points = stage, doubled with 15% probability). Balls move 9 px sixty times a second and reflect off walls and bricks at the incoming angle. When a turn ends every row drops one step.
Worked example
A brick entering at stage 12 has 12 hit points (24 if doubled). With 5 balls, removing it this turn means each ball must hit it 2.4 times on average.
Limitations
  • Your best stage is stored in this browser only. Clearing site data or opening another device starts from 0.
  • The aiming line ignores bricks. It shows wall bounces only; the path after the first brick is yours to predict.
  • Brick layouts come from Math.random. Seeds cannot be shared, so the same board cannot be replayed.
  • Balls do not collide with each other; they pass through one another. Only bricks, walls and pickups are physical.
  • A ball hitting the seam between two touching bricks takes a point off both in one tick by design, so bricks may wear faster than in other implementations.
Effective date
Last reviewed

Related tools