Multiplayer
Choose by state, not genre.
Inspect the game first. Do not infer player count, teams, or simulation type from the name. If a material field is ambiguous, stop and ask.
Decision
- Discrete actions →
createSynchronizedRoom() - A continuous host tick →
createRealtimeRoom() - Do not pick realtime because the game animates at 60 FPS.
- Do not run both room types for the same mode.
- Native clients cannot join realtime rooms. Cross-client modes use synchronized rooms.
What every mode still needs
- Create with
createRoom()/room.create() - Join with
joinRoom({ inviteCode })/room.join({ inviteCode }) - A 6-digit invite code issued by Loki (16-character hex codes from 0.2.0 still join)
- Loading, waiting, reconnecting, and error UI
leave()only from an explicit Leave / End Game control
Fine-tuning after install means confirming those fields for this title, not copying a chess lobby onto a racer.
What Loki does not supply
Physics, collision, rendering, interpolation math you did not provide, or competitive integrity. Overlay UI does not start a match.