
Web Arcade
A small arcade at play.jasongodson.com where friends and family can play the games I build, hosted on my own homelab.
A place to play
I wanted somewhere to put the games I make so friends and family could just open a link and play. Web Arcade is a retro landing page with a card for each game, labeled by whether it’s single-player or multiplayer and what engine it was built with.
Hosting is the project
The games are fun, but the real challenge here was the infrastructure. Multiplayer needs a backend, deployment, and some thought about what happens when more than a few people show up. Building the arcade on my homelab forced me to deal with those problems instead of leaving a game running only on my own computer.
What’s there now
The arcade has Treasure Takedown, a Godot multiplayer game, Battle of the Brains, a math game show for my kids, and LetterDrop, a Unity word game. New games can be added as I make them.
Project timeline
Along the way
- Latest update
LetterDrop joins the arcade
I added LetterDrop, a single-player Unity word game I’d built earlier, to the arcade, along with engine badges so each game shows what it was built with.
Battle of the Brains in one evening
I built a Jackbox-style math game show for my kids using Vite, TypeScript, and the same WebSocket backend. It was playable after one evening and a morning, and the kids were into it.
Read the full postA Games link on my blog
I added a Games link to my blog so people could find the arcade. I’ve since moved it here.
Treasure Takedown gets a real backend
I dug up a Godot multiplayer prototype I’d built from tutorials and reshaped it around a real backend, with deployment and scaling constraints in mind. Treasure Takedown became the first game in the arcade.
Read the full postA home for the games I build
I started play.jasongodson.com, a retro arcade-style landing page for playable games, hosted on my homelab. I cared less about making a new game and more about solving the hosting and multiplayer backend problems that don’t show up when everything runs locally.
