Skip to content
Free downloads — templates, wallpapers, and more
Fry Dodger - A potato survival arcade game
Technology

Game Design: Fry Dodger — Survive the Kitchen!

You're a raw potato. The kitchen wants you dead. How long can you survive?

Fry Dodger is a fast-paced survival arcade game where you play as a terrified potato dodging knives, peelers, boiling oil, and an increasingly unhinged kitchen. Think Crossy Road meets a cooking nightmare — except you're the ingredient.


📋 Design Overview

Genre Survival Arcade / Bullet Hell Lite
Platform Web (HTML5 Canvas, vanilla JS)
Controls Mouse / Touch (one finger)
Session Length 30 seconds – 3 minutes
Target Mobile web + desktop browser
Build Time 1-2 days (one developer)

🔄 The Core Loop (Every 30 Seconds)

  1. Dodge — Move your potato to avoid hazards raining from above and sliding across the kitchen
  2. Collect — Grab butter pats, sour cream blobs, and seasoning for points
  3. Survive — Each wave gets faster, denser, and introduces new hazard types
  4. Power Up — Grab rare power-ups (tin foil shield, speed boost, shrink ray) to stay alive
  5. Beat your best — Score is time survived × collectibles. Leaderboard shows top spuds.

That's it. No menus mid-game, no inventory management. Pure reflex arcade gameplay.


⚙️ Key Mechanics

1. Hazard Waves

The kitchen attacks in themed waves that cycle with increasing intensity:

  • Knife Rain (Wave 1+) — Chef knives fall from the top of the screen at random X positions. Predictable, evenly spaced. Teaches the player to move.
  • Peeler Sweep (Wave 3+) — A giant peeler sweeps horizontally across the screen. Telegraphed with a red warning line 1 second before. Player must be above or below it.
  • Oil Splash (Wave 5+) — Bubbling oil zones appear on the ground. They expand for 2 seconds then pop, damaging an area. Forces constant repositioning.
  • The Masher (Wave 8+) — A massive potato masher slams down on the player's last known position. 1.5-second windup with a shadow indicator. One-hit kill.
  • Grater Storm (Wave 10+) — Box graters slide across diagonally. Unpredictable angles. Late-game chaos.

After wave 10, all hazard types mix together. Speed increases 5% per wave. The kitchen always wins eventually — it's about how long you last.

2. Collectibles & Scoring

  • Butter Pat (common) — +10 points. Yellow squares that float gently downward.
  • Sour Cream Blob (uncommon) — +25 points. Moves in wavy sine pattern.
  • Chive Bundle (rare) — +50 points. Appears briefly, zips across screen.
  • Golden Truffle (legendary) — +200 points. Spawns once per run after wave 7. Blinks in and out.

Score = (Seconds Survived × 10) + Collectible Points + (Wave Reached × 100)

3. Power-Ups

Spawn every 15-20 seconds. Only one active at a time. Last 5 seconds each.

  • 🛡️ Tin Foil Armor — Absorb one hit. Potato gets a shiny foil wrapper.
  • ⚡ Hot Potato — 2x speed boost. Potato glows red and leaves a fire trail.
  • 🔬 Tater Tot Mode — Shrink to half size. Smaller hitbox, harder to see.
  • 👻 Ghost Spud — Phase through hazards. Potato becomes translucent.
  • 🧲 Magnet — Collectibles gravitate toward you for 5 seconds.

4. Near-Miss System

When a hazard passes within 10 pixels of the potato without hitting: "CLOSE CALL!" flashes on screen and awards +5 bonus points. Consecutive near-misses build a multiplier (x2, x3, max x5). Rewards skilled, aggressive play over hiding in corners.

5. Skins & Unlocks

Cosmetic potato skins unlocked by achievements:

  • Default Spud — Brown, scared eyes, tiny legs
  • Red Potato — Survive 60 seconds
  • Sweet Potato — Collect 50 butter pats in one run
  • Purple Potato — Reach wave 10
  • French Fry (post-game) — Die to the fryer. You become what you feared.
  • Mr. Potato Head — Get 5,000 total score across all runs
  • Golden Potato — Collect the Golden Truffle 3 times

📈 Progression & Difficulty

Fry Dodger uses an escalating threat model:

  • Waves 1-3: Tutorial zone. Only knives, slow speed. Learn movement.
  • Waves 4-6: Peelers and oil added. Players start dying here. "I can do better" feeling kicks in.
  • Waves 7-9: The Masher arrives. Power-ups become essential. This is where good players thrive.
  • Wave 10+: All hazards active. Speed ramps every wave. Pure chaos. Survival past wave 15 is bragging rights.

There is no "winning." The kitchen always wins. The question is: how long can you dodge your fate?


🎨 Art Style

Vibrant cartoon with a dash of menace. Think Cuphead's kitchen levels meet a food-themed bullet hell.

  • Bright, saturated colors — reds, oranges, warm kitchen tones
  • The potato character has exaggerated expressions: wide terrified eyes, tiny flailing limbs
  • Hazards look genuinely dangerous — gleaming knife blades, sizzling oil with particle effects
  • Background: scrolling commercial kitchen. Stainless steel counters, hanging pots, flames
  • Screen shake on near-misses and deaths for juicy game feel
  • All sprites drawn programmatically on Canvas (no external images needed for MVP)

