Click / tap the screen or press SPACE to launch
Click / tap the screen or press SPACE to launch
The ball rests on the paddle until you commit. Release applies the spec vector (2, −2.8) normalised to 3.44 px/frame — never straight up, with a few degrees of jitter so no two serves are identical.
Contact position maps to a ±60° exit angle. Dead centre returns vertically; the tips throw the ball wide. Speed magnitude is re-normalised after every bounce so the ball never accelerates out of control.
Circle-vs-AABB overlap is resolved against the single closest brick using minimum-penetration axes, then the ball is displaced clear of the box — no double flips, no tunnelling, no bricks eaten twice.