I made a pixel-art Halloween quest to resurrect RoadRunner. Live run Oct 31 at 16:00 UTC 🎃
When RoadRunner 3 came out, some people took it as the beginning of the end. Right here on r/PHP:
Rumors travel fast, and by now some folks are pretty sure RoadRunner is dead.
Well. Tomorrow is Halloween, and that's a chance to resurrect RoadRunner. 🎃
So I made an interactive pixel-art quest for it. It's a multiplayer game: you make a little pixel character, and everyone's characters walk around the same shared scene, so you see what the others do in real time.
The bar is already open: https://halloween.roadrunner.dev
It starts in a viking bar. The owl behind the counter swears RoadRunner can be brought back: something about pumpkins, a ritual, and a magical place nearby. Grab a mug, find someone to clink with (no clink, no drink: house rules), shoot some flies and listen to the owl's gossip.
🪰 Rumor has it that everyone who swats 100 flies before the ritual starts will get a superpower.
🕓 Saturday, Oct 31, 16:00 UTC: the ritual
That's when the doors to the pumpkin patch open and we go through the whole story together, live, with the owl leading the way. What happens after that… you'll have to be there. No spoilers.
Join the crowd, clink mugs with strangers and help with the ritual 🍺
Missed it? Play it again. And again.
After the live event I'll step down as the game master and switch the game to autopilot for a week. No moderator needed: hit the goal of a scene and the story moves on by itself. Bring your friends and play the whole thing from the bar to the very end, then start over, as many times as you like.
You don't need to play. Watching is fine, and it works on your phone. More people means a bigger ritual and more beer.
How it works
The backend is PHP. The stack:
- PHP with the Spiral framework
- RoadRunner: HTTP, KV, locks, jobs, metrics (no nginx)
- Centrifugo for WebSockets
- Valkey and in-memory KV storage
- Prometheus and Grafana
- PixiJS on the frontend
All of it runs on one VDS: 2 × 3.3 GHz CPU, 2 GB RAM, 15 GB NVMe. By my estimate that's enough for about 200 active players. Let's find out tomorrow 😈
How it all fits together, with diagrams and code: https://halloween.roadrunner.dev/how-it-works
Live metrics in Grafana: https://halloween.roadrunner.dev:3000/d/hellowin/hellowin
Yes, the irony of running "RoadRunner is dead" on RoadRunner is intentional.
See you at the bar. 🍺🎃
[link] [comments]