AI for Game Developers - Helion
ISBN: 978-14-919-0010-9
stron: 392, Format: ebook
Data wydania: 2004-07-23
Księgarnia: Helion
Cena książki: 118,15 zł (poprzednio: 137,38 zł)
Oszczędzasz: 14% (-19,23 zł)
Advances in 3D visualization and physics-based simulation technology make it possible for game developers to create compelling, visually immersive gaming environments that were only dreamed of years ago. But today's game players have grown in sophistication along with the games they play. It's no longer enough to wow your players with dazzling graphics; the next step in creating even more immersive games is improved artificial intelligence, or AI.
Fortunately, advanced AI game techniques are within the grasp of every game developer--not just those who dedicate their careers to AI. If you're new to game programming or if you're an experienced game programmer who needs to get up to speed quickly on AI techniques, you'll find AI for Game Developers to be the perfect starting point for understanding and applying AI techniques to your games.
Written for the novice AI programmer, AI for Game Developers introduces you to techniques such as finite state machines, fuzzy logic, neural networks, and many others, in straightforward, easy-to-understand language, supported with code samples throughout the entire book (written in C/C++). From basic techniques such as chasing and evading, pattern movement, and flocking to genetic algorithms, the book presents a mix of deterministic (traditional) and non-deterministic (newer) AI techniques aimed squarely at beginners AI developers. Other topics covered in the book include:
- Potential function based movements: a technique that handles chasing, evading swarming, and collision avoidance simultaneously
- Basic pathfinding and waypoints, including an entire chapter devoted to the A* pathfinding algorithm
- AI scripting
- Rule-based AI: learn about variants other than fuzzy logic and finite state machines
- Basic probability
- Bayesian techniques
Osoby które kupowały "AI for Game Developers", wybierały także:
- Tworzenie gier w języku HTML5 dla profesjonalistów. Wydanie II 67,42 zł, (20,90 zł -69%)
- GameMaker. Kurs video. Kompleksowy przewodnik tworzenia gier platformowych 154,58 zł, (55,65 zł -64%)
- Gry Unity i Facebook. Efektywna integracja, budowanie zasięgu i popularności. Kurs video 47,93 zł, (22,05 zł -54%)
- Unity. Kurs video. Poziom drugi. Tworzenie gier komputerowych 3D 47,93 zł, (22,05 zł -54%)
- Unity. Kurs video. Poziom pierwszy. Tworzenie gier komputerowych 3D 47,93 zł, (22,05 zł -54%)
Spis treści
AI for Game Developers. Creating Intelligent Behavior in Games eBook -- spis treści
- AI for Game Developers
- A Note Regarding Supplemental Files
- Preface
- Assumptions This Book Makes
- About This Book
- Conventions Used in This Book
- Additional Resources
- Using Code Examples
- How to Contact Us
- Acknowledgments
- 1. Introduction to Game AI
- Deterministic Versus Nondeterministic AI
- Established Game AI
- The Future of Game AI
- 2. Chasing and Evading
- Basic Chasing and Evading
- Line-of-Sight Chasing
- Line-of-Sight Chasing in Tiled Environments
- Line-of-Sight Chasing in Continuous Environments
- Intercepting
- 3. Pattern Movement
- Standard Algorithm
- Pattern Movement in Tiled Environments
- Pattern Movement in Physically Simulated Environments
- Control Structures
- Pattern Definition
- Executing the Patterns
- DoPattern Function
- Results
- 4. Flocking
- Classic Flocking
- Flocking Example
- Steering Model
- Neighbors
- Cohesion
- Alignment
- Separation
- Obstacle Avoidance
- Follow the Leader
- 5. Potential Function-Based Movement
- How Can You Use Potential Functions for Game AI?
- So, What Is a Potential Function?
- Chasing/Evading
- Obstacle Avoidance
- Swarming
- Optimization Suggestions
- How Can You Use Potential Functions for Game AI?
- 6. Basic Pathfinding and Waypoints
- Basic Pathfinding
- Random Movement Obstacle Avoidance
- Tracing Around Obstacles
- Breadcrumb Pathfinding
- Path Following
- Wall Tracing
- Waypoint Navigation
- Basic Pathfinding
- 7. A Pathfinding
- Defining the Search Area
- Starting the Search
- Scoring
- Finding a Dead End
- Terrain Cost
- Influence Mapping
- Further Information
- 8. Scripted AI and Scripting Engines
- Scripting Techniques
- Scripting Opponent Attributes
- Basic Script Parsing
- Scripting Opponent Behavior
- Scripting Verbal Interaction
- Scripting Events
- Further Information
- 9. Finite State Machines
- Basic State Machine Model
- Finite State Machine Design
- Finite State Machine Structures and Classes
- Finite State Machine Behavior and Transition Functions
- Ant Example
- Finite State Machine Classes and Structures
- Defining the Simulation World
- Populating the World
- Updating the World
- Forage
- GoHome
- Thirsty
- The Results
- Further Information
- 10. Fuzzy Logic
- How Can You Use Fuzzy Logic in Games?
- Control
- Threat Assessment
- Classification
- Fuzzy Logic Basics
- Overview
- Fuzzification
- Membership Functions
- Hedges
- Fuzzy Rules
- Fuzzy Axioms
- Rule Evaluation
- Defuzzification
- Control Example
- Threat Assessment Example
- How Can You Use Fuzzy Logic in Games?
- 11. Rule-Based AI
- Rule-Based System Basics
- Inference in Rule-Based Systems
- Forward Chaining
- Backward Chaining
- Inference in Rule-Based Systems
- Fighting Game Strike Prediction
- Working Memory
- Rules
- Initialization
- Strike Prediction
- Part 1
- Part 2
- Part 3
- Further Information
- Rule-Based System Basics
- 12. Basic Probability
- How Do You Use Probability in Games?
- Randomness
- Hit Probabilities
- Character Abilities
- State Transitions
- Adaptability
- What is Probability?
- Classical Probability
- Frequency Interpretation
- Subjective Interpretation
- Odds
- Expectation
- Techniques for Assigning Subjective Probability
- Probability Rules
- Rule 1
- Rule 2
- Rule 3
- Rule 4
- Rule 5
- Rule 6
- Conditional Probability
- How Do You Use Probability in Games?
- 13. Decisions Under UncertaintyBayesian Techniques
- What is a Bayesian Network?
- Structure
- Inference
- Trapped?
- Tree Diagram
- Determining Probabilities
- Making Inferences
- Using Fuzzy Logic
- Treasure?
- Alternative Model
- Making Inferences
- Numerical Example
- By Air or Land
- The Model
- Calculating Probabilities
- Numerical Example
- Kung Fu Fighting
- The Model
- Calculating Probabilities
- Strike Prediction
- Bookkeeping
- Making the Prediction
- Further Information
- What is a Bayesian Network?
- 14. Neural Networks
- Control
- Threat Assessment
- Attack or Flee
- Dissecting Neural Networks
- Structure
- Input
- Input: What and How Many?
- Input: What Form?
- Weights
- Activation Functions
- Bias
- Output
- The Hidden Layer
- Training
- Back-Propagation Training
- Computing Error
- Adjusting Weights
- Momentum
- Back-Propagation Training
- Neural Network Source Code
- The Layer Class
- The Neural Network Class
- Chasing and Evading with Brains
- Initialization and Training
- Learning
- Further Information
- 15. Genetic Algorithms
- Evolutionary Process
- First Generation
- Ranking Fitness
- Selection
- Evolution
- Evolving Plant Life
- Encoding the Flower Data
- First Flower Generation
- Ranking Flower Fitness
- Evolving the Flowers
- Genetics in Game Development
- Role-Playing Example
- Encoding the Data
- The First Generation
- Ranking Fitness
- Selection
- Evolution
- Further Information
- Evolutionary Process
- A. Vector Operations
- Vector Class
- Magnitude
- Normalize
- Reverse
- Vector Addition: The += Operator
- Vector Subtraction: The = Operator
- Scalar Multiplication: The = Operator
- Scalar Division: The /= Operator
- Conjugate: The Operator
- Vector Functions and Operators
- Vector Addition: The + Operator
- Vector Subtraction: The Operator
- Vector Cross Product: The Operator
- Vector Dot Product: The * Operator
- Scalar Multiplication: The * Operator
- Scalar Division: The / Operator
- Triple Scalar Product
- About the Authors
- Colophon
- Copyright