Linear Algebra Placeholder image

Behavior Trees Personal Project

Behavior Trees (AI)

Linear Algebra Placeholder image

Behavior Trees Personal Project

Behavior Trees (AI)

Project Type Personal Project

Software Used Unreal Engine 5.7

Languages Used C++

Use of Concept Linear Algebra, Behavior Trees, Composition over Inheritance, Strategy Pattern, GAS (Gameplay Ability System)

Primary Role(s) Gameplay Engineer

Made in Unreal 5, I plan to update my Behavior Trees project weekly with progress.
The goal is to make a few short "dungeons" with smart enemy AI, and eventually a boss fight at the end.
The smart enemy AI will be able to react to player skill level, or set difficulty, player movement, actions, and respond to priority conditions such as their health being low, at which point they would attempt to heal, run away, enter a different phase, etc.

I plan to execute this behavior by utilizing Hinted Execution Behavior Trees, a fairly new concept I've learned which I will use to practice, improve and expand upon my knowledge of Behavior Trees and AI systems as whole.

[WEEK 1]
Behavior Tree & Blackboard for a base enemy blueprint class, AIC controller, attack animations for the enemy.
Wield weapon, Chase target, focus target, and attack target.

[WEEK 2]
Behavior Transitions & Player Detection. Utilizing Parallel Nodes in Behavior Trees, and dynamically setting Enemy's aggression level based on conditions. Player Detection calculated by using Dot Products & concepts of 3D Math/Linear Algebra.

[WEEK 3]
Attack & Health Components. Simple Combat system with weapon sheathing. Added VFX with Niagara. On Death events, and organization of data.

[WEEK 4]
C++ Scripting to detect player in vision cone using Line Traces & Linear Algebra for checks in the FOV. Behavior Tree expansion to add new states, and animations to play in certain states. Beginning of use of the AI Perception system.

Made in Unreal 5, I plan to update my Behavior Trees project weekly with progress.
The goal is to make a few short "dungeons" with smart enemy AI, and eventually a boss fight at the end.
The smart enemy AI will be able to react to player skill level, or set difficulty, player movement, actions, and respond to priority conditions such as their health being low, at which point they would attempt to heal, run away, enter a different phase, etc.

I plan to execute this behavior by utilizing Hinted Execution Behavior Trees, a fairly new concept I've learned which I will use to practice, improve and expand upon my knowledge of Behavior Trees and AI systems as whole.

[WEEK 1]
Behavior Tree & Blackboard for a base enemy blueprint class, AIC controller, attack animations for the enemy.
Wield weapon, Chase target, focus target, and attack target.

[WEEK 2]
Behavior Transitions & Player Detection. Utilizing Parallel Nodes in Behavior Trees, and dynamically setting Enemy's aggression level based on conditions. Player Detection calculated by using Dot Products & concepts of 3D Math/Linear Algebra.

[WEEK 3]
Attack & Health Components. Simple Combat system with weapon sheathing. Added VFX with Niagara. On Death events, and organization of data.

[WEEK 4]
C++ Scripting to detect player in vision cone using Line Traces & Linear Algebra for checks in the FOV. Behavior Tree expansion to add new states, and animations to play in certain states. Beginning of use of the AI Perception system.

Code Samples & Implementation

Code Samples & Implementation

Systems Responsible For:

(click to expand and view code samples)

(tap to expand and view code samples)

WEEK 1 - Behavior Tree & Blackboard Implementation

WEEK 2 - Patrol, Attack Behaviors & Conditions

WEEK 3 - Attack and Health Components, Combat System Basis

WEEK 4 - Behavior Tree Expansion, C++

WEEK 1 - Behavior Tree & Blackboard Implementation

WEEK 2 - Patrol, Attack Behaviors & Conditions

WEEK 3 - Attack and Health Components, Combat System Basis

WEEK 4 - Behavior Tree Expansion, C++

WEEK 1 - Behavior Tree & Blackboard Implementation

WEEK 2 - Patrol, Attack Behaviors & Conditions

WEEK 3 - Attack and Health Components, Combat System Basis

WEEK 4 - Behavior Tree Expansion, C++

Systems Responsible For:

(tap to expand and view code samples)

WEEK 1 - Behavior Tree & Blackboard Implementation

WEEK 2 - Patrol, Attack Behaviors & Conditions

WEEK 3 - Attack and Health Components, Combat System Basis

WEEK 4 - Behavior Tree Expansion, C++

Create a free website with Framer, the website builder loved by startups, designers and agencies.