top of page

BLOG

Final Year Project Video

Research

The first week was spent on research about motion controllers and level design for my final year project. 

I had to understand how to connect motion controllers to the third person character, so that whatever movements the player would make with their arms, would be tracked and preformed by the third person character.

For the level design, I started by designing the training level. This was because I could get a base level already done so I could start implementing the mechanics for the player and the game world.

Creating Training Level and Adding SDKs

TRAINING LEVEL 

For week two the training level was designed and implemented. For this level I wanted it to look like a testing facility, so I went with dark materials and added bright spotlights throughout the level and also I added Exponential Height Fog.By using this fog it allowed me to cast volumetric shadows and lights within the level to add to the atmospheric feeling.    

Level1.png
Level.png
Level3.png

ADDING SDK

Finding the right SDKs for the Hydra motion controllers was important, this is because some of the versions of unreal do not support Hydra motion controllers anymore. However I managed to find one that was supported by Unreal Engine 4.21.1.  

Level4.png

Connecting Motion Controllers

When it came to week 3, the focus was getting the main mechanic working. This was connecting the motion controllers to the main character. The way I was about to do this was by using blueprints. The first thing I did within the third person animation blueprints,  is that I had to store the location for the motion controllers so that I could use it when connecting the arms to follow where the motion controllers are located within the world space. I then used inverse kinematics to connect the characters arms to the motion controllers location. Fabrik was the node I used to help connect them together and I also used the transform modifier bone node to fix both of the hand transforms. 

Level6.png
Level5.png

Controls 

My goal today was to make sure that all of the controls felt smooth and were working properly. The controls that I had fixed were making the main character move using the left analog stick, controlling the camera using the right analog stick, opening a widget that will be the weapon wheel using the left bumper, and selecting weapons using the right bumper. 

Level8.png
Level7.png

Creating the Weapon Wheel

Today I had managed to create a weapon wheel that will allow players to select weapons. The weapon wheel contains 4 weapons that the player can choose  from. The weapon wheel is still basic, but I will be updating it throughout development. I will be adding stats when players are hovering over a weapon, to show them how much damage the weapon does, the distance the weapon can cover and how heavy the weapon is.

Level10.png

Physical Animation

Making the main characters movements realistic, was of importance, this is why I spent a lot of time trying to understand how to replicate human movements using Inverse Kinematics and Forward Kinematics. Also I was researching on animated physics and how to apply it to the main character. This allowed me to simulate real collisions with the environment, so that if the player reaches to grab something using the motion controllers, the hand can interact with the environment without clipping thought objects or surfaces.

Level9.png

Main Mechanics

After setting up the base controls for my character and setting up the Hydra motion controllers. I then started to implement my main mechanics such as the picking up mechanic, throwing mechanic, slicing mechanic and the target mechanic.

Pick Up Mechanic

The pick up mechanic allows players to pick up objects and weapons within the levels to solve puzzles and also for combat.  

PlaceObject.png
PickUpObject.png

Throwing Mechanic

Players must select the throwing knives from the weapon wheel. Once selected players then can aim them at objects or enemies and then throw them.

Aim_TK.png
T_1.png

Slicing Mechanic

When players pick up weapons, they can slice through certain objects within the levels. This can also be used on a damaged AI enemy.

SM_1.png
Slicing_Mesh.png

Target Mechanic

This mechanic will allow players to target enemies and objects within the levels. If players are facing away from the object or enemy, the camera will focus on them when the player presses the thumbstick on the Hydra motion controller. This depends if the players are close to the object or enemy. 

TM_1.png
Target.png

Level Design- Training Room

The level design that was drawn for the project under development, was taken and was used for reference when it came time to implement the level layout within the project. The figure below illustrates the level layout for the first level in a top down view. Following the level design for this level, aided in implementing the level faster and made sure that the level would turn out the way it was planned.

LD_1.png
LD_2.jpg

After the level was laid out and looked correct, assets were placed throughout the level in appropriate places. Then the path to the exit door was sectioned off. This is so that the player first had to complete tasks in order to progress through the level. Each task was designed and laid out to teach the player a key mechanic of the tech-demo. As you can see from the figure below, the level is sectioned off by lasers. Each laser has a task associated with it, when that task is completed the laser will power down and allow the player to progress to the next task.

LD_3.png

Level Design- Area 2

This is the top view of the second level within the project. As you can see the level will have four rooms. Each of the rooms will have a certain task for the player to complete before they are allowed to progress to the next room.

LD_4.jpg
LD_5.png

This is the first room that the player will see within the second level. This room will allow players to use the pick-up mechanic that they have learnt within the training level. For this part of the level players are required to pick up and place all three sphere objects on to the triggers to activate and open the door. The sphere objects are placed throughout the level so that the player must first find them and then place them on the correct trigger. This can be illustrated within the figure below.

LD_6.png

The figure below is of the second room that the player will enter after completing the first task. This room will allow the players to use the throwing mechanic that they have learnt within the training level. In this room the player is shown moving targets that they will have to try and hit with projectiles, if the player manages to hit all of the moving targets the door will open, and the player can move to the next room.

LD_7.png

The figure below showcases the third room that the player will enter. This room will contain the final task for the player to complete before entering the final room. The path that the player must follow to get to the final room will be blocked off by obstacles. In order for the player to progress, they must use the slicing mechanic that they have learnt within the training level to slice objects that are in the way and try to reach the final room.

LD_8.png

After the player completes all of the tasks in time, they will get to the last room, in which they will see a button in front of them. Text is shown to the player, informing them to press the button to start the simulation. Once pressed the player will be taken to the last level within the tech-demo. There, they will face an Opponent and will have to try to defeat them to complete the level.

LD_9.png

Level Design- Training Room

This is the final level that the player will play within the tech-demo. The figure below showcases how the level is laid out. The red parts are the fire particle effects within the game environment. The reason why the level was laid out as illustrated below, is because it was planned to look like a battle arena, where the player would battle an opponent.

LD_10.jpg
LD_11.png

Within this level players will be forced to use what they have learnt to try and defeat the opponent. The player will be required to meet the opponent in the middle of the arena and begin the battle. Once the player defeats the opponent a victory message will appear and then the player will be sent to the main menu.

LD_12.png
bottom of page