A5 - Multiplayer Escape Room

Multiplayer Escape Room in VR

Goals

  • Add multiplayer to escape room experience
  • Synchronize state across network
  • Synchronous user interfaces and interactions

Solution

Here you can find the solution app. Download the .apk file and test it in the Quest for reference. It is advisable to test the app with 2 or more people at the same time.

Additional Material

Point List (max 5 points)

  • Add multiplayer connection (1 point)
  • Synchronize light and timer (1 point)
  • Synchronize at least one user interactions (1 point)
  • Extra task (2 point)

Multiplayer VR

For solving this assignment, you need a good internet connection. On-campus internet might be blocking the connection. However, aalto open works. Some demos look like they use the Oculus link; however, all material from this week was created with two clients, one on the Quest and one on desktop PC/Mac. Both devices need an internet connection.

Avatar

  • Add Avatar
  • Add Mirror
  • Add Hand Animation (optional)
  • Add Voice Mod (optional)

Multiplayer

  • Setup Normcore

  • Connect XR Origin to Realtime+VRPlayer prefab

  • Syncronized Interactables (use RealtimeView and RealtimeTransform)

  • Add XRMultiplayer and connect RayInteractor with SelectEvent to RequestOwnership

  • Add Custom Avatar or Robot Avatar

  • Add Mouth Animation

DataSynchronization

  • Install Naughty Attributes
  • Change GameEvents and GameEventListener
  • Add FloatSync mechanism
  • Add DoubleModel and create time syncronization

Multiplayer Escape Room

  • Add RealTime Transform to interactable objects (Balls and Card)
  • Add RealTime Transform to drawers and doors
  • Add Syncronized Timer
  • Add Synchronized Light

Extra Tasks

  • Add voice modification for multiplayer (1 point)
  • Add multiplayer drawing mechanic (1 point)
  • Add Using AR as a Spectator View for Your XR App - only feasible if you now mobile development (2 point)
  • Add collaborative puzzle, which needs at least two players to solve (1-2 points)
  • Add synchronous music track by using the global timer (1 point)
  • Invent your own multiplayer mechanic (1-2 point)
Previous