VeryBad.Dog
All six projects

Prototype

Off Leash A whole game in one web page, with no game engine.

A two-minute dog-pack game built for phones first. In product terms, the architecture is one HTML file. The browser downloads it once, with the art packed into a single image inside it. You install nothing, and I have no framework or library to keep updated. It draws on a plain 2D canvas, plays sound through the browser’s own audio, and saves your best runs on your device, so it needs no account and no server. You play with a thumb drag and one HOWL button. Each run is seeded, so you can replay the same road with different picks.

Recorded from the game, on a scripted run with the quiet stretches sped up: a trick card picked at a gate, the surge, then the boss cat and the pup freed.

What I set out to learn

I wanted to learn how a game’s mechanics and timing work by building one from the parts: a loop that runs 60 times a second, waves on a schedule, a gate every 12 to 16 seconds, a boss at 95. I also wanted to learn how to balance a game that never ends. Endless mode stacks 30-second layers, and the cats’ health grows faster with each one, so every run hits a wall; the work was deciding where. It all runs in the browser on a plain 2D canvas, with the sound made on the fly instead of loaded from files.

The hardest part

Making AI playtesting affordable. Having an AI play a game and report back burns through tokens fast, so a lot of the work went into the prompts and the setup, to get a useful verdict out of each run. The balancing moved into scripts: six styles of play, from careless to one that counters every wave, each run on 20 seeded roads. The player who picks the right counters wins all 20; the one who skips the Diggers wins none.

How the loop works

A drawing of one run, made for this page: the road runs left to right through the two minutes, with the waves named above it, the gates the pack took and its picks below, and the boss cat at the end. The numbers match the steps.
  1. You steer and the pack attacks on its own. The Leader shoots, Fetchers throw balls up their column, Bruisers shove, and Diggers crack the road to strip armor.
  2. Morale starts at 10. Each cat that reaches the pack takes some, and at zero the run is over. HOWL pushes the cats back, speeds the pack up and gives each Bruiser a guard pip back.
  3. Every 12 to 16 seconds a gate drops, with the next wave written on it. Hold a card for half a second to take it: two new dogs, or the next trick in one of your dogs’ lines.
  4. The waves build from strays to kitten swarms, armored Toms and the surge. At 95 seconds the boss cat arrives and swipes at the lane you’re in; Diggers get through its armor.
  5. Beat it before the clock runs out and the pup goes free. Then you can keep going into Endless, 30-second layers that get harder until the pack is overrun, and the game keeps your best for that road.

Decisions on Off Leash

  1. Each gate names the next wave

    Why it matters You see what’s coming before you pick, so a pick is a counter: Bruisers for a kitten swarm, Diggers for armored Toms and the boss. Skip the Diggers and the boss outlasts the clock.

  2. Every run is seeded

    Why it matters The seed sets the road, the waves and the order of the trick cards, so Run it again plays the same road and you can try other picks against it.