Shadow Play

This game was created as the fianl part of my masters course.

In this module we were presented with breifs from industry clients. We were tasked with creating a game around synchronicity. As such we created a puzzle game where you place 'clones' In locations around the world who, when trigged, will interact with the objects. Doing actions in a certain order will allow you to solve the puzzle and progress through the game. For this project I created:

  • Object system: Object were children of a abstract base class where they would implement their own 'action' function. This simplified the interaction and collision systems. Code example
  • Input switching system: Our client requested that we support controllers as well as keyboard and mouse. As such we needed a way to allow a user to switch seamlessly between the two. This was achived by having a static class with events detect the input then alert subscribers the input has changed so they can react accordingly. An example being the tutorial images. I had never created my own event handlers/event system before so in researching how to do it I turned to ChatGPT for examples. As such some of the GlobalData script is based on AI code. Code example
  • Verticality system: The designers wanted the game to support multiple 'floors' to create more intricate levels. This was created in a designer friendly manner that just involves them adding the objects to 'layers' in the Unity editor. The code tracks what layer the player is on and ensure that the don't collide with objects above or below them. It handles stairs along with the ability to fall off object onto a layer below. Code example
For this project I was the main progammer and focused on creating game systems based on designs from the design team. I also helped import and implement art assets and animations from the art team.

DOWNLOADS

As this project was created with a team I am not at liberty to distribute the source code but a build is avaliable here.

Video