Unity Artificial Intelligence Programming: Add powerful, believable, and fun AI entities in your game with the power of Unity, 5th Edition
- Length: 252 pages
- Edition: 5
- Language: English
- Publisher: Packt Publishing
- Publication Date: 2022-03-28
- ISBN-10: 1803238534
- ISBN-13: 9781803238531
- Sales Rank: #1489216 (See Top 100 Books)
Learn and implement game AI in Unity 2021 to build smart environments and enemies with A* pathfinding, finite state machines, behavior trees, and the NavMesh
Key Features
- Explore the latest Unity 2021 features to make AI implementation in your game easier
- Build richer and more dynamic games using AI concepts such as behavior trees and navigation meshes
- Implement character behaviors and simulations using the Unity Machine Learning toolkit
Book Description
Developing artificial intelligence (AI) for game characters in Unity 2021 has never been easier. Unity provides game and app developers with a variety of tools to implement AI, from 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 game worlds and characters.
The updated fifth edition of Unity Artificial Intelligence Programming starts by breaking down AI into simple concepts. 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. As you progress, you’ll learn how to implement a finite state machine (FSM) to determine how your AI behaves, apply probability and randomness to make games less predictable, and implement a basic sensory system. Later, you’ll understand how to set up a game map with a navigation mesh, incorporate movement through techniques such as A* pathfinding, and provide characters with decision-making abilities using behavior trees.
By the end of this Unity book, you’ll have the skills you need to bring together all the concepts and practical lessons you’ve learned together to build an impressive vehicle battle game.
What you will learn
- Understand the basics of AI in game design
- Create smarter game worlds and characters with C# programming
- Apply automated character movement using pathfinding algorithm behaviors
- Implement character decision-making algorithms using behavior trees
- Build believable and highly efficient artificial flocks and crowds
- Create sensory systems for your AI world
- Become well-versed with the basics of procedural content generation
- Explore the application of machine learning in Unity
Who this book is for
This Unity artificial intelligence book is for Unity developers with a basic understanding of C# and the Unity Editor who want to expand their knowledge of AI Unity game development.
Unity Artificial Intelligence Programming Fifth Edition Contributors About the author About the reviewers Preface Who this book is for What this book covers To get the most out of this book Download the example code files Download the color images Conventions used Get in touch Share Your Thoughts Part 1:Basic AI Chapter 1: Introduction to AI Understanding AI AI in video games AI techniques for video games Finite state machines Randomness and probability in AI The sensor system Flocking, swarming, and herding Path following and steering A* pathfinding Navigation meshes Behavior trees Locomotion Summary Chapter 2: Finite State Machines Technical requirements Implementing the player's tank Initializing the Tank object Shooting the bullet Controlling the tank Implementing a Bullet class Setting up waypoints Creating the abstract FSM class Using a simple FSM for the enemy tank AI The Patrol state The Chase state The Attack state The Dead state Taking damage Using an FSM framework The AdvancedFSM class The FSMState class The state classes The NPCTankController class Summary Chapter 3: Randomness and Probability Technical requirements Introducing randomness in Unity Randomness in computer science The Unity Random class A simple random dice game Learning the basics of probability Independent and correlated events Conditional probability Loaded dice Exploring more examples of probability in games Character personalities Perceived randomness FSM with probability Dynamically adapting AI skills Creating a slot machine A random slot machine Weighted probability A near miss Summary Further reading Chapter 4: Implementing Sensors Technical requirements Basic sensory systems Setting up our scene The player's tank and the aspect class The player's tank Aspect AI characters Sense Sight Touch Testing the game Summary Part 2:Movement and Navigation Chapter 5: Flocking Technical requirements Basic flocking behavior Individual behavior Controller Alternative implementation FlockController Summary Chapter 6: Path Following and Steering Behaviors Technical requirements Following a path Path script Path-following agents Avoiding obstacles Adding a custom layer Obstacle avoidance Summary Chapter 7: A* Pathfinding Technical requirements Revisiting the A* algorithm Implementing the A* algorithm Node PriorityQueue The GridManager class The AStar class The TestCode class Setting up the scene Testing the pathfinder Summary Chapter 8: Navigation Mesh Technical requirements Setting up the map Navigation static Baking the NavMesh NavMesh agent Updating an agent's destinations Setting up a scene with slopes Baking navigation areas with different costs Using Off Mesh Links to connect gaps between areas Generated Off Mesh Links Manual Off Mesh Links Summary Part 3:Advanced AI Chapter 9: Behavior Trees Technical requirements Introduction to BTs A simple example – a patrolling robot Implementing a BT in Unity with Behavior Bricks Set up the scene Implement a day/night cycle Design the enemy behavior Implementing the nodes Building the tree Attach the BT to the enemy Summary Further reading Chapter 10: Procedural Content Generation Technical requirements Understanding Procedural Content Generation in games Kinds of Procedural Content Generation Implementing a simple goblin name generator Generating goblin names Completing the goblin description Learning how to use Perlin noise Built-in Unity Perlin noise Generating random maps and caves Cellular automata Implementing a cave generator Rendering the generated cave Summary Further reading Chapter 11: Machine Learning in Unity Technical requirements The Unity Machine Learning Agents Toolkit Installing the ML-Agents Toolkit Installing Python and PyTorch on Windows Installing Python and PyTorch on macOS and Unix-like systems Using the ML-Agents Toolkit – a basic example Creating the scene Implementing the code Adding the final touches Testing the learning environment Training an agent Summary Further reading Chapter 12: Putting It All Together Technical requirements Developing the basic game structure Adding automated navigation Creating the NavMesh Setting up the Agent Fixing the GameManager script Creating decision-making AI with FSM Summary Why subscribe? Other Books You May Enjoy Packt is searching for authors like you Share Your Thoughts
Donate to keep this site alive
How to download source code?
1. Go to: https://github.com/PacktPublishing
2. In the Find a repository… box, search the book title: Unity Artificial Intelligence Programming: Add powerful, believable, and fun AI entities in your game with the power of Unity, 5th Edition
, sometime you may not get the results, please search the main title.
3. Click the book title in the search results.
3. Click Code to download.
1. Disable the AdBlock plugin. Otherwise, you may not get any links.
2. Solve the CAPTCHA.
3. Click download link.
4. Lead to download server to download.