General AI Framework

General AI Framework

1 Overview

This article was designed to provide users with a basic overview of the features and functionality of UE General AI Framework.

2 Introduction

General AI Framework is a basic framework to design AI for UE Game. The framework will provide several basic behaivor trees to control AI and can be used to create different type of AI. Also, you can improve these behavior trees on your own. The framework can be easily applied to different projects and you can create different AI controller under the same framework.

3 Quick Start

Following blew steps, you will use this framework quickly.

(1) Migrate the framework to your project

Move the folder AI_Framework into your own project.

(2) Create your own AI controller and implement BP_AIGeneralActionInterface

You have to implement the interfaces of BP_AIGeneralActionInterface for your customized AI.

ExampleController

An example is given in blueprint “BP_AITestControllerA” and “BP_AITestControllerB”, located in Example/Blueprints/AI folder.

(3) Definition of Interfaces

  • CheckRootStateChanged: Update AI state at every frame and the state: Init, Idle, Move, Fight, NearDead, Dead.

  • InitStateProcess: The initial operations for AI.

  • IdleActionProcess: The AI action when AI state is Idle.

  • UpdateMoveDestination: Update AI move destination at every frame and the target destination can be an Actor or a Location.

  • ActionAfterMove: The AI action after moving stop.

  • CheckEnemy: Update ememy at every frame with different strategies.

  • ActionBeforeAttack: The AI action just before attacking enemy.

  • AttackEnemy: Different type of attacks on ememy.

  • ActionOnNearDeath: The AI action when dying, such as try to escape or get some help.

Notice, The return parameter WaitAfterAction is the wait time after function has been called, which is the same role as Wait task node in behavior tree.

(4) Spawn AI and run behaivor tree

AI

Spawn your own AI and possess it by your controller created in step (1). An example is given in blueprint “BP_AISpawnSpot” and “BP_AITriggerBox”, located in Example/Blueprints/AI folder.

(5) Add NavMeshBoundsVolume into your level

For AI Navigation, you should add NavMeshBoundsVolume to your level. An example map is given in Maps folder, named “M_Battle”.

4 Support

In the event you are unable to find the information you seek, feel free to contact easycomplex.tech@gmail.com.

References

[1] Unreal Engine API

[2] UE Marketplace

[3] Quick Logo Designer

[4] My UE Marketplace Assets

Vistied:
Share: Twitter Facebook LinkedIn