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)