RCWeb Spacewar 3D

Spacewar 3D is a shared-screen multiplayer space battle for RCWeb. One browser becomes the 3D combat arena, while every phone becomes a flight controller for its own ship. Players dodge asteroids, fight enemy squadrons, collect temporary weapon upgrades, and try to survive a five-wave gauntlet on the same battlefield.

Icon

icon

Screenshot

screenshot

The Game

Spacewar 3D turns the Spacewar idea into a room-scale cooperative-competitive action game. Each player gets a ship and score, but the whole room shares the same enemy field, wave progression, asteroid hazards, and collectible weapon pickups.

The campaign is built around five waves. As the waves advance, the arena fills with harder combinations of asteroids and enemy types such as hunters, flankers, snipers, and swarms. Clearing the arena advances the wave. Finishing all five completes the run; otherwise the game resets after the final battle report and starts over.

Destroyed asteroids and enemies can drop temporary weapon upgrades, including multi-shot and homing missiles. Those pickups give players a short burst of extra firepower before expiring, which adds a nice scramble for advantage inside the middle of the fight.

How To Play

Open /spacewar3d/ on the shared screen. Players scan the QR code to open /spacewar3d-control/ on their phones in the same room. The phone controller handles turning, thrust, and firing.

Steer your ship through the arena, use thrust to stay mobile, and fire into asteroids and enemy ships. Getting hit or colliding with a hazard costs points and triggers a respawn delay, so surviving matters just as much as landing shots.

As the room clears each wave, the display announces the next one and spawns a tougher mix of threats. Pick up weapon upgrades when they appear, keep your score climbing, and try to stay effective through the full five-wave run.

Powered By RCWeb

Spacewar 3D uses RCWeb's room-based WebSocket layer to split the experience 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 straight into the right battle.

The display owns the live simulation. It keeps the canonical list of ships, missiles, enemy missiles, asteroids, enemies, collectibles, wave progression, respawn timers, and score updates while rendering the scene in 3D. Because the shared screen is the single source of truth, every phone sees the same enemies, the same pickups, and the same wave state.

Phones communicate with the display through RCWeb messages and targeted controller updates. A controller sends turn, thrust, and fire commands, while the display sends back score changes, vibration cues, and weapon status messages for that specific player. The result feels like a dedicated multiplayer arcade space cabinet, but it runs on RCWeb's lightweight Java backend and vanilla browser apps.

DocumentationServer TelemetryServer StatsServer HTTP LogServer WebSocket Log