Damage System
OVERVIEW
Built with the help of an in-depth tutorial alongside the 'Smart AI' project, this system makes use of a number of Unreal Engine features such as Blueprint Components, Structures, Interfaces and Enumeration. The system has been built in a way that means it can be dragged and dropped into most projects and be plugged in as a basic framework.
1
Sole Developer
Unreal Engine
Tutorial Used -
INSPIRATION
This Damage System was created through use of a tutorial but my wish to create one started whilst playing Star Wars Jedi: Survivor, similiar to how I started my 'Smart AI' Project.
GOALS
- Use Actor Components and Interfaces to develop a Damage System.
- Create a modular system which can be easily added to and plugged into a project for use.



Key Features
- Customizable damage responses & damage types
- Simple implementation, best displayed in my 'Smart AI' project
- Scalability, shown with the inclusion of the 'Token System' also used in my 'Smart AI' project
- Event dispatchers are used in place of calling functions directly from other objects, saving resources and streamlining the process
FEATURE DIVE
Damage Info Structure

Overview
The damage structure is one of the most important elements of this entire system, it can be easily adjusted and plugged into events to allow for objects to deal and recieve damage.
How I Took It Further
To enhance this system, I joined it with the weapon system which was developed alongside the 'Smart AI' project. This allowed me to set individual weapon damage with a future plan of weapons having unique speeds to slow/quicken combat animations.

OUTCOME
Through this project, I have been able to learn and make use of fundamental and advanced features which Unreal Engine offers. I have been able to gain a deep understanding of how and when to use Event Dispatchers, Macros and Enums to optimise my workflow and the way in which blueprints talk to eachother. Alongside this, I have learned how to use Actor Components and Interfaces so that pawns can have easy access to the functions required which makes implementation much easier.