Roomba Wars takes a very small interview prompt and pushes it into something much closer to a real product and systems exercise.


What it includes
- Multiplayer gameplay in a shared browser arena
- An infinite procedural dirt field instead of a fixed board
- Custom player names and Roomba colors
- Dirt-clearing rules that change where movement is possible
- Regrowth timing that keeps the arena shifting
- Dust bunny enemies that create pressure and combat moments
- Persistent leaderboard tracking best runs
- A benchmark arena for testing higher player-count rendering behavior
Why I built it
The original interview challenge was about controlling a Roomba on a grid.
After the interview, I wanted to see what would happen if I treated that core idea like the start of a real game instead of the end of a coding prompt. That meant adding realtime multiplayer, a stronger visual layer, and enough gameplay systems to make movement, territory, and score all matter.
Benchmarking became part of that rework too.
One of the scale questions raised in the interview was what happens when the board gets dramatically larger. The benchmark arena is not a perfect stand-in for live websocket traffic, but it gives me a practical way to test rendering constraints and player-count pressure without hand-waving the performance problem away.
Links
- Live app: roomba.nerb.dev
- GitHub repo: nearbycoder/roomba-wars
Related updates
- Launch article: When AI in an interview fails you
- Layoff log: Week 3: Roomba Wars