Auto-run, react, survive. The speed curve and fair obstacle spacing decide whether players hit retry or close the tab.
Tips for endless runner games
State a minimum gap between obstacles that grows with speed. Fast runners with fixed gaps become impossible.
Ask the restart to happen with the same button as jump. Players should be running again within a second.
Base all movement on elapsed time, not frames, so the game runs at the same speed on 60 Hz and 120 Hz screens.
starter
Desert dash
Make an endless runner. A small character runs automatically to the right across a flat desert. Space, up arrow or tap jumps; holding makes the jump a bit higher. Cacti of 3 sizes appear on the ground; birds fly at head height after 500 points and must be ducked under with down arrow or swipe down. Speed increases slowly over time. Score goes up with distance; best score saved. Pressing jump on the game over screen restarts immediately. Use timestamps so speed is the same on any screen refresh rate. Minimal grey-on-white style, parallax clouds.
Asking for time-based movement up front prevents the 'runs twice as fast on my phone' bug.
Follow-up tweaks
Add a night mode that switches every 1000 points.
Add a rare golden cactus that gives a shield when jumped over.
intermediate · tested ✓
Three-lane city runner
Make a 3D-looking endless runner using simple perspective (no 3D library needed, or use plain 3D if easy). The player runs forward on three lanes. Left/right arrows or swipes change lanes, up/swipe up jumps, down/swipe down slides. Obstacles: low barriers (jump), high bars (slide), parked carts (change lane). Coins in lines along lanes. Speed rises every 15 seconds. One hit ends the run. Never place obstacles that block all three lanes without a jump or slide option. Score = distance + coins x 10. Colourful toy-city buildings on both sides.
Listing which move beats which obstacle keeps every pattern fair.
Follow-up tweaks
Add a magnet power-up that pulls coins from all lanes for 8 seconds.
Add a 'second chance' that lets me continue once by spending 100 coins.
starter
Cave flyer
Make a one-button cave flying game. A small glider moves right automatically through a cave. Holding Space/mouse/touch makes it rise; releasing makes it fall. The cave ceiling and floor are generated with smooth random shapes and narrow slowly over time, but the gap never gets smaller than 3x the glider's height. Touching rock ends the run. Score is distance; best score saved. Add a trail of small particles behind the glider and a screen shake on crash. Dark cave with a glowing teal glider.
A minimum gap tied to the player's size is the fairness rule this genre depends on.
Follow-up tweaks
Add floating gems that are risky to reach and give +50.
Add moving stalactites that drop when the glider is close.
intermediate
Rooftop parkour
Make a side-scrolling rooftop runner. The player runs right automatically across rooftops with gaps between buildings. Jump with Space/tap; double jump allowed once in the air. Gaps and building heights are random but always jumpable at the current speed (calculate from jump height, gravity and speed). Landing on a skylight shatters it into particles for +20. Speed increases every 10 seconds. Falling into a gap ends the run. Silhouette skyline at sunset, three layers of parallax.
Telling the AI to calculate gaps from physics values ensures every jump is possible.
Follow-up tweaks
Add a slide move (down / swipe down) under hanging signs.
Add a ghost line showing where my best run ended.
intermediate
Gravity switch tunnel
Make a runner where the player runs along the floor of a tunnel and taps/presses Space to flip to the ceiling and back. Obstacles appear on both floor and ceiling; the player must flip to the safe side. Patterns come from a list of handmade sections joined randomly, each 2 screens wide. Every 30 seconds the colour palette shifts and speed increases by 8%. Score = seconds survived x 10. Best score saved. Neon on black, a pulse effect on every flip.
Handmade sections joined randomly balance fairness with variety.
Follow-up tweaks
Add a coin multiplier that grows for every 10 flips without a crash.
Add a practice mode that starts at any reached speed.
starter
Snowboard slope
Make a downhill snowboard runner viewed from above. The player is at the top of the screen and the slope scrolls up. Left/right arrows or tilt-free on-screen buttons steer diagonally. Trees and rocks to avoid; flags to pass through for +10 points. Missing a flag costs 5 points (no game over). Hitting a tree ends the run with a snow puff. Speed increases gradually. Best score saved. White snow with blue shadows, pine trees as triangles.
Mixing a soft penalty (missed flags) with one hard fail gives depth without frustration.
Follow-up tweaks
Add ramps that launch the player into a short jump over obstacles.
Add a yeti that appears after 2000 m and slowly chases.
advanced
Rhythm runner
Make an endless runner where obstacles line up with a beat. Generate a simple drum loop with the Web Audio API at 120 BPM. Obstacles are placed so their jump timing lands on beats. Jumping exactly on the beat (within 80 ms) gives 'Perfect' +3, near the beat 'Good' +1. The tempo increases by 5 BPM every 16 bars, and the obstacle speed scales with it. Missing an obstacle ends the run. Visuals pulse with the beat. Use the audio clock for timing, not frame counts.
Using the audio clock for timing keeps visuals and sound in sync, which frame-based timing never achieves.
Follow-up tweaks
Add double-jump obstacles that land on the off-beats.
Add a calibration screen where I tap to the beat to set an audio offset.
starter
Fish stream swim
Make a gentle endless swimmer for younger players. A fish swims right through a stream; up/down arrows or touching above/below the fish moves it. Bubbles give +1, shiny shells +5. Grumpy crabs on the river bed and floating logs slow the fish for 2 seconds instead of ending the game. The run lasts 90 seconds; at the end, show the total and a star rating. Bright friendly colours, bubbles drift upward.
A timed run with no hard failure makes the runner format kid-friendly.
Follow-up tweaks
Add a friend fish that follows and collects nearby bubbles.
Add a bonus round of falling stars at the end.
intermediate
Lane switcher in space
Make a 5-lane space runner. The ship moves forward automatically; left/right arrows or swipe move one lane with a quick tilt animation. Asteroids, laser gates (blocking lanes with a gap) and fuel cells appear. Fuel drains constantly; collecting cells refills it. Running out of fuel or hitting an asteroid ends the run. Speed increases gradually; after 60 seconds the lanes start to shift sideways slowly. Score = distance, best saved. Starfield with speed lines that stretch as you go faster.
A fuel meter adds a second goal so players take risks instead of just dodging.
Follow-up tweaks
Add a shield pickup that absorbs one hit.
Add boss asteroids that need 3 lane changes in a row to dodge.
30 fill-in master templates with worked examples, 12 multi-step build recipes (what to prompt, what to check after each step, and the fix prompt when it breaks), 40 bug-fix prompts by symptom, 20 art-direction briefs with upload tips, and a game-design + launch checklist. Markdown files, instant download.
One-time $12. Use and adapt the prompts in your own games, commercial ones included. 14-day fix-or-refund if it doesn't work as described. Secure checkout by Stripe.
Free sampler
T01 · Path defense master template (template)
Use it for: classic tower defense with a fixed route and placed towers. The most reliable starting point for the genre.
Variables
Variable
What to write
Example
{{theme}}
Setting in a few words
backyard garden
{{enemy}}
Who walks the path
slugs
{{base}}
What the player protects
the garden gate
{{waypoints}}
Path as a waypoint description
6 waypoints snaking left to right
{{tower_1..3}}
Name, price, role
Pea Shooter, 25, single target
{{start_money}} / {{reward}}
Economy
100 / 5
{{lives}} / {{waves}}
Lose and win conditions
10 / 12
{{palette}}
Visual style
flat bright greens and browns
Master prompt
Make a one-screen 2D tower defense game set in a {{theme}}.
PATH: {{enemy}} walk a fixed path through {{waypoints}} to {{base}}. Draw the path clearly. Enemies move from waypoint to waypoint and never leave the path.
BUILDING: The player clicks or taps an empty build tile beside the path to open a small menu of towers:
- {{tower_1}}
- {{tower_2}}
- {{tower_3}}
Greyed-out buttons when unaffordable. Tapping a built tower shows its range circle and a Sell button (refund 50%).
ECONOMY: Start with {{start_money}} coins. Each enemy defeated gives {{reward}} coins with a floating "+{{reward}}".
WIN/LOSE: {{base}} has {{lives}} lives; each enemy that reaches it costs 1. Survive {{waves}} waves to win.
WAVES: Waves start with a Start Wave button. Use a wave list: each wave adds enemies and +10% enemy health; every 4th wave adds a faster enemy type; the last wave has a boss with a health bar.
FEEDBACK: Enemies flash white when hit, pop into particles when defeated, and the screen shakes briefly when a life is lost.
HUD: coins, lives and wave number at the top; Start Wave and Pause buttons.
STYLE: {{palette}}, simple shapes drawn in code, no external images.
CONSTRAINTS: one HTML file, works with mouse and touch, all movement based on elapsed time, Restart button on the win and lose screens.
Worked example
Make a one-screen 2D tower defense game set in a backyard garden. PATH: slugs walk a fixed path through 6 waypoints snaking from the left edge to the garden gate on the right… Towers: Sprinkler, 10 coins, slows enemies 40% in range; Pea Shooter, 25 coins, single target; Bee Hive, 40 coins, small area damage. Start with 100 coins, 5 per slug. 10 lives, 12 waves. Flat bright greens and browns…
After the first generation, check: enemies stay on the path; towers only fire within the drawn range; selling refunds the right amount; the boss appears on the last wave.
Strong follow-ups
"Add a 2x speed button. Don't change anything else."
"Add upgrades: tap a tower to upgrade to level 2 (+50% damage) for 1.5x its price."
T13 · Classroom quiz engine template (template)
Use it for: any subject quiz you'll reuse with new questions every week.
Variables
Variable
Example
{{subject}}
Year 6 science: forces
{{questions}}
your list, pasted in the format below
{{timer}}
20 seconds, or "no timer"
{{teams}}
2 to 4 teams, or "single player"
{{reward}}
a star burst and a "Great thinking!" message
Master prompt
Make a quiz game for {{subject}}.
DATA: put all questions in an editable array at the very top of the code, clearly labelled QUESTIONS. Each item: question, four answers, index of the correct answer, optional explanation. Use exactly these questions:
{{questions}}
FLOW: shuffle questions and answer order; never repeat within a game. One question at a time with four large buttons (keys 1-4 also work).
TIMER: {{timer}}.
TEAMS: {{teams}}. If teams: show whose turn it is; correct = +10 to that team; turns rotate each question.
FEEDBACK: correct: {{reward}}. Wrong or timeout: chosen answer red, correct answer green, explanation shown for 3 seconds.
END: scoreboard, list of missed questions with correct answers, Play Again.
DESIGN: high contrast, at least 28 px answer text, readable on a projector and a phone.
CONSTRAINTS: one HTML file, works offline, no external fonts or images.
Question format to paste
Q: What force pulls objects toward Earth? | Friction | Gravity* | Magnetism | Air resistance | Gravity pulls everything with mass toward the Earth's centre.
(An asterisk marks the correct answer; the last field is the explanation.)
Check: the asterisk is removed from displayed text; explanations show for wrong answers only; teams rotate correctly after a timeout.
Ship a tower defense in 6 prompts · Step 1 of 6 (recipe-step)
Make a one-screen 2D tower defense game. Cartoon beetles walk a fixed path of 6 waypoints from the left edge to a tree stump on the right. The player clicks or taps a grass tile to place a Leaf Turret for 25 coins; it shoots the nearest beetle within 120 px once per second. Start with 100 coins; each beetle gives 5 coins. The stump has 10 lives; each beetle reaching it costs 1. A Start Wave button sends 8 beetles. Show coins, lives and wave at the top. Shapes drawn in code, flat greens and browns. Restart button on game over.
Check after:
Beetles follow the path exactly and never cut corners through grass.
Turrets can't be placed on the path or on top of each other.
Coins rise on each defeat; lives drop when a beetle reaches the stump.
If it breaks:
*Beetles leave the path:* "Move enemies from waypoint to waypoint in a straight line at constant speed; when within 2 px of a waypoint, snap to it and target the next one. Don't change anything else."
*Towers placed on the path:* "Mark path tiles as unbuildable using a grid; highlight buildable tiles on hover in green and unbuildable in red."
A cozy farm in 8 prompts · Step 1 of 8 (recipe-step)
Make a cozy farming game with a 6x4 grid of soil plots. Tap a plot to cycle: till, plant, water. Seeds: Turnip (2 coins, 2 days), Carrot (5, 3 days), Pumpkin (12, 5 days), chosen from a seed bar. A Sleep button advances the day. Watered plots grow one stage per day (3 visible stages); unwatered plots don't grow. Tap a ripe plant to harvest into a basket. Start with 20 coins. Show coins and day.
Check: crops only grow when watered; watering resets each morning.
Checklist · Core loop (checklist)
[ ] I can describe the game in one sentence: the player does X to achieve Y while avoiding Z.
[ ] The main action is fun on its own for 30 seconds, before any upgrades or levels.
[ ] Every action gives an immediate visible result.
[ ] There's a reason to do the action again (score, progress, story, collection).
[ ] The game has a clear end state for a session (game over, level complete, day end) or a natural stopping point for idle/cozy games.
[ ] I removed features that don't support the core loop.
Fix prompt: "Remove [feature]. It doesn't support the core loop. Don't change anything else."
Checklist · Mobile and touch (checklist)
[ ] The game works with touch only, without hover.
[ ] Touch targets are at least 48-64 px, with space between them.
[ ] Multi-touch works (move and jump at once).
[ ] The page doesn't scroll, zoom or pull-to-refresh during play.
[ ] The game fits portrait and landscape, or clearly asks to rotate.
[ ] HUD stays clear of notches and rounded corners.