Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Title Page
Copyright and Credits
Unity Artificial Intelligence Programming Fourth Edition
HumbleBundle
Dedication
About Packt
Why subscribe?
Packt.com
Contributors
About the authors
About the reviewer
Packt is searching for authors like you
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
Reviews
Introduction to AI
Artificial Intelligence (AI)
AI in games
AI techniques
Finite State Machines (FSMs)
Random and probability in AI
The sensor system
Polling
The messaging system
Flocking, swarming, and herding
Path following and steering
A* pathfinding
A navigation mesh
The behavior trees
Locomotion
Summary
Finite State Machines
The player's tank
Initialization
Shooting bullet
Controlling the tank
The Bullet class
Setting up waypoints
The abstract FSM class
The enemy tank AI
The Patrol state
The Chase state
The Attack state
The Dead state
Taking damage
Using an FSM framework
The AdvanceFSM class
The FSMState class
The state classes
The PatrolState class
The NPCTankController class
Summary
Randomness and Probability
Randomness in games
Randomness in computer science
The Unity Random class
Simple random dice game
Definitions of probability
Independent and related events
Conditional probability
Loaded dice
Character personalities
FSM with probability
Dynamic AI
Demo slot machine
Random slot machine
Weighted probability
Near miss
Summary
Further reading
Implementing Sensors
Basic sensory systems
Scene setup
The player's tank and the aspect class
The player's tank
Aspect
AI characters
Sense
Sight
Touch
Testing
Summary
Flocking
Basic flocking behavior
Individual behavior
Controller
Alternative implementation
FlockController
Summary
Path-Following and Steering Behaviors
Following a path
Path script
Path-following agents
Avoiding obstacles
Adding a custom layer
Obstacle avoidance
Summary
A* Pathfinding
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
Navigation Mesh
Setting up the map
Navigation static
Baking the navigation mesh
NavMesh agent
Updating an agents' destinations
The Target.cs class
Scene with slope
Navigation areas
Off Mesh Links
Generated Off Mesh Links
Manual Off Mesh Links
Summary
Behavior Trees
Introduction to Behavior Trees
A simple example – patrolling robot
Implementing a BT in Unity with Behavior Bricks
Set up the scene
Implement a Day/Night cycle
Design the Enemy Behavior
Implement the Nodes
Building the Tree
Attach the BT to the Enemy
Summary
External Resources
Machine Learning in Unity
The Unity Machine Learning Agents Toolkit
How to install the ML-Agents Toolkit
Installing Python and TensorFlow on Windows
Installing Python and TensorFlow on macOS and Unix-like systems
Using the ML-Agents Toolkit – a basic example
Creating the scene
Implementing the code
Adding the final touches
Training a Brain object
Training the agent
Summary
Further reading
Putting It All Together
Basic game structure
Adding automated navigation
Creating the NavMesh
Setting up the agent
Fixing the GameManager script
Creating decision-making AI with FSM
Summary
Other Books You May Enjoy
Leave a review - let other readers know what you think
← Prev
Back
Next →
← Prev
Back
Next →