Unity Artificial Intelligence Programming Add Powerful, Believable, and Fun AI Entities in Your Game with the Power of Unity
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 f...
Otros Autores: | |
---|---|
Formato: | Libro electrónico |
Idioma: | Inglés |
Publicado: |
Birmingham :
Packt Publishing
2022.
|
Edición: | 5th ed |
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009657439206719 |
Tabla de Contenidos:
- 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
- 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
- Scene setup
- The player's tank and the aspect class
- The player's tank
- Aspect
- AI characters
- Sense
- Sight
- Touch
- Testing
- 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
- 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
- Index.