One prompt. One pull of the lever. The LLM crafts your game.
The prompt is the skill. The game is the prize.
A one-shot game is an HTML game generated in a single prompt to an LLM. No iteration, no follow-up, no editing. What comes out is what gets posted. The quality of your game is a direct measure of your prompt engineering skill.
Write a single prompt describing the game you want. Use the hint sheet below to maximize the LLM's output quality. The prompt is your only move.
Submit your prompt to an LLM (ChatGPT, Claude, Gemini — any frontier model). One shot. No follow-up prompts, no iteration, no editing the output.
The generated HTML is your prize. Save it exactly as returned. Host it on GitHub Pages. The output — bugs and all — is what gets judged.
Share your GitHub Pages link along with your original prompt. The community evaluates playability, originality, and visual quality. Your prompt goes on the record.
The Honor Rule: No editing the LLM output. No multi-turn generation. No prompt chaining. One prompt in, one HTML file out. If it breaks on load, that's your score. If it's spectacular, that's your score. The constraint is the point.
The generated game must be HTML suitable for GitHub Pages hosting. Single-file preferred. Tell the LLM exactly what libraries and techniques to use — it only knows what you ask for.
The gold standard for browser 2D games. Arcade physics, tilemaps, animations, input handling. Tell the LLM to use it and the output quality jumps dramatically.
2DPhysicsCDNFull WebGL 3D scenes in the browser. Geometries, lighting, shaders, cameras. Instruct the LLM to add OrbitControls and a scene loop for best results.
3DWebGLCDNHigher-level 3D engine. Better default lighting and physics than Three.js raw. Good for game-like 3D environments without deep shader work.
3DPhysicsCDNNo dependencies, maximum control. Good for pixel art, particle systems, or procedural generation. Ask the LLM to write a game loop with requestAnimationFrame.
NativeNo CDNRigid body 2D physics. Collisions, constraints, gravity. Great for puzzle games, pinball, or anything that needs realistic object stacking.
PhysicsCDNSynthesized audio in the browser. Sound effects, music loops, and reactive audio without loading audio files. Underused, high visual score impact.
AudioCDNFor data-driven games — market simulations, graph traversals, network visualizations with game mechanics layered on top.
DataCDNProfessional animation timelines. UI transitions, sprite animations, screen effects. Dramatically improves perceived production value.
AnimationCDN5–10 MB, synchronous, zero setup. Best default for single-player state: high scores, settings, save files. Tell the LLM to persist scores here.
Client-SideEncode the entire game state in the URL hash. Shareable, zero storage, no server. Perfect for puzzle games ("share your board"). Ask for base64 encoding in the URL fragment.
ShareableFree-tier backends for cross-player leaderboards and persistent state. Requires API keys but enables true multiplayer scoring. Instruct the LLM to use the CDN SDK.
Needs KeysAsk the LLM to use a seeded random number generator (e.g. mulberry32). Same seed = same level. Enables fair comparison and daily challenge modes.
ReproducibleGames that pull live data feel alive. The browser's CORS policy gatekeeps what's reachable — this table tells you what actually works from a static GitHub Pages host.
| API / Service | Category | Free Tier | CORS from Browser | Notes |
|---|---|---|---|---|
| Open-Meteo | Weather | Unlimited | ✓ Works | No key needed. Real-time weather by coordinates. |
| Open Trivia DB | Trivia / Quiz | Unlimited | ✓ Works | Thousands of categorized trivia questions. No key. |
| PokeAPI | Game Data | Unlimited | ✓ Works | Pokémon stats, sprites, moves. Huge creative potential. |
| REST Countries | Geography | Unlimited | ✓ Works | Flags, populations, capitals. Good for geography games. |
| NASA APIs | Space / Science | Generous | ✓ Works | APOD, asteroid data, Mars rover photos. Key required. |
| Finnhub / Alpha Vantage | Finance | Limited calls | ✓ Works | Real stock quotes. Free API key. Use for trading games. |
| Chess.com Public API | Gaming | Unlimited | ✓ Works | Player stats, game history, leaderboards. No key. |
| Wordnik / Datamuse | Language | Generous | ✓ Works | Word definitions, rhymes, word associations. Word games. |
| Yahoo Finance (unofficial) | Finance | Unmetered | ⚠ Fragile | Undocumented endpoint, no SLA. Works today, may not tomorrow. |
| Spotify / Google Maps | Various | Yes | ✗ Blocked | Requires server-side OAuth or a proxy. Not usable from static pages. |
GitHub Pages is static. No server-side code, no proxies, no WebSockets. If an API requires a backend or OAuth redirect flow, it won't work from a GitHub Pages host. Stick to CORS-open APIs or include API keys directly in the HTML (acceptable for a contest, not for production).
These are the phrases and instructions that unlock more capable, polished LLM-generated games. Copy, adapt, and layer them into your prompt.
// ONE SHOT GAME CONTEST ENTRY — PROMPT EXAMPLE Generate a complete, self-contained single-file HTML5 game. No external assets. All CSS and JavaScript inline. Must run on GitHub Pages with no server. GAME: Asteroid mining roguelite. The player pilots a ship, mines floating asteroid fields, and upgrades their drill between waves. Wave 10 is a boss encounter. TECH: - Phaser.js 3 from cdnjs CDN - Canvas particle effects for explosions and ore pickups - Screen shake on damage (canvas translate offset) - Google Fonts: "Orbitron" for UI, "Share Tech Mono" for data - Dark space aesthetic with neon accent colors via CSS vars MECHANICS: - mulberry32 seeded RNG, seed visible and URL-encodable - WASD + arrow keys + mobile touch support - Combo multiplier up to 4x for rapid mining - Difficulty scaling: asteroid speed +10% per wave - Upgrade shop between waves (speed, drill power, shields) PERSISTENCE: - Top 5 scores in localStorage with initials + date - Encode final score + seed in URL hash on game over - "Share Run" button copies seed link to clipboard POLISH: - Parallax star field with 3 depth layers - Idle animations on all UI elements - Sound effects via Tone.js (loaded from CDN) — mining ping, explosion boom, wave clear fanfare
Community judges rate each submitted game across five dimensions. Scores are 1–10 per category. The prompt is judged separately — shorter, more elegant prompts that produce equivalent output rank higher.
Does it load? Does it run? Is it actually playable from start to game-over? Broken games score a 1 regardless of other qualities.
Does it look intentional? Typography, color coherence, animation quality, and overall polish. Default browser styling is a 2.
Does it have progression, difficulty scaling, or interesting decisions? A game you'd actually play for more than 60 seconds.
Is the concept novel? Does it use live data, generative systems, or an unusual mechanic? Clones of common games score low here.
Bonus category. A 150-word prompt that produces a great game scores higher than a 600-word prompt for the same result. Compression is skill.
The Meta-Game: Post both your GitHub Pages link and your original prompt. The community sees both. A beautiful game with a brilliant short prompt is the jackpot. A mediocre game with a 1000-word prompt is its own commentary.