Flappy is a shared-screen multiplayer arcade game for RCWeb. One browser becomes the scrolling game world, while every phone becomes a one-button controller for its own bird. The result feels like a lively couch-party version of a pipe-dodging flyer: simple to join, easy to understand, and chaotic in exactly the right way once a flock is in the air.


Flappy takes the familiar tap-to-fly idea and turns it into a shared-room competition. Every player gets a bird with its own color and score, all birds fly through the same pipe course on the same display, and the room watches the flock rise, panic, and disappear one crash at a time.
Rounds are elimination-based. A bird stays in play until it hits a pipe or the ground. The last surviving bird wins the round, earns a win on the roster, and the camera rewinds back to the starting line for the next attempt. Alongside round wins, the display also keeps a local best-score record for the deepest run reached on that screen.
If nobody is playing, Flappy does not sit still for long. After a short idle pause it can switch into an automated demo flock so the game still looks alive on a public screen and invites the next person to join.
Open /flappy/ on the shared screen. Players scan the QR code to open /flappy-control/ on their phones in the same room. The first tap on a phone joins that player to the flock and immediately starts flapping.
Each phone has a single job: tap FLAP to push your bird upward. Gravity pulls the bird down between taps, so surviving means finding a rhythm that carries you through the gaps in the pipes.
Stay alive as long as you can. Passing pipes increases your score, crashing knocks you out of the current round, and the last bird still flying takes the round win. Once every bird is out, the game resets the course and starts the next round automatically.
Players can drop in on new phones whenever the QR code is visible, and the display keeps the flock roster, current score, and win counts visible so the room can follow both the moment-to-moment run and the longer session standings.
Flappy uses RCWeb's room-based WebSocket layer to split the game cleanly between a display and many lightweight controllers. The display and all phones join the same RCWeb room using the rc values injected by the Java server. The display publishes a QR code with the room already selected, so phones can jump straight into the correct game without setup screens or pairing steps.
The display owns the actual game simulation. It creates birds, assigns their colors and labels, scrolls the world, generates pipes, applies gravity and flap velocity, detects collisions, tracks scores and round winners, and decides when a round rewinds or demo mode begins. Because the shared screen is the single source of truth, every player sees the same obstacles and the same outcome.
Phones communicate with the display through comms.js and RCWeb function calls. A controller joins by sending a flap request, then keeps sending flap inputs while the display sends back bird assignment, score updates, alive or eliminated state, and round removal messages. The result feels like a dedicated multiplayer arcade cabinet, but it is running on RCWeb's lightweight Java backend and vanilla browser apps.