← all projects Real Time Balls

Real Time Balls

Started2015 Revamped2026

A shared ball pit in the browser. Everyone online is a ball, one of them is it, and touching someone passes it on. A university game jam idea from 2015, rebuilt from scratch a decade later.

realtimeballs.com →

GoWebSocketsReal-Time MultiplayerBrowser GamePixel ArtGame Jam

The game

Everyone who has the page open is a ball in the same pit. One of them is it and wears a flashing ring. Touch somebody and it becomes theirs.

The single rule that makes it work is that the catcher is faster than everyone else. Running away is not a strategy, so the pit stays in motion rather than settling into a stalemate where nobody can be caught. New arrivals get a brief grace period and appear faded while it lasts, so you cannot be tagged the instant you load the page.

Roll with the mouse or WASD. That is the entire control scheme.

The server is Go, with players connected over WebSockets, which is what lets a dozen balls share one pit without anybody waiting on a refresh.

Scores and badges

A HUD tracks tags made, how long you have gone untagged, and your best run. Behind it sit two leaderboards — most tags and survival — and a set of badges that reward the situations rather than the totals: First Blood, Hot Potato, Cornered, Chain Reaction. Others are long grinds, like staying untagged for five minutes.

You pick a ball colour from a set of twelve or mix your own hex, and three initials, which is the right amount of identity for a game you join by opening a URL.

None of that scorekeeping lives in the game server. The leaderboards and badges run on my own game services API, part of VCurl, so the Go server stays responsible for the pit and nothing else.

Two versions, eleven years apart

It started as a game jam idea at the University of Lincoln in 2015 and was rebuilt from scratch in 2026. The presentation leans into that: an arcade cabinet with an INSERT COIN button on the splash, a CRT bezel around the pit, and pixel type throughout.

The splash screen, with the rules of play, the controls, and an INSERT COIN button
The whole game explained in four lines before you start. One ball is it and wears a flashing ring, touching someone passes it on, the catcher is faster so running is not enough, and new arrivals are briefly safe.
The pit mid-game, with a dozen coloured balls and a HUD showing tags, safe time and player count
Twelve players in the pit. The HUD tracks tags, how long you have stayed safe and your best run; your own ball carries a ring so you can find it.
The overlay for picking a ball colour and initials, with leaderboard tabs and a list of badges and their progress
Pick a colour from the set or mix your own hex, set three initials, and track badges: First Blood, Hot Potato, Cornered, Chain Reaction, and longer grinds like Ghost at 300 seconds untagged.