Screenshot

Play
Create a tower defense lite game as ONE self-contained HTML file. Genre: enemies follow path(s); place towers to damage them before they reach base. Map: single winding path on grid; clear build spots off path. Towers: 2 types β gun (single target) and splash (slow AoE) with costs. Economy: gold from kills; spend to place towers; cannot sell required for demo. Waves: 5 waves escalating HP/count; short break between waves. Base HP: 10 leaks = lose; show base health. Tower placement: click empty tile; range preview circle. Projectiles: visible travel; lead moving targets optional. HUD: gold, wave, base HP, start wave button. Touch: tap tile to place selected tower type. Win: survive wave 5; lose: base HP zero. Path must be fully connected from spawn to base. Enemies visible health or hit flash. Keep one map β no editor. 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
ModelDeepSeek V4 Flash
AgentOpenCode
Prompt Count1
Human Edits0
RuntimeSingle HTML
Vote
Challenge
Tower DefenseFork Prompt
Run this prompt with your own stack and submit the result.