Xmulti Multiplayer Engine

Multiplayer. No plugins. No server. All GUI. This is Xmulti — a raw, real-time, role-based Scratch engine running on cloud vars and hacker-style logic.

Core Cloud Variables

Make sure all of these variables are set to cloud:

I_am
Player1_joined
Player2_joined
Player1_x
Player1_y
Player2_x
Player2_y
build
x-des-varcnt
x-design-utils
    

Player Selection Logic

Use a costume/GUI button that checks if a role is taken:

if <(Player1_joined) = [0]>
  set [Player1_joined v] to [1]
  set [I_am v] to [Player1]
  broadcast [game start v]
    

Same for Player 2 using Player2_joined.

Real-Time Movement

Each player syncs their position through cloud vars:

if <(I_am) = [Player1]>
  set [Player1_x v] to (x position)
  set [Player1_y v] to (y position)
    

Also draw the other player using Player2_x/Player2_y.

LEAVE Button GUI

Tap to leave the game and free your slot:

when this sprite clicked
if <(I_am) = [Player1]>
  set [Player1_joined v] to 0
if <(I_am) = [Player2]>
  set [Player2_joined v] to 0
set [I_am v] to [none]
broadcast [go to role select v]
    

Emergency Broadcasts (build)

The build variable can be used to trigger mass actions like nuking both players back to the title screen or resetting all slots. Example:

when [build] = [RESET_ALL]
  set [Player1_joined v] to [0]
  set [Player2_joined v] to [0]
  broadcast [go to intro v]
    

Can also store version IDs if not being used as an override.

Soft Logic Control (x-design-utils)

x-design-utils is like your GUI command center. Use it to toggle modes, switch themes, or send soft logic triggers like:

Design Counter Logic (x-des-varcnt)

This variable helps track how many utility elements are active or triggered. Perfect for menus, overlays, or cosmetic toggles.

when green flag clicked
set [x-des-varcnt v] to [0]

when I receive [add skin option v]
change [x-des-varcnt v] by (1)
    

LEAVE Safety Protocol

When a player hits LEAVE, reset local vars and optionally re-show selection screen or broadcast a reset:

when I receive [go to role select v]
set [I_am v] to [none]
switch costume to [Select Role]
    

Use this to let others claim freed spots in real time.

That’s Xmulti.

No server. No wait. No problem. You built a multiplayer core in Scratch — now push it further.