Breakout

8 × 4 grid · 32 bricks · AABB sweep · 60 fps target

LIVE 60 FPS
HI-SCORE 0
HTML5 CANVAS · VANILLA JS
400 × 600 CANVASREADY
Grid
8 × 4
50 × 20 px cells, top-aligned
Paddle
60 × 10
clamped x 0 → 340, y = 580
Ball
r = 3 px
speed magnitude 3.4 → 5.6
Solve
AABB
sub-stepped, closest hit wins
Score
+10
per brick · 3 lives
Loop
rAF
delta-clamped, ~60 fps