top of page

Smart AI

OVERVIEW

Built alongside and incorporated with the Damage System project, the Smart AI project has been created to help myself learn about and use AI features within Unreal Engine. Alongside helping me implement Behaviour Tree's and use EQS's (Environment Query System's), this project also made use of a number of other tools such as Interfaces and Enum databases.

people_White.png

 1

gears_White.png

    Sole Developer

Unreal Engine 

Briefcase.png

Demo -

hammer.png

Tutorial Used -

INSPIRATION 

The Smart AI project was inspired by the game Star Wars Jedi: Survivor which included enemy AI that behaved intelligently. This behaviour included Strafing, Blocking and a Token System which dictated when they could attack.

GOALS

- Learn and make use of Behaviour Tree's and EQS's to create inteligent enemy behaviour
 

- Create varied enemy types which can use differing/custom weapons with unique stats.

Key Features

- Customizable enemy types which inherit functions/variables from 'Base Classes'

- Combat System which uses the Damage System to allow enemies to deal/reiceve damage

- Group/Crowd combat which makes use of strafing created using the Environment Query System

- Smart behaviour such as searching, sense based detection (sight, hearing, damage) and blocking

image.png

FEATURE DIVE

Behaviour Tree's

Through Behaviour Tree's, I have learned how to use a range of Unreal features such as Decorators, Sub Tree's and Tasks to create varied behaviour. In this instance, I was able to create both a 'melee' and 'ranged' enemy which functioned very diffently.

Alongside this, behaviour tree's have allowed me to implement specialised tasks for characters to perform. One task example is investigating/seeking which allows them to try find the player using their last known position.

Strafing/Token System

Overview

One of the key behaviours in this system which follows the initial inspiration is the strafing and token system. This system ensures that only a certain amount of enemies can attack at the same time, making them strafe around their target when not attacking.

How I Took It Further

In order to push myself further, initial mannequin enemy character models and animations were switched out and replaced. This allowed me to get familiar with Unreal's Blend Space feature and helped me better understand the animation workflow.

OUTCOME

This project has allowed me to learn a multitude of new AI based features which I intend to use to create small mini-games for practice. Having combined this with the Damage System during the tutorial, I have been able to achieve my goals and build a system which reflects that shown in Star Wars Jedi: Survivor.

bottom of page