HTML5 · CANVAS 2D · VANILLA JS · NO LIBRARIES

BREAKOUT

32 bricks. 3 balls. One 400 × 600 field. Substepped circle-vs-AABB collision, a fixed 60 Hz physics step, and synthesized WebAudio — all hand-written.

400 × 600 FIELD 8 × 4 GRID / 50 × 20 BALL R3 · 3.44 px/f PADDLE 60 × 10 @ y580 MAX 320 PTS
Breakout — canvas play field