Skip to content

2025 · 1 min read

Park Run Dash

A 5km side-scrolling running game built with no engine and no framework — just canvas, vanilla JavaScript, and an unreasonable attention to mobile input.

gamesjavascriptexperiment
Park Run Dash title screen — pixel-art runner on a park path, "Jump the logs and reach the 5km finish"

The constraint

Build a playable game with nothing but a canvas element, vanilla JavaScript, and CSS. No engine, no framework, no build step. Three files.

Park Run Dash is a side-scroller themed on the Saturday-morning 5k: you run, you dodge, you try to hold pace to the finish line.

What it actually took

The game loop was the easy part. The real work — the part that doesn't show up in a screenshot — was making it feel right on phones:

  • Input — touch controls with tap fallbacks, because "works on my desktop keyboard" is not a control scheme.
  • Safari — landscape fullscreen on iOS Safari has its own opinions about viewport units, address bars, and orientation. Winning that fight took more commits than the gameplay did.
  • Small screens — maximising the playfield in landscape without clipping the HUD, across an unreasonable range of aspect ratios.

Lessons

Constraints are clarifying. With no engine to lean on, every frame drawn is a decision you made. And shipping something small but finished — playable by anyone, on whatever device is in their pocket — teaches you more about the platform than a tutorial ever will.