🔊 Sound Design

  • Music: Fast-paced chiptune track. Think Tetris meets kitchen chaos. Tempo increases with wave number.
  • Knife drop: Sharp metallic "shink!" sound
  • Peeler sweep: Scraping/zipping sound
  • Oil splash: Sizzling pop
  • Masher slam: Heavy "THWUMP" with screen shake
  • Collectible pickup: Cheerful "blip!" (pitch rises with combo)
  • Near miss: Quick whoosh + ding
  • Death: Sad splat + sizzle. Brief moment of silence before restart prompt.
  • Power-up: Ascending sparkle chime

💰 XRP Integration (Hot Potato Games)

  • Daily Tournament: Pay 1 XRP entry fee. Top 3 scores split the pot (60/25/15). Automated via XRPL payment channels.
  • Skin NFTs: Limited edition potato skins as XRPL NFTs. Tradeable between players.
  • Tip the Dev: Optional XRP tip jar on the game over screen. "Buy this potato a drink?"

🎯 MVP Scope (The "Build This in a Weekend" Version)

Cut to the bone, here's what makes Fry Dodger fun with minimum effort:

  1. Canvas with mouse/touch control for potato movement
  2. Knife Rain hazard (falling objects at random X)
  3. Peeler Sweep hazard (horizontal warning + sweep)
  4. Butter Pat collectibles
  5. Score display (time + collectibles)
  6. Death + restart
  7. Wave counter with speed ramp
  8. One power-up (Tin Foil Armor)
  9. Near-miss detection + bonus
  10. Local high score (localStorage)

That's it. Everything else (skins, more hazards, sound, XRP) is post-MVP. This core is fun on its own.


🎨 Asset Requirements

Sprites (all drawn programmatically for MVP)

  • Potato Hero — Oval brown body, two white dot eyes with black pupils (looking up in terror), two tiny stick legs, two tiny stick arms waving. ~32x40px.
  • Chef Knife — Silver blade with brown handle. Falls point-down. ~12x48px.
  • Vegetable Peeler — Long horizontal bar, metallic gray with serrated edge indicator. Full screen width × 20px.
  • Oil Splash Zone — Expanding orange-yellow circle with bubble particles. 60-120px diameter.
  • Potato Masher — Wide flat head (grid pattern) on a handle. 80x120px. Drops from top.
  • Box Grater — Rectangular, silver, dot pattern for holes. ~30x50px. Rotates while moving.
  • Butter Pat — Small yellow square with light highlight. 16x16px.
  • Sour Cream — White blob shape. 20x20px.
  • Chive Bundle — Small green lines clustered. 14x14px.
  • Golden Truffle — Glowing gold circle with sparkle particles. 24x24px.
  • Tin Foil Shield — Silver wrapping effect overlaid on potato sprite.

UI Elements

  • Score counter (top-right, arcade font)
  • Wave indicator (top-left)
  • Active power-up icon + timer bar (below score)
  • Near-miss popup text ("CLOSE CALL!" with fade animation)
  • Death screen overlay (score summary, high score, restart button)
  • Title screen (logo, "Tap to Start", high score display)

Sound Effects (8 total)

  • knife_drop.wav — Sharp metallic clink (0.3s)
  • peeler_sweep.wav — Fast scraping whoosh (0.5s)
  • oil_sizzle.wav — Bubbling pop (0.4s)
  • masher_slam.wav — Heavy impact thud (0.6s)
  • collect.wav — Cheerful blip, pitch-shiftable (0.2s)
  • near_miss.wav — Quick whoosh + ding (0.3s)
  • death.wav — Sad splat + sizzle (1.0s)
  • powerup.wav — Ascending sparkle (0.5s)

Music

  • One looping chiptune track (60-90s loop). Fast tempo, kitchen chaos energy. Tempo variable tied to wave number.

🔗 The Prompt Chain — Build Fry Dodger from Scratch

Give these prompts to a coding AI agent in sequence. Each builds on the last. Tech stack: vanilla JavaScript + HTML5 Canvas.

Prompt 1: Project Setup + Core Game Loop

Build a browser-based survival arcade game called "Fry Dodger" using vanilla JavaScript and HTML5 Canvas. Setup: - Single index.html with embedded CSS, separate game.js - Canvas: 400x700 (portrait, mobile-first). Center on page. Scale to fit viewport. - Use requestAnimationFrame game loop with delta time Game States: title, playing, dead The Potato (Player): - Brown oval (32x40px) with two white dot eyes looking upward, two tiny stick legs - Follows mouse/touch position with lerp smoothing (0.15 factor) - Constrain to canvas bounds. Hitbox: circle, radius 14px Hazard - Knife Rain: - Chef knives fall from top at random X positions - Silver rectangles (12x48) with brown handle tops - Spawn rate: 1/second, +0.1 per wave. Speed: 200px/s base, +20px/s per wave Wave System: New wave every 15 seconds. "WAVE X" fade announcement. Collision: Circle-rect between potato and knives. Hit = dead state. Score: +1 every 100ms. High score in localStorage.

