Project: Unreal Engine (University project)
Role: Designer, programmer, cinematics, UI
About
The focus for this project was to create a short level which focussed on possession mechanics (swapping from one character/object to another. I decided to create a level that used this mechanic to solve puzzle elements in order to progress. My concept was a world set after a zombie outbreak and a prison for the location, focusing on a now zombified prisoner using this opportunity to escape from behind bars. The player would take control of this zombie who has a severed hand that the player can switch between freely to help them escape the prison. The project involved a lot of blueprints with the possession mechanics, I also created an inventory and health system, AI movements, rigged animations as well as collectables to keep the experience interesting.
Skills Used
Unreal Engine Blueprints
Level, mechanic and tech design
Animation
Table of Contents
Research & Prototyping
- I began by researching possession mechanics found in other games such as Bioshock 2, Metal Gear Solid 2 and Beyond Two Souls:

- Next was getting into the Unreal Engine and learning how to implement these mechanics. This involved many hours of testing starting with basic premade game modes to switch two:
- I looked into and tested player health systems using STRUCT nodes and interface systems:

Concept
- Now I had a grasp on some of the core functions to implement I started to draw up sketches and broke down all of the requirements and blueprints needed to demonstrate what the game would look like.
The game will be centred around escaping from a prison. The player will play as a prisoner now Zombie who has a conveniently severed hand and/or leg to help him escape the prison. This is where the possession mechanics will come into play. The player will switch between the zombie and the zombies hand to solve puzzles and collect items to progress. This is where an inventory system will come into effect. An example would be collecting a key to open a door which allows the zombie to pass through. Though the key is only accessible by playing as the hand:


Possession mechanics

Actor components
The actor components would be the hand and leg both being able to attach and detach as components to the zombie character. There would also be audio components for audio in the level and new blueprints with added components such as lighting and meshes.
Puzzles
The puzzles will involve using the different body parts to find ways for the main zombie character to progress through the level and out to the exit to finish the level. The hand will be able to go through small ducts and such that the character and leg are too large for. One idea I have had is that there is a burst pipe with fire coming from it, the zombie cannot walk through without being killed by the flames but the hand is able to go underneath them, find a valve on the other side and turn on the water sprinklers to put out the fire thus making way for the zombie to pass through.
Collectables
I want to make collectable brains to use as a currency that maybe the player needs to have found a certain amount to pass through a certain area (maybe a fellow zombie wants them in exchange for opening a door or something). I want to create a health pickup that will resemble a rat for the zombie to munch on and I will need to create keys for the player to have in their inventory:

Interfaces
An in game health bar and inventory to see what items you have collected would be included. A game over screen upon player death with the option to restart the level was also a must.
Animation
I wanted to be able to animate the zombie when it is walking in an “undead style pose”, I needed to create some NPC’s to have animations and I also wanted to animate the hand to move around like “the thing” from the Addams family movies:

AI
Create NPCs (other zombies) walking around their cells and also include the ability to interact with an NPC to progress through the level.
Inventory, Pickups and Inherited actors
- I created an action input so the player could possess another pawn by presses left shift. I then created a sphere trace to detect pawns within the area and possess them if they are within range:

- Next I created an enumeration and added a few test items. Some of which I used in my game, these were Brains (a pickup that will count as currency to progress) and the prison cell key mentioned above in the scenarios:

- I then added an inventory system to my Base character via components and created two child actors from the zombie and severed hand characters. Next I created blueprint pickups to interact with this inventory and made key inputs to “use” the amounts in the inventory for both characters:

- The first was the brain currency pickup (animations were still in progress):
- I wanted to place a key item in the world for the player to collect and then use to open the door to the cell. At the time the door would just be destroyed but the plan was to implement an animation for the door to open at a later point. First of all I created a new blueprint pickup that would interact with the inventory component. I imported a model of a key that I created as an experiment (experimented creating 3D models over the summer). I added a rotation node in the blueprints and a light in the components to highlight the item clearly

- Here is a video of me swapping from the zombie to the hand character (a placeholder at the time) using the sphere trace input. I go through the vent and into the main corridor, collect the key and then press the action to use the key (resulting in zero keys in the inventory):

Wireframes
- Once the inventory had been set up and tested I began to sketch out a wireframe for the HUD system. The idea was there would always be a health bar in the top right that would indicate how much health the player has. There would also be an inventory that would appear below the health bar via an action key input (this could be toggled on and off), the game did not stop while this was viewed it was just there as a reminder to the player what was in their inventory and the quantity of the item/items collected. In concept there would be six slots to store items inside that the player would need to escape from the prison:

AI
I wanted to create an NPC prisoner to use in the other cells in the prison. To do this I created a new blackboard and behaviour tree, I wanted the NPC to wonder around the cell. To do this I created a patrol task to create points for the NPC to walk:
- Then I added them into the NPC behaviour tree:
- I created the AI controller to tell the NPC to use the behaviour tree:
- Then I added the patrol path blueprint into the viewport, connected it to the NPC and chose the points I wanted it to walk:
Animation
- After some time learning and implementing these systems I focussed next on animations and how to assign them to different character states:
