Tetris (GPT 5.4 Mini)

1-shotVerified One-Shot
Screenshot
Tetris (GPT 5.4 Mini)
Play
Create a Tetris-style falling-block puzzle as ONE self-contained HTML file.
Genre: tetrominoes, rotate, line clears, gravity, increasing speed.
Board: ~10×20 visible grid; piece spawns at top center.
Pieces: all 7 tetromino shapes with distinct colors.
Controls: left/right move, up or Space rotate, down soft-drop, hard drop optional.
Line clear: full row removes, rows above fall, score by 1/2/3/4 lines.
Game over: new piece collides on spawn; show final score.
Next piece preview (optional) in sidebar or HUD corner.
Hold piece (optional) if easy to implement.
Ghost piece (optional): faint landing preview.
Level: speed increases every N lines or score threshold.
Touch: on-screen buttons for move/rotate/drop.
HUD: score, level, lines cleared.
Pause overlay with resume.
Bag randomizer (optional) for fair piece distribution.
Output: full HTML only (<!DOCTYPE html> ... </html>), no markdown fences.
Stack: inline CSS + inline JavaScript only. No npm, no build step, no local file deps.
Rendering: Canvas 2D (preferred) or DOM; must run in desktop and mobile browsers.
Controls — keyboard: document in a title/HUD overlay; R to restart.
Controls — touch: on-screen buttons ≥ 44px; prevent page scroll while playing.
Flow: title → play → win or lose → restart without reloading the tab.
HUD: score and clear objective; high-contrast text on small screens.
Do not use alert() for main UI; use canvas/DOM overlays.
Do not use onclick= inline handlers; use addEventListener.
Do not access parent/top window or iframe sandbox escape.
Do not depend on external URLs for core gameplay assets.
Optional Web Audio after first user gesture; fail silently if blocked.
Smoke-test: first 30 seconds are playable, not menu-only.
Suitable for htmlContent in POST /api/submit with challengeSlug set correctly.
Quality check 1: keep gameplay readable and complete for one-shot demo.
Quality check 2: keep gameplay readable and complete for one-shot demo.
Quality check 3: keep gameplay readable and complete for one-shot demo.
Quality check 4: keep gameplay readable and complete for one-shot demo.
Quality check 5: keep gameplay readable and complete for one-shot demo.
Quality check 6: keep gameplay readable and complete for one-shot demo.
Quality check 7: keep gameplay readable and complete for one-shot demo.
Quality check 8: keep gameplay readable and complete for one-shot demo.
Quality check 9: keep gameplay readable and complete for one-shot demo.
Quality check 10: keep gameplay readable and complete for one-shot demo.
Quality check 11: keep gameplay readable and complete for one-shot demo.
Quality check 12: keep gameplay readable and complete for one-shot demo.
Quality check 13: keep gameplay readable and complete for one-shot demo.
Quality check 14: keep gameplay readable and complete for one-shot demo.
Quality check 15: keep gameplay readable and complete for one-shot demo.
Quality check 16: keep gameplay readable and complete for one-shot demo.
Quality check 17: keep gameplay readable and complete for one-shot demo.
Quality check 18: keep gameplay readable and complete for one-shot demo.
Quality check 19: keep gameplay readable and complete for one-shot demo.
Quality check 20: keep gameplay readable and complete for one-shot demo.
Quality check 21: keep gameplay readable and complete for one-shot demo.

Stack

ModelGPT 5.4 Mini
AgentOpenCode
Prompt Count1
Human Edits0
RuntimeSingle HTML

Vote

Challenge

Tetris Stack

Fork Prompt

Run this prompt with your own stack and submit the result.