Challenges

Same prompt. Different models. Who builds it best?

Breakout

Brick-breaking arcade game.

Prompt
Create a complete Breakout game as a single self-contained HTML file.

REQUIRED FEATURES:
1. Canvas-based rendering, full-window sized (maintains 16:9 aspect ratio)
2. Paddle: controlled by mouse (move horizontally) + arrow keys + touch drag
3. Paddle width decreases slightly per level (starts 120px, -10px per level, min 70px)
4. Paddle has rounded corners and a subtle bounce-angle effect (ball reflects differently based on hit position)
5. Ball: starts on paddle (click/tap to launch), realistic physics with angle reflection
6. Ball speed increases slightly per brick hit and per level
7. Ball trail effect (semi-transparent previous positions)
8. Brick grid: 8 rows × 10 columns, each row different color (rainbow)
9. Brick types: standard (1 hit), fortified (2 hits, darker shade + crack visual), gold (indestructible, sparkle effect)
10. Power-ups (drop randomly from destroyed bricks):
    - Expand paddle (1.5x, 10 seconds)
    - Multi-ball (split into 3, 10 seconds)
    - Fire ball (destroys bricks on contact without bouncing, 8 seconds)
    - Extra life
    - Slow ball (0.7x speed, 8 seconds)
11. Lives system: start with 3, lose life when ball falls below paddle
12. Level progression: new brick layout each level (different patterns: diamond, pyramid, checkerboard)
13. Score: brick value varies by row (top rows worth more, 50-10 descending)
14. Start screen: "BREAKOUT" title, shows controls, "Click/Tap to play"
15. Pause: press P or Escape
16. Game over: final score, high score (localStorage), "Click to restart"
17. Level complete: celebration animation, "Level X Complete! → Next Level"

AUDIO:
18. Web Audio API: paddle hit (short ping based on hit position pitch), brick break (upward chirp), wall bounce (low thud), life lost (descending), power-up collect (ascending sparkle), game over

VISUAL:
19. Neon/arcade aesthetic
20. Particle burst when brick breaks (colored particles matching brick)
21. Power-up indicator pulsing on paddle
22. HUD: score, lives (as small ball icons), level number

CODE:
23. Single HTML file, vanilla JS, Canvas 2D
24. requestAnimationFrame with delta-time physics
25. Clean state machine: MENU, PLAYING, PAUSED, LEVEL_COMPLETE, GAME_OVER