Buggy Blasters — Multiplayer HoloLens Considerations
- 21 December, 2017 –
This guest article was written by Bernard Francois, Kasper Geeroms, Matthew Cormack, and Jannes Plyson, respectively creator, project manager, and programmers of PreviewLabs, a company specialized in rapid design with game technology. PreviewLabs was founded in 2010 and was using Photon because 2013.
Buggy Blasters is the first multiplayer HoloLens game concept to look around the Microsoft Store. It’s only player mode permits forcing a virtual RC buggy around in your living space, along with the multiplayer mode turns it into a two-player real time strategy notion using a hybrid of capture-the-flag along with defend-the-base mechanics. The multiplayer mode functions for 2 players in different places, or as an shared holographic experience inside the same site.
PreviewLabs developed the notion on request with it’s parent company Cronos Groep, who gave them carte blanche to come up with an interesting case for your HoloLens — and this is what we learned…
Getting to a Shared Play Space: Possible Approaches
Through the use of a feature called plasma mapping, the HoloLens creates a 3D mesh of your own environment, which can be used for example for z- buffering (enabling virtual objects to look behind real world things) and collision handling. This will greatly improve the feeling of in augmented reality — that the sense of smooth integration of virtual content with the real atmosphere.
Objects such as the buggy and traffic cones can interact naturally with the environment employing the environment mesh as a collider.
However, in a real time competitive multiplayer game, you ought to make certain that you have a level playing field. Let us take a look why it could lead to unfair situations in the Event That You would simply enable each HoloLens to use it’s own mesh in a game such as Buggy Blasters:
- Once the exact shape of the mesh has an impact on the gameplay (e.g. minor bumps in the floor surface mesh leading to variations in driving speed), players can feel disadvantaged.
- When real-world items occlude the sport, it may indicate a serious disadvantage in the multiplayer game. You will simply miss that your competitor just destroys your flag!
Note that this could be important even if you’re playing two HoloLenses in the exact same physical location, because due to variations in the scanning process, no two meshes of the same room will probably be exactly the same.
Here are two approaches That May Be utilized:
- Comparing the meshes made from the two HoloLenses, and carrying the differences into account to be able to get to one, shared mesh.
When the two players are in the same room, the common between the two meshes might be obtained, while also speeding up the scanning process by adding the outcomes of the two HoloLenses collectively — allowing your own HoloLens to get understanding of a component of the space it did not even see yet.
When the two players aren’t in the same room, the furniture out of 1 participant’s room may be replicated to the other person, and vice versa. For example when you have a coffee table in the center of the room, although I’ve a recliner, you would receive my recliner almost added to your room, although I’d get your coffee table, so we both end up using the same atmosphere. The furniture in the other participant that has ‘imported’ into the room might be visualized using an easy abstract synergistic impact.
- Throwing everything away, and employing a very simple plane at the floor height, obtaining a totally level playing field. And hell, because we are a design firm, we went with it — after all, we like to get to something working fast.
To perform Buggy Blasters, two players using the HoloLens can define a rectangular play space, to be able to get to some standard ‘play space’ according to the overlapping part of the two rectangles.
Since the sport should occur in a shared space that’s fair for both players, this play space ought to possess exactly the same dimension for the two. It’d definitely not be fair if your competitor with a larger living room would be able to hide behind — how you would perceive it — your own wall. We used a very simple way for it:
- Each participant defines a part of free floor space. In the instance of all Buggy Blasters, this is done by tapping the floor to put traffic cones. The very first corner of the resulting rectangle is regarded as the origin of the play space.
- Then we combine both play distances and select the overlapping rectangle of the two spaces as the multiplayer play space.
- Network communication about places and rotations is done relative to the origin of their combined play space.
Once this is implemented, playing in the same room using two HoloLenses becomes simple: all you have to do is to set up precisely the same play space on every HoloLens with both players place their cones at the exact same place. This definitely does the trick to get a prototype!
Creating Displayed for HoloLens using Unity
To have a Unity job running on a HoloLens, then a Visual Studio solution is constructed. From that point, you can build and deploy to the HoloLens. For your Buggy Blasters job, the whole process takes around 5 minutes. Examining the multiplayer gameplay supposed that every time we had to deploy to two HoloLenses.
This is how we functioned more efficiently, avoiding a long build-and-run loop:
- Simulate moving around and Air tapping in the Unity Editor using an Xbox controller, speeding up the development.
- Because you can not use two HoloLenses at the same time, it could be hard to have one programmer test multiplayer features. Therefore, we enabled testing using one HoloLens, while the other player client was tested in the Unity editor. This was made possible by assembling a Unity scene comprising a stored scan of a space (because scan a space is impossible without the actual HoloLens device) in addition to a preset play space.
For more information and download, see the Buggy Blasters page.