Monday, 28 September, 2020 UTC


Elemental Rifters AR — A Multi-Device Networked Multiplayer Shooter Game Post-Mortem

HoloLens Live Image
We were tasked to make a multi-device networked multiplayer game for the mini-capstone in Game Development Advanced Programming Post Graduate Course at Sheridan College. There were four groups of two and one group of three students. Each group was assigned with three unique devices. My group members were:-
1. Abhishek Tippireddy
2. Dakshvir Singh Rehill (me)
Our devices were:-
1. HoloLens One
2. Apple IPhone X
3. PC with PS4 DualShock controller
The mini-capstone game had to have the following components:-
1. 3 to 4 Unique Non — Player Characters or any Artificial Intelligence components.
2. Networked Multiplayer elements.
3. 2D Gameplay.
4. 3D Gameplay.
5. Device Specific Gameplay.
We came up with Elemental Rifters, a game where you play a wizard that needs to defend themselves against wizards from other realms all the while trying to attack the other realm wizards using these rifts that open between their worlds.

Initial Plans

Elemental Rifters, like all games, started with a huge scope.

Trending AR VR Articles:

1. How to use subtle AR filters to survive your Zoom meetings?
2. The First No-Headset Virtual Monitor
3. Augmented reality (AR) is the future of Restaurant Menu?
4. Creating remote MR productions

Networking Elements

Networking elements include:-
1. Troops from different worlds.
2. Render Texture of the rifts.
3. Player kill score and health.
4. Bot statistics.
5. Networked lobby and game rooms. (Matchmaking)

Gameplay Elements

Gameplay is a simple death match amongst all participating worlds.
1. Player chooses element.
2. Party leader starts game.
3. Bots for single player.
4. Four players per match.
5. Player sends troops towards open rifts.
6. Player shoots magic spells on enemy troops.

AI Elements

The game consists of the following AI Components:-
1. Bot: Mimics an actual player and plays against players in the room.
2. Melee Troop: Needs to get close to the player to inflict damage.
3. Ranged Troop: Can fire at the player from a specified range.
4. Dodge Ranged Troop: Ranged Troop which can dodge incoming fire from the player.
5. Dodge Melee Troop: Melee Troop which can dodge incoming fire from the player.
6. Healer Troop: Deployed to heal troops/player.

Device Specific Gameplay


1. Rifts will open on real world objects like walls and tables.
2. Ambient sound to inform player when and where rifts open.
3. Double Air Tap on Rift to fire Troop.
4. Air Tap on Enemy to fire magic spell.
5. Holographic Cogwheel UI for troop selection.

Apple IPhone X:

1. Tap on screen to move to location.
2. Double tap on rift to fire troop.
3. Double tap on enemy to fire magic spell.
4. Persistent HUD for troop selection.

PC with PS4 DualShock Controller:

1. Tap action button to fire.
2. Double Tap action button to send troop.
3. Cogwheel UI for troop selection.
4. Left joystick to move player.
5. Right joystick to control camera.

Scope Reduction

Given that we only had 14 weeks to accomplish this task while juggling with other assignments, we ended up reducing a ton of scope.
1. The plan was to implement a view through the rift to the other world. This was cut to just a simple rift texture as capturing real world output and transmitting textures through the network was a complicated task.
2. Spatial collider mapping was scrapped because half way through the project, COVID-19 outbreak was declared a global pandemic and there was an uncertain two week gap where project work was halted.
3. AI components were reduced to just three, namely, Bot, Melee and Ranged.


The uncertainties due to the COVID-19 Pandemic did delay us a lot but the project was completed in time. Even with the scope reduction, the game had all elements that made it enjoyable.
Both of us worked together to turn our vision into a reality. Here are our respective responsibilities in the project:-


a. Sourcing of Game Assets.
b. Melee AI Finite State Machine and dodging logic.
c. Ranged AI Finite State Machine and dodging logic.
d. Making pooling system use Unity’s addressable asset system.
e. First Person Controller for PC Build.
f. IPhone Input and 2D Build integration.

Dakshvir (me):

a. Project Management and Version Control Merging.
b. Bot AI Behavior Tree Actions and Conditionals.
c. Game system implementation (Object Pooling, Additive Scene Loading, Audio Management, Addressable Loading, UI Management).
d. HoloLens Input management and Holographic UI creation.
e. Networking implementation using Photon Unity Networking.
f. Core Gameplay and Mechanics implementation

Conclusion and Future Scope

It was interesting to work on a world scale standalone AR device but HoloLens One had a lot of limitations. Unity v2019.2.0 was used for most of the development cycle which is why getting the input to work properly took a lot of time. With the new XR packages from Unity and the latest tools and hardware offered by Microsoft, this game can be improved in many ways.
There were limited interactions possible with the user and in a game experience, the more immersive you can make a game, more enjoyable it gets. Given that research is still on going in XR technologies, there is a lot of potential for gaming in XR. I’ll continue working on games and immersive technologies and see a bright future ahead.

Don’t forget to give us your 👏 !
Elemental Rifters AR — A Multi-Device Networked Multiplayer Shooter Game Post-Mortem was originally published in AR/VR Journey: Augmented & Virtual Reality Magazine on Medium, where people are continuing the conversation by highlighting and responding to this story.