Multiplayer Demo

The past week, I've been trying to figure out how to do multiplayer in VR and UE (Unreal Engine). There are 2 ways I can do this.

  1. Plan A: Follow UE Tutorials step by step and make Multiplayers Blueprints
  2. Plan B: Used the existed Template.

Plan A : Follow UE Tutorials step by step and make Multiplayers Blueprints

I decided to go with Plan A before I'm going to use the template because I wanted to learn the software, UE. I've been watching and following Official UE tutorials online Link ]. Although they didn't cover the VR part, I think they did a very good job explaining the basics of how it works. Even though I understand maybe 20% of it all. But, I learned a lot from this tutorial.

After following the UE tutorials Link (Blueprint Multiplayer), I had this up and running. I managed to spawn 2 players from 2 PCs. One is a host and another is a client. They both used the same file.

And following more from the UE tutorials, I think I did something went wrong along the way because I'm stuck on the "Loading Page".... and I'm not able to spawn inside the scene anymore or I am spawned in the scene but the Loading screen won't disappear.

 I've HIT a ROAD BLOCK....
So, let's move to Plan B --->


Plan B : Used the existed Template : Github Link

It took me the the whole day from 9am - 9pm to make this template work. There are so many things I tried and figured it out like:

  • I cannot used the NYU wifi network. I have to get into  itpsandbox. (for both PCs)
  • But, I could not get into ITP wifi sandbox for both PCs....but luckily I found ethernet LAN Lines that are both itpsandbox. After I tried so many times with normal NYU LAN. The LAN has to be itpsandbox.
  • Both host and client PC cannot log in to Steam account while using the template. Otherwise, the client won't be able to join and spawn into the scene while the host can.

Succesful Multiplayer Test

Yayyyyyyy!!!!! In this video, you can see that they are looking in the mirror in VR and standing next to each other but in the real world they are actually behind each other. You can see more clearly when they're pretending to fight. This happened because I did not do the room set up properly and I point the Vive controllers to the monitors at different location.

Grab Objects

Macarena Dance

Network Connection MUST be itpsandbox

 

Unsuccessful Multiplayer Connection Test

The Left PC is the Client. The Right PC is the Host.  This unsuccessful connection happened when I'm signed in to Steam account and not in the same itpsandbox LAN connection.

Websocket - Unreal Engine

This week I've been busy with trying to send live data of touch gestures into UE(Unreal Engine). Trying to recognize mobile gesture input (tap & swipe (Left, Right, Top, Bottom)) while using a native social media app.

Challenge:

It is very extremely difficult to do this. I'm still a noob in coding skill and javascript and knowledge of mobile operating systems and devices (iOS & Android). Not to mention security issues.

Solution:

After talking to many of my friends about my thesis nonstop for the whole week about this problem I have, bits and pieces of solutions seemed to slowly fit together. So for my performance piece, instead of the 2 users are using their phone through a native app, they would have to use their phone through a web browser like chrome. I believe I would need to implement these elements together:


Demo 01 - Socket.io + hammer.js + Touch Gestures

Github - Code test touch gestures with server

Touch Gestures break down:

  • Pan Left = 1
  • Pan Right = 2
  • Pan Up = 3
  • Pan Down = 4 
  • Tap = 5

With Wippy's and Yuli's help, I'm able to get 5 touch gesture recognized from mobile through web server.

Touch Gesture hammer.js Socket

Touch gestures test + hammer.js + socket.io

Finding the IP address in windows (took me longer than I expected...)


Demo 02 - Socket.io + hammer.js + Touch Gestures + Unreal Engine

Building on top of Demo 01, I was able to send one gesture in at the moment. I'm getting familiar with Unreal Engine's Blueprint to recognize all of them.

Touch gesture number 2 = pan right


Demo 02 - UPDATE - Socket.io + hammer.js + Touch Gestures + Unreal Engine [Toggle Light]


One more challenge

I have to find a way to make chrome extensions or firefox add-ons on mobile. From my research, chrome extensions is NOT available for mobile....


Questions

  1. How to add the second and third and so-on plugins? I can do add the first plugins into the project file by creating a C++ project. But for the second and third, I couldn't do it and I ended up recreating the whole project file from scratch and re-added the plugins at the same time.