Escape From The BodySnatcher


  • Isometric party game where 7 players need to work together in order to escape a player-controlled monster
  • Entry for the Ubisoft Game Lab Competition 2021
  • Nominated for Best Game Design
  • Online multiplayer with multichannel voice chat using Vivox Communications
  • Developed using Unreal 4.26 source code & Visual Studio 2019
  • Client and Server Builds
  • Team size: 8, Programmer

Repository: Github

My First Game Real Game in Unreal

At the time of starting this project, I had spent almost not time in the engine and had very little knowledge of how its systems worked. This was a large challenge as it meant that a majority of the work that needed to be done for this project was learned on the job so to speak. Luckily, I was allso taking a seminar class in Unreal at the same time and was able to apply a lot of what I learned to this game as well as ask the professor for help outside of class hours.

Challenge #1

One of the big challenges we had to overcome from a technical perspective was that unreals player controller system does not allow for multiple sources of input which was necessary for our monster to be controlled by multiple people. To solve this we chose to buffer the player input on the scientist character so that it could be polled from the moster in a for loop and added to a total vector sum:

Monster direction calculation

We then passed sum and its individual components on so that we could draw direction indicators so players could see where their teamates were heading.

Challenge #2

One of the other big challenges was that we were required to implement some form of voice communication into our game. To start off with, neither I nor my coprogrammer had any exxperience with voicechat systems at the time. Secondly, our game had two istinct group of players at all times and we needed to be able to move players between then based on the state of the game. After some research we determined that Vivox would be our best route and started implementing.Having no experence in this subject our implementation was not perfect. For example, our login system:

Vivox Login

Our shortcommings quickly became clear as we would be testing new features on separate machines and would get logged into the same voice session unintentionally. While this was a large failure that we did not have time to fix, we did learn a lot from it about how the process works. If we were going to reimplement this, we would likely have wanted to make a system that would separate people into separate sessions based on the game server they were conencted to.



placeholder image 1 placeholder image 2 placeholder image 3 placeholder image 3

*Artwork done by Brittany Ollendieck and Jack Tenda