Spud Racer: A Rainy Irish Endless-Runner Video Game built entirely in 3B

I’m a visual learner, so I set out to see how far you can push a single 3B step as a fun thing people actually use, rather than a pipe between two APIs. The answer, it turns out, is a playable arcade game. Spud Racer is one React step in a 3B workflow served at its own HTTP route, tenant-authenticated, marked as a webpage so it shows up on the Links page like any other endpoint. You open the link, and you’re driving the Spudmobile. :pickup_truck: :potato:

The premise is that you’re Spud, a flat-capped potato in a brass-and-mahogany race car, hurtling down an infinite cobblestone country road in the Irish rain. You steer between three lanes to dodge boulders, potholes, and speedy puddles to collect four-leaf clovers, mugs of tea, and gold for points and boost.

Five knocks and you’re out! A row of spud-hearts tracks your remaining lives. Speed and rainfall ramp up the further you get, then game over is a soft tumble into a three-initial entry screen for the Top Spud High Scores board.

Everything is drawn procedurally on an HTML canvas as pixel art: the road perspective, the weather, the vehicles, the rain streaks. There’s a chiptune Irish jig generated in the browser with the Web Audio API, a clover-rain effect on the title screen, and a wordmark built out of a stack of layered CSS text-shadows so the letters look carved rather than printed. Scores persist in localStorage, and there’s one small easter egg: our fearless leader, Hinchy, sits at the top of the leaderboard and quietly pulls ahead again any time someone matches his score. :joy:

The part I found genuinely interesting is how little scaffolding this needed. No build config, no hosting, no separate frontend repo, no auth code. A React step in 3B is a bundle, a route, and an auth mode in config.toml; the platform handles the rest. Which means the same primitive I’d use for an internal dashboard or a submission form also gets me a shareable arcade cabinet in a browser tab. Roughly 2,000 lines across the game loop, the React shell and the audio, and the only “deployment” was pushing the workflow live. :purple_heart:

It’s safe to say… I love 3B :honeybee: :honeybee: :honeybee:

5 Likes

I love this. So much. What a great example of learning through doing!

Also, really anything potato themed is perfection.

1 Like

This is very cool. Have not even thought about trying to build a game.

1 Like

What does it say about me if building games is the only thing I thought of? :rofl:

Thank you, Jillian! I’m having such a blast. :purple_heart:

This is dope! Nice work Leah!

1 Like

Thank you so much!! It was a lot of fun to make. :blush: