Snake Pro is a shared-screen multiplayer snake arena for RCWeb. One browser becomes the glowing playfield, while every phone becomes a live analog controller for its own snake. Instead of rigid grid turns, players steer in smooth continuous arcs, chase fruit, grow longer, and try not to fold into themselves or clip another trail.


Snake Pro takes the familiar grow-by-eating loop of Snake and reworks it into a fluid, room-sized survival contest. Every player has a color, a score, and a place on the live scoreboard, but everyone shares the same arena and fruit pool. The more fruit you eat, the longer your snake becomes, and the more dangerous every turn gets.
Movement is fully analog. Snakes bank toward the direction coming from the phone controller and can push harder for faster movement, which makes the game feel closer to a slithering arena racer than a strict tile game. The arena wraps at the edges, so snakes can cross off one side and continue on the other without breaking the continuous trail.
If no human players are active, Snake Pro can keep the screen alive with demo snakes that roam, eat, collide, and respawn on their own until a real player joins.
Open /snake-pro/ on the shared screen. Players scan the QR code to open /snake-pro-control/ on their phones in the same room. Touching the control pad joins the game and starts steering.
Use the analog pad to point your snake. Stronger input means faster movement, so you can drift gently for precision or push hard to surge across the arena. Eat fruit to grow longer and raise your score.
Collisions are the danger. Run into your own body and you crash. Cut into another snake's trail and you crash. When that happens, your score resets, your trail fades out, and after a short respawn delay you return to the arena for another run.
Because the arena is continuous and always active, Snake Pro works well as both a drop-in party game and a living display that people can join for quick competitive bursts.
Snake Pro uses RCWeb's room-based WebSocket layer to split the game between one display and many phone 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 that room already selected, so players can jump directly into the right arena.
The display owns the live simulation. It tracks snakes, fruit, scores, collisions, respawns, best-score updates, demo players, and the wrapped arena geometry while rendering the full continuous playfield. Because the shared screen is the single source of truth, every phone sees the same fruit spawns, the same collisions, and the same scoreboard.
Phones communicate with the display through comms.js and RCWeb function calls. A controller sends analog vector input and activity strength, while the display sends back player registration, score updates, respawn messages, and status pulses for that specific snake. The result feels like a dedicated party arcade arena, but it runs on RCWeb's lightweight Java backend and vanilla browser apps.