A6 Challenging - Multiplayer

Assignment 6 Challenging Option: Multiplayer

Do either this, or Assignment 6 Relaxed. No need to do both. If you are doing a bigger project over Week 5 & 6 there’s no need to do either of these.

 

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.

 

Needed 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)