Book Image

Unity Artificial Intelligence Programming - Fourth Edition

By : Dr. Davide Aversa, Aung Sithu Kyaw, Clifford Peters
Book Image

Unity Artificial Intelligence Programming - Fourth Edition

By: Dr. Davide Aversa, Aung Sithu Kyaw, Clifford Peters

Overview of this book

Developing Artificial Intelligence (AI) for game characters in Unity 2018 has never been easier. Unity provides game and app developers with a variety of tools to implement AI, from the basic techniques to cutting-edge machine learning-powered agents. Leveraging these tools via Unity's API or built-in features allows limitless possibilities when it comes to creating your game's worlds and characters. This fourth edition with Unity will help you break down AI into simple concepts to give you a fundamental understanding of the topic to build upon. Using a variety of examples, the book then takes those concepts and walks you through actual implementations designed to highlight key concepts and features related to game AI in Unity. Further on, you'll learn how to distinguish the state machine pattern and implement one of your own. This is followed by learning how to implement a basic sensory system for your AI agent and coupling it with a Finite State Machine (FSM). Next, you'll learn how to use Unity's built-in NavMesh feature and implement your own A* pathfinding system. You'll then learn how to implement simple ?ocks and crowd dynamics, which are key AI concepts in Unity. Moving on, you'll learn how to implement a behavior tree through a game-focused example. Lastly, you'll apply all the concepts in the book to build a popular game.
Table of Contents (13 chapters)

What this book covers

Chapter 1, Introduction to AI, talks about what AI is and how it is used in games. Also, we talk about the various techniques used to implement AI into games.

Chapter 2, Finite State Machines, discusses a way of simplifying how we manage the decisions that AI needs to make. We use FSMs to determine how AI behaves in a particular state and how it transitions to other states.

Chapter 3, Randomness and Probability, discusses the basics behind probability and how to change the probability of a particular outcome. Then we look at how to add randomness to our game to make the AI less predictable.

Chapter 4, Implementing Sensors, looks at making our character aware of the world around them. With the ability of our characters to see and hear, they will know when an enemy is nearby and will know when to attack or defend themselves.

Chapter 5, Flocking, discusses a situation where many objects travel together as a group. We will look at two different ways to implement flocking and how it can be used to make objects move together.

Chapter 6, Path Following and Steering Behaviors, looks at how AI characters can follow a path provided to reach a destination. Then we look at how AI characters can find a target without knowing a path and move toward a goal while avoiding danger.

Chapter 7, A* Pathfinding, discusses a popular algorithm that is used to find the best route from a given location to a target location. With A*, we scan the terrain and find the best path that leads us to the goal.

Chapter 8, Navigation Mesh, discusses using the power of Unity to make pathfinding easier to implement. By creating a navigation mesh, we will be able to represent the scene around us better than we could using tiles and the A* algorithm.

Chapter 9, Behavior Trees, expands FSMs into something we can use for even the most complex of games. We will be using the free plugin called Behavior Bricks to help us create and manage behavior trees in Unity.

Chapter 1o, Machine Learning, explores how to apply machine learning (in particular, reinforcement learning) to game characters for games or simulations. We will use the official Unity's ML-Agent Toolkit. In the first part, we will learn how to configure Unity and the external requirements for the toolkit. Then we will showcase a simple practical example.

Chapter 11, Putting It All Together, takes various elements of what we have learned throughout the book to put together one last project. Here you will be able to apply the remaining AI elements that we will have learned about and create an impressive vehicular battle game.