Prompt 2: More Hazards + Collectibles + Near-Miss

Extend Fry Dodger with hazards, collectibles, and near-miss system. Peeler Sweep (Wave 3+): Horizontal bar, red warning 1s before, 400px/s, every 8s. Oil Splash (Wave 5+): Warning circle → expands to 120px after 2s, every 6s. The Masher (Wave 8+): Targets player position, shadow grows 1.5s, slams in 0.3s, every 10s. Collectibles: Butter Pat (+10, common), Sour Cream (+25, sine wave), Chive Bundle (+50, fast horizontal). Near-Miss: Hazard within 10px = "CLOSE CALL!" +5pts. Consecutive multiplier up to x5. Screen shake: 2px on near-miss, 8px on death.

Prompt 3: Power-Ups + Wave Mixing + Polish

Add power-ups (5s duration, spawn every 15-20s): 1. Tin Foil Armor — absorb one hit 2. Hot Potato — 2x speed, red glow trail 3. Tater Tot Mode — 50% size, smaller hitbox 4. Ghost Spud — phase through hazards 5. Magnet — collectibles gravitate toward player Wave 10+: All hazards active, +10% spawn rate and +5% speed per wave. Wave 15+: Chaos modifier (knife spawn triples in 3s bursts). Polish: Particle system, background steam, potato eyes track nearest danger, collection particles, death screen breakdown.

Prompt 4: Sound, Skins & Final Game Feel

Web Audio API synthesized sounds (no external files): knife_drop, peeler_sweep, oil_sizzle, masher_slam, collect, near_miss, death, powerup. Procedural drum beat: kick on 1,3 + hi-hat on 8ths. 140 BPM base, +5 per wave. 7 unlockable skins via achievements. Stats tracking in localStorage. Golden Truffle: spawns once per run (wave 7-10), 200pts, blinks for 3s.

Prompt 5: Deploy-Ready Build

PWA setup: manifest.json, service worker, offline caching. OG tags, Apple web app meta tags, viewport lock. Leaderboard class (localStorage default, server-ready interface). Arcade-style 3-initial entry on high score. Object pooling, tab-pause handling, 60fps mobile target. "Hot Potato Games" watermark + hotpotatogames.com link.

🖼️ DALL-E Asset Prompts

Ready to paste into any image generation API:

Potato Hero Sprite Sheet

"Sprite sheet of a cute cartoon potato character with big scared eyes, tiny stick arms and legs, on a transparent background. 4 poses: standing scared, running left, running right, and flattened/squished. Pixel art style, 64x64 per frame, game asset, clean lines, expressive face."

Kitchen Hazards

"Game asset sprite sheet: kitchen utensils as weapons. A gleaming chef's knife, a menacing vegetable peeler, a heavy potato masher, a box grater, and a pot of bubbling oil. Cartoon style with slight menace, clean outlines, vibrant colors on transparent background."

Collectible Items

"Cute cartoon game collectible items: a pat of butter with sparkle, a dollop of sour cream, a bundle of green chives, and a glowing golden truffle mushroom. Each item 64x64 pixels, bright colors, slight glow effect, game UI style, transparent background."

Power-Up Icons

"Set of 5 game power-up icons in circles: silver tin foil shield, red flame speed boost, tiny shrink potion, ghostly transparency effect, purple magnet. Cartoon style, bold colors, glowing edges, clean vector-like art, transparent background, 128x128 each."

Potato Skins

"Collection of 7 cartoon potato characters side by side: brown russet, red potato, orange sweet potato, purple potato, yellow french fry, Mr. Potato Head style, and glowing golden potato with sparkles. Each has tiny arms and legs. Game character lineup, clean art, white background."

Background — Kitchen Arena

"Top-down view of a dark commercial kitchen surface as a game background. Stainless steel countertop with subtle grid pattern, warm lighting from above, slight steam effects, dark moody atmosphere with orange accent lights. 400x700 pixels, portrait orientation, video game background style."

🏁 What Makes Fry Dodger Work

The best arcade games have three things: instant understanding (move = survive), escalating tension (it always gets harder), and one-more-try magnetism (you died but you almost had it).

Fry Dodger nails all three. The first 10 seconds teach you everything. By wave 5 you're sweating. By wave 10 you're in the zone. And when you die — and you will die — you immediately know what you'd do differently.

The near-miss system is the secret sauce. It turns "barely surviving" from frustrating to thrilling. Players will actively seek danger for that multiplier. That's when a survival game becomes an arcade game.

Build it. Play it. Try to beat wave 15. We dare you. 🥔⚡

— Hot Potato Games | hotpotatogames.com | Part of the Potatuhs universe 🥔

More from The Potato Press

🥔 Join the Potato Club

Get potato news, exclusive deals, and good vibes delivered to your inbox. No spam, just spuds.