Pete's Rescue Mission

[SOFTWARE] | ▶ Play Now

A tale of two plushes, stitched together

Pete — the dapper grey-and-cream plush dog in the blue corduroy shirt — sets out to rescue his brother (and beloved) Cheeto from the armless, hug-less, deeply jealous Green Man, guided from the skies by Jet Plane, the majestic black German Shepherd who is the wind.

▶ Play it in the Arcade

The interesting part: there are no assets

Every single sprite, tile, backdrop, song, and sound effect is generated by code at runtime. There is not one image or audio file in the project — the whole game is ~14 plain JavaScript files and an HTML page. No engine, no build step, no dependencies.

  • Pixel art — sprites are authored as string grids and rendered to offscreen canvases
  • Music & SFX — a WebAudio chiptune synth with a 6-track music sequencer
  • Font — a hand-made 3×5 pixel font renderer
  • Levels — a tiny map-builder DSL with procedural tile and backdrop painters
  • Engine — fixed-timestep 60 Hz loop on an integer-scaled 320×180 canvas, AABB collision, soft plush gravity

Design notes

  • Pete cannot jump. He’s a plush. Instead, tapping ← → ← → rocks him side to side until his corduroy arms become a helicopter rotor — the “wiggle engine” is a custom tap-rhythm detector in the input layer.
  • Flying costs FLUFF. Little arms tire fast (~3 seconds of air time), so traversal is a rhythm: hop, perch, catch your breath, hop again.
  • Crying is a mechanic. Plush tears make wilted flowers bloom; one locked path in the Shelf of Forgotten Toys only opens this way.
  • The final boss is defeated with a credit card. Specifically mine. $9.99 a swipe. Debt is temporary; love is forever.

Tech Stack

  • Vanilla JavaScript (no libraries, no framework)
  • Canvas 2D + WebAudio API
  • 320×180 fixed-timestep engine, integer-scaled