Project Details




Third Person Shooter


Unreal Engine


Four weeks


Solo Project

In this Third Person Shooter, the player must navigate the map while completing set objectives. These objectives include finding quest items and eliminating threats. The player can find weapons and pickups including access cards to unlock areas, quest items, health packs and ammunition.

The player must aim directly at the enemy and fire until the threat is eliminated, there is a variety of sights and optics that are effective at different ranges and situations, the player must take these factors into account.

If preferable, the player can avoid direct combat and use a more stealthy approach by avoiding alerting the enemies and using the sniper rifle to eliminate the threats.



Level Design

Gameplay Design

Gameplay Scripting

This is a solo project in which I created all game mechanics. The objective was to create a project with the modular systems and game feel as the focal points. To achieve the modular aspect, I used the same logic when creating both the pickup- and weapon system in which the latter is showcased in further detail below. In regards to the game feel, I focused on smooth transitions between the character movement states and responsive controls with an intuitive control scheme. The movement mechanics are showcased in further detail below.

Modular Weapon System

Enum Variables

Enums allow you access to your own custom list of settings or states. Using switches and select nodes, you can use one line of code where you would otherwise had to create several different states. This enumeration is called in the struct variable to set the weapon type.

Struct Variables

The blueprint struct variables allows you to store different data types which contain related information together. This struct variable is called in the parent blueprint and is collection of different types of data which are related and held together for easy access.

Parent Blueprint

The parent blueprint contains script for the basic weapon such as the fire and reload function. The child blueprints automatically inherit the functionality of their parent, which can then be augmented, added to, or altered so that each weapon does something different while sharing the same basic features. This is useful because any updates made to the parent blueprint's script will apply to all its child blueprints. In the construction script, which is designed to execute upon creation and update of an object, the struct variable is split, called and set.

Child Blueprint

The process of adding new weapons and additional functionality is simplified by only needing to create a child blueprint of the parent blueprint, adding and the mesh and adjust the settings in the class defaults according to weapon type.

Character Movement



Animation Blueprint

The animation blueprint event graph performs updates to the values which are used in the anim graph to drive the state machines, blendspaces and anim offsets.

Anim Graph

The anim graph is used to evaluate the final pose for the skeletal mesh. To achieve smooth transitions between the movement states different caches are saved, combined and blended per bone.