
The robots have taken over. Grab your friends, choose a fighter and take back the streets in this cooperative arcade brawler for one to six players.

Keep the main screen open while you play. Your phone is the controller; the action happens on the shared screen. Each phone takes one of the six player places.
While you gather the crew, the demo shows 10 seconds of robots patrolling with drones overhead, 5 seconds of the six fighters sparring in pairs, another 10 seconds of patrol, then 10 seconds of sparring. The robots arrive from the right as the fighters arrange on the left, ready for battle. The demo fades and repeats. You can join and start at any point.
Each district now has a longer route through six distinct street sections before its boss. Explore neon markets, transit stations, waterfronts and industrial strongholds, with drifting smoke, steam and fires. Lamps and signs pass in front of the street as distant skylines move behind it.

Joining friends who have already started? Scan their invitation or open Beatemup Control in the same room. You will take an available fighter and go straight to the controls. If all six places are full, the controller waits for a place to open. Join + on the main screen brings the invitation back.

Use your left thumb to drag the joystick. Release it to stop. Move up or down to line up with an enemy, then use your right thumb to attack.

Walk close to a shock baton, plasma blade or steel pipe and press Pick up. Your fighter holds it and uses it when you Punch. Weapons have limited uses; the controller shows how many hits remain.
Watch your health bar and collect health pickups when you need them. Energy pickups help charge overdrive.
If you fall, a nearby friend can press Pick up to get you back up. Otherwise, you return after seven seconds if the team has a reserve revive left.
Where are the extra lives? Look at TEAM REVIVES in the bottom-right corner of the shared screen, below the character cards. This is a shared pool of automatic respawns. The team starts with three reserve revives per starting player. It is separate from each fighter's health bar.
Fight through six encounters in each district. Smaller robots arrive first, followed by tougher enemies and a giant boss.
Move right when the street is clear. If you see Blocked! Destroy the robots first, finish the remaining enemies before advancing. Stay close to your crew so everyone can keep up.

Watch for drones! They are fragile: one successful hit destroys them. Jump attacks reach higher, while ground attacks connect when a drone drops low. Move away from dive warnings and dropped bombs.
After each boss, the game celebrates the district's liberation. Continue when the crew is ready. Clear all three districts to see Game Complete! AI defeated!
Sound starts automatically when your browser allows it. If playback is blocked after opening or refreshing the viewer, tap or click anywhere on the main screen, press a key, or use Enable sound. Your saved mute setting is respected. Take It Back Tonight by Michael Gardiner accompanies the attract loop and opening comic. Each district and boss then has its own chiptune theme.
The first connected player is the crew captain. They can pause or resume from their controller's Menu. Any joined player can start a fresh game after a defeat or victory.
A quick controller refresh reconnects you to your fighter. Keep the controller visible while playing: closing it, switching away or losing the connection can release your place after a short grace period. Back to apps leaves immediately.
Refreshing the only viewer resets the game. Connected controllers return to the setup screen so the crew can start again. If another viewer is already hosting the game, an additional display follows that ongoing game.
This section is for maintainers, testers and coding agents.
Only the current district's game artwork loads. Shared fighter, weapon and effect images are reused; previous district images are released. Music loads when its cue is needed and sound is enabled. Story and victory art load when shown.
The attract loop is a presentation-only timeline in the graphics renderer. Its actors never occupy player slots or change the simulation. It reuses the current district's loaded sprites; a test-level override previews that selected district. Scene changes occur during opaque black holds, and starting play resets the demo clock.
The sprites, scenery and comic artwork were created with built-in ImageGen and optimized for delivery. The soundtrack is an original chiptune score; combat effects use sourced CC0 audio. Robot names and designs are fictional arcade interpretations, with invented abilities and no manufacturer affiliation.
The lean display mode reduces effects and frame rate for weaker devices. Add lean=1 to the viewer's query parameters to select it manually.
Set level on the viewer URL, then join and start normally:
Use a question mark before the first query parameter, or an ampersand after an existing room parameter. These starts skip the comic and replay from the same selection. Remove level for the normal opening. Controllers need only the matching room.
Read the repository instructions and RCWeb app guide before editing. Keep player instructions above this section, use headings and lists instead of tables, and keep screenshots local and compressed.