Stockfall is an asynchronous online-multiplayer game where one player is randomly selected to act as an undercover traitor. Instead of hacking PCs, searching for hints and planting the bomb the traitor will try to sabotage the other players with traps, ambushes and their most useful tool: A different perspective.
Unlike the other players who play the game from a third-person view the traitor can switch freely between the normal perspective and a top-down view granting the traitor the ability to plan ahead and lay out a plan to victory.
Development time: 3.5 months (November 2016-February 2017
Roles: Programming, audio coordination
Engine used: Unreal Engine 4
Language: C++ and Blueprints
It reached the finals of The Rookies 2017
Gameplay SummaryEach of the four players starts the game on an elevator not knowing who will be chosen to act as the traitor. The other players will be infiltrators and attempt to hack their way into the vault.
First & Third Person TransitionOne of the most complex tasks during development was making sure that the scene would transition smoothly between third person and top-down perspective. To prevent worse performance in top-down compared to the default view we made or generated LODs of almost every mesh in the entire scene and even changed the quality of some specific materials whose details one would not be able to see from such a distance.
Interaction & Player TasksEach actor could be made interactable over the network by deriving from a central base actor class. Separated events for cosmetic callbacks on clients, logical callbacks on the server, notifications when the progress has changed and many more exist and can be easily extended with either C++ or Blueprints. There is support for multiple players interacting with a single object if so desired.
Game LauncherDuring development I created a small app that would update the game automatically when we made a new build. This way we were able to play with people remotely without having to send them the current build over and over again. It was a simple WPF application that connected to my personal server and fetched the newest build.