Programming Game AI by Example
Date de publication : 10/05/2006 , Date de mise à jour : 27/09/2006
Par
Matthieu Brucher (http://matthieu-brucher.developpez.com/) (Blog)
Critique de de
I. Description
II. Table des matières
III. Critique : un bon début pour l'AI des jeux
IV. Liens annexes
I. Description
Programming Game AI by Example fournit une introduction compréhensible et pratique aux techniques d'intelligence artificielle utilisées dans l'industrie du jeu vidéo, conduisant le lecteur à travers le processus de designer, programmer et implémenter des agents intelligents pour les jeux d'actions en utilisant le langage de programmation C++.
Les techniques couvertes couvrent le comportement par état ou par but, la communication inter-agents, les comportements individuels et de groupes, l'intelligence artificielle de groupe, la théorie des graphes, la recherche de chemins et l'optimisation, les déclencheurs, les machines à états finis scriptées, les modèles perceptuels, l'évaluation de buts, l'arbitrage entre buts et la logique floue.
II. Table des matières
- Chapter 1: A Math and Physics Primer
- Mathematics
- Physics
- Summing Up
- Simplification of Equation (1.90)
- Chapter 2: State-Driven Agent Design
- What Exactly Is a Finite State Machine?
- Implementing a Finite State Machine
- The West World Project
- Making the State Base Class Reusable
- Global States and State Blips
- Creating a State Machine Class
- Introducing Elsa
- Adding Messaging Capabilities to Your FSM
- Summing Up
- Practice Makes Perfect
- Chapter 3: How to Create Autonomously Moving Game Agents
- What Is an Autonomous Agent?
- The Vehicle Model
- The Steering Behaviors
- Group Behaviors
- Combining Steering Behaviors
- Ensuring Zero Overlap
- Coping with Lots of Vehicles: Spatial Partitioning
- Smoothing
- Practice Makes Perfect
- Chapter 4: Sports Simulation-Simple Soccer
- The Simple Soccer Environment and Rules
- Designing the AI
- Making Assumptions and Estimates Work for You
- Summing Up
- Practice Makes Perfect
- Chapter 5: The Secret Life of Graphs
- Graphs
- Implementing a Graph Class
- Graph Search Algorithms
- Summing Up
- Practice Makes Perfect
- Chapter 6: To Script, or Not to Script-That Is the Question
- Just What Is a Scripting Language?
- What a Scripting Language Can Do for You
- Scripting in Lua
- Creating a Scripted Finite State Machine
- Useful URLs
- It Doesn't All Smell of Roses
- Summing Up
- Chapter 7: Raven: An Overview
- The Game
- Overview of the Game Architecture
- AI Design Considerations
- AI Implementation
- Summary
- Practice Makes Perfect
- Chapter 8: Practical Path Planning
- Navigation Graph Construction
- The Raven Navigation Graph
- Creating a Path Planner Class
- Paths as Nodes or Paths as Edges?
- Getting Out of Stick Situations
- Summary
- Practice Makes Perfect
- Chapter 9: Goal Driven Agent Behavior
- The Return of Eric the Brave
- Implementation
- Examples of Goals Used by Raven Bots
- Goal Arbitration
- Spin-offs
- Summary
- Practice Makes Perfect
- Chapter 10: Fuzzy Logic
- Crisp Sets
- Fuzzy Sets
- Fuzzy Linguistic Variables
- Fuzzy Rules
- From Theory to Application: Coding a Fuzzy Logic Module
- How Raven Uses the Fuzzy Logic Classes
- The Combs Method
- Practice Makes Perfect
- Appendix A: C++ Templates
- Function Templates
- Class Templates
- Linker Confusion
- Appendix B: UML Class Diagrams
- Class Names, Attributes, and Operations
- Visibility of Attributes and Operations
- Relationships
- Notes
- Summing Up
- Appendix C: Setting Up Your Development Environment
III. Critique : un bon début pour l'AI des jeux
Un vrai régal, ce serait le résumé le plus concis qu'on puisse en faire. Dans ce livre, Mat Buckland nous entraîne dans l'intelligence artificielle pour jeux et les exemples qu'il donne sont compréhensibles et faciles à suivre. Pour les machines à état, il prend l'exemple d'un mineur qui gagne sa vie dans les mines et qui va au bar, chez lui, ... Après, on rajoute sa femme et on regarde comment ils peuvent communiquer.
Les 2 gros exemples sont un mini-jeu de foot basé sur les machines à état tandis que le dernier est un mini FPS autonome où les bots ont différents objectifs selon leur état de santé, leurs munitions, ... Et franchement, c'est super. On voit une application directe de ce qu'on nous apprend, et même les schémas UML sont clairs car succints et limités à une partie, comme un bot, la balle de foot, ... Les scripts sont abordés avec le langage LUA et ses liens possibles avec le C++, c'est bien fait, on comprend un peu mieux comment c'est possible de scripter certaines parties de son code, même s'il est aussi indiqué que tout mettre dans le script est à proscrire, évidemment.
C'est un livre de chevet idéal pour qui veut commencer à comprendre comment créer une intelligence artificielle. Naturellement, ce sont des techniques simples qui sont exposées, mais il faut commencer par de bonnes bases pour aller loin.
IV. Liens annexes
Copyright © 2006 Matthieu Brucher.
Aucune reproduction, même partielle, ne peut être faite
de ce site ni de l'ensemble de son contenu : textes, documents, images, etc.
sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à
trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.