Zaoba Rider: Turning the Morning Commute Into a Game

Where it came from
I commute to work by e-bike. The morning rush is always the same script: four riders blocking the lane side by side, someone stepping into the road at the crossing, and an e-bike coming the wrong way straight at you.
After enough mornings of that, it started to feel less like a commute and more like a dodging game. So I made one.
How to play
The goal is simple: ride 3 km and get to the office in one piece.
- Move left and right between lanes,
↑to accelerate,↓to brake - Press space (or tap the horn button) to honk — nearby riders move aside, pedestrians jump back to the curb
- Hitting a rider, an obstacle, a pedestrian, or an oncoming wrong-way e-bike costs a heart
- Five hearts gone and the run is over
- Finishing the ride records your time on a local leaderboard (top ten)
On mobile you can drag inside the game area to steer, with accelerate, brake, and horn buttons in the corner. Fullscreen is available too.

Design trade-offs
Traffic lights got cut. The earliest version had you stopping at intersections. It turned out waiting at a light is already annoying in real life, and in a game it was neither tense nor fun — plus it needed its own timing and judgement logic. Making the traffic itself hard kept the pace going.
Pedestrians and wrong-way riders came later. With traffic alone, players quickly learned to hug the edge of the lane. Adding pedestrians who step out suddenly and e-bikes coming the other way made route planning matter — you have to look further ahead instead of staring at the bike in front of you.
Only five honks. Unlimited honking turns the game into holding down one key. With a limit, the horn becomes a resource you have to judge: clear the jam in front of you, or save it for the next crossing?
The difficulty curve is gentle. Traffic starts light and gets denser as you approach the office, so most first runs get at least halfway.
Leaderboard
Finishing a ride records your time on a local "your commute" leaderboard, top ten by time.
The rider ID is generated locally. There are no accounts and no sign-up. The board lives in your browser, so clearing site data clears it — it's a record of a good run, not a ranking competition.
Play it
Built with Phaser 3 and TypeScript, deployed as static assets on Cloudflare Workers. No login, just load and play. Sound effects are CC0.
One note
Everything in the game is fictional, and the scene exists for fun. In real life, wear a helmet and follow the traffic rules — a game can restart, a commute can't.
If you play it, the feedback link in the site footer is the best place to tell me whether the difficulty feels too loose or too tight, and whether the mobile controls feel right. Those are the two things I'm least sure about.
Leave a Comment
No comments yet. Be the first to share your thoughts!
