Book Image

Unreal Engine 4 AI Programming Essentials

By : Jie Feng, Peter Newton
Book Image

Unreal Engine 4 AI Programming Essentials

By: Jie Feng, Peter Newton

Overview of this book

Unreal Engine is a powerful game development engine that provides rich functionalities to create 2D and 3D games. Developers have the opportunity to build cross-platform mobile and desktop games from scratch. This book will show you how to apply artificial intelligence (AI) techniques to your Unreal project using blueprints as your scripting language. You will start with an introduction to AI, and learn how it is applied to gaming. Then you'll jump right in and create a simple AI bot and apply basic behaviors to allow it to move randomly. As you progress, you'll find out how to implement randomness and probability traits. Using NavMesh, you will impart navigation components such as character movement, MoveTo nodes, settings, and world objects, and implement Behavior Trees. At the end of the book, you will troubleshoot any issues that might crop up while building the game.
Table of Contents (16 chapters)
Unreal Engine 4 AI Programming Essentials
Credits
About the Authors
About the Reviewer
www.PacktPub.com
Preface
Index

Steering behavior: Flocking


Flocking is a steering behavior that combines Separation, Cohesion, and Alignment. Separation behavior avoids other nearby agents. Cohesion behavior keeps the agents in a group. Alignment behavior averages the forward direction by aligning with nearby agents.

What we will do here is replicate the steering behavior, flocking, in blueprint. We will also use UMG to aid the manipulation of weights for each behavior. Let's start now and create the variables we will need in this part of the chapter.

Flocking agents

We must first start off by creating the variables necessary to calculate individual behaviors. Then, we must add the results to normalize a final forward direction for our agent.

Let's focus on our RollingGameMode game mode and add the three new global variables we will have to use later in this chapter. In correlation to the three behaviors, we need to create GlobalAlignment, GlobalCohesion, and GlobalSeparation by performing the following steps:

  1. Open RollingGameMode...