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

State transition


This concludes what is necessary for our transition out of state 1. Next, we will do what is required for state 2, and this will allow us to detect the changes necessary to exit this state back to state 0 once we no longer see the enemy. Perform the following steps:

  1. Going back to the switch node on State, which we created earlier (in Step 55) and creating a new connection from 2, let's create GetAiController.

  2. Next, we need to check whether our Enemy Actor variable is valid. We will do this by dropping out the Enemy Actor variable, pulling from the pin, and then creating the IsValid node.

  3. If the variable is valid, we want to move our AIController toward our enemy. We can do this by pulling from Return Value on GetAiController and then creating Move To Actor. Then, we can connect our valid Enemy Actor variable to our Move To Actor goal input.

  4. Next, we want to use the Tick event within the AIController to check whether we have the line of sight of our enemy when we're in state...