My Account Log in

3 options

Unity Artificial Intelligence Programming : Add Powerful, Believable, and Fun AI Entities in Your Game with the Power of Unity / Davide Aversa.

EBSCOhost Academic eBook Collection (North America) Available online

View online

Ebook Central College Complete Available online

View online

O'Reilly Online Learning: Academic/Public Library Edition Available online

View online
Format:
Book
Author/Creator:
Aversa, Davide, author.
Language:
English
Subjects (All):
Video games--Development.
Video games.
Video games--Programming.
Physical Description:
1 online resource (309 pages)
Edition:
5th ed.
Distribution:
London : Bloomsbury Publishing (UK), 2024.
Place of Publication:
Birmingham : Packt Publishing, 2022.
System Details:
Mode of access: World Wide Web.
text file HTML
Biography/History:
Davide Aversa Dr. : Dr. Davide Aversa holds a PhD in Artificial Intelligence (AI) and an MSc in AI and robotics from the University of Rome La Sapienza in Italy. He has a strong interest in AI for the development of interactive virtual agents and procedural content generation. He has served as a program committee member for video game-related conferences such as the IEEE conference on computational intelligence and games, and he also regularly participates in game-jam contests. He also writes a blog on game design and game development.
Summary:
Developing artificial intelligence (AI) for game characters in Unity 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.
Contents:
Cover
Title
Copyright and Credits
Table of Contents
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
Chapter 3: Randomness and Probability
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
Further reading
Chapter 4: 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
Part 2: Movement and Navigation
Chapter 5: Flocking
Technical requirements.
Basic flocking behavior
Individual behavior
Controller
Alternative implementation
FlockController
Chapter 6: Path Following and Steering Behaviors
Chapter 7: 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
Chapter 8: Navigation Mesh
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
Part 3: Advanced AI
Chapter 9: Behavior Trees
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
Chapter 10: Procedural Content Generation
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
Chapter 11: Machine Learning in Unity
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
Chapter 12: Putting It All Together
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
Index.
Notes:
Includes index.
Includes bibliographical references and index.
ISBN:
9781523151462
1523151463
9781803245218
1803245212
OCLC:
1308985626

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

Find

Home Release notes

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Find catalog Using Articles+ Using your account