BX-32 / CRT

Breakout

8 columns · 4 rows · 3 balls · 320 max

READY
60FPS
32BRICKS
CRT 400 × 60060 HZ · FIXED STEP

Move mouse · ←→ · finger drag  /  Launch click · tap · Space  /  Pause P

Service Card

REV. 1.0 — VANILLA JS / CANVAS 2D

Thirty-two bricks, eight across and four down. Three balls to clear the wall — the paddle is 60 pixels wide and the ball does not forgive.

Collision is explicit axis-aligned bounding-box math. On contact the penetration depth of each axis is measured and the smaller one is resolved, which is what decides whether the ball flips dx or dy. Exactly one brick is destroyed per step — the closest candidate wins — and the ball is pushed clear of the tile so it can never nest inside the wall. Speed magnitude is renormalised after every bounce and clamped away from shallow angles.

CANVAS 400×600 · FIXED 1/60 TIMESTEP · DPR AWARE · AABB SIDE RESOLUTION · ONE BRICK PER STEP · REQUESTANIMATIONFRAME · TOUCH + KEYBOARD + MOUSE · ZERO DEPENDENCIES · SINGLE FILE ·  CANVAS 400×600 · FIXED 1/60 TIMESTEP · DPR AWARE · AABB SIDE RESOLUTION · ONE BRICK PER STEP · REQUESTANIMATIONFRAME · TOUCH + KEYBOARD + MOUSE · ZERO DEPENDENCIES · SINGLE FILE ·