AI GFX Topic Genre All
 
State of the Industry
Architecture
State Machines
Learning
Scripting
A* Pathfinding
Pathfinding / Movement
Flocking / Formations / Coordinated Movement
Multi-Agent Cooperation
Strategy / Tactical
Animation Control
Camera Control
Randomness
Player Prediction
Fuzzy Logic
Neural Nets
Genetic Algorithms
Natural Language Processing
AI Game Programming Wisdom
AI Game Programming Wisdom 2
Game Programming Gems
Game Programming Gems 2
Game Programming Gems 3
Game Programming Gems 4
GDC Proceedings
Game Developer Magazine
Gamasutra


Home    By Topic    By Genre    All Articles    Contact

Game Programming Gems 2
Contains 14 game AI articles.

Managing AI with Micro-Threads

Simon Carter (Big Blue Box Studios)
Game Programming Gems 2, 2001.
Topics: Architecture; Genres: General
Abstract:

Micro-Threads for Game Object AI

Bruce Dawson (Humongous Entertainment)
Game Programming Gems 2, 2001.
Topics: Architecture; Genres: General
Abstract: Presents code and concepts to create hundreds of low-overhead threads by manipulating the stack. This technique has notable benefits in terms of AI load balancing and the author has implemented the architecture on systems ranging from the PC to the GameBoy.

A Generic Fuzzy State Machine in C++

Eric Dybsand (Glacier Edge Technology)
Game Programming Gems 2, 2001.
Topics: Fuzzy Logic, FSM, State Machines; Genres: General
Abstract: Fuzzy Logic provides an attractive alternative to more crisp forms of finite state decision making. This article builds on the presentation of the Finite-State Machine class from the first Game Programming Gems book, by introducing a generic Fuzzy-State Machine class in C++. The concepts of fuzzy logic are presented and an example of applicability for computer game AI is offered. The FSMclass and FSMstate classes from the first GEMS book are converted into fuzzy logic versions, and source code is provided for review.

Using a Neural Network in a Game: A Concrete Example

John Manslow
Game Programming Gems 2, 2001.
Topics: Neural Networks, Learning; Genres: General
Abstract: Neural networks are a powerful artificial intelligence technique that are based on an abstraction of the neurocomputational functions of the human brain. One of their most important characteristics is that they can learn by example, and do not need to be programmed in the conventional sense. For example, Codemasters (the developers of Colin McRae Rally 2.0) discovered that a neural network could learn how to drive a rally car by imitating the developers' play, thus avoiding the need to construct a complex set of rules. This article guides the reader through all the steps that are necessary to incorporate neural networks into their own game. Assuming no prior understanding, the article presents a case study of applying one of the most popular, easy to use, and effective neural networks, the multilayer perceptron, to a real game. All the steps required for successful neural network development are described, as are the most common problems, and their solutions. The CD that accompanies the book includes all the source code for the game, and the neural network class that lies at the heart of its AI. The class is designed to be used as a drop-in module in other games and hence contains no application specific code.

A High-Performance Tile-based Line-of-Sight and Search system
Matt Pritchard (Ensemble Studios)
Game Programming Gems 2, 2001.
Topics: Movement, Sensory; Genres: RTS
Abstract:

An Architecture for RTS Command Queuing
Steve Rabin (Nintendo of America)
Game Programming Gems 2, 2001.
Topics: Movement; Genres: RTS
Abstract: Explains the concept of Command Queuing in an RTS along with several ways to implement it. Command Queuing is the idea that the player should be able to queue up any sequence of command orders (Move, Attack, Patrol, Repair, etc) for a particular unit. Some commands that cycle, such as Patrol, present specific challanges in order to acheive the right behavior. Solutions to these difficulties are discussed along with detailed diagrams.

Stratagies for Optimizing AI
Steve Rabin (Nintendo of America)
Game Programming Gems 2, 2001.
Topics: Architecture, Optimization; Genres: General
Abstract: Presents 11 strategies for optimizing AI, along with tips and examples for each.
1. Use event-driven behavior rather than polling.
2. Reduce redundant calculations.
3. Centralize cooperation with managers.
4. Run the AI less often.
5. Distribute the processing over several frames.
6. Employ level-of-detail AI.
7. Solve only part of the problem.
8. Do the hard work offline.
9. Use emergent behavior to avoid scripting.
10. Amortize query costs with continuous bookkeeping.
11. Rethink the problem.

Influence Mapping
Paul Tozour (Ion Storm Austin)
Game Programming Gems 2, 2001.
Topics: Tactical; Genres: RTS, Strategy
Abstract: Influence mapping is a powerful and proven AI technique for reasoning about the world on a spatial level. Although influence maps are most often used in strategy games, they have many uses in other genres as well. Among other things, an influence map allows your AI to assess the major areas of control by different factions, precisely identify the boundary of control between opposing forces, identify "choke points" in the terrain, determine which areas require further exploration, and inform the base-construction AI systems to allow you to place buildings in the most appropriate locations.

Strategic Assessment Techniques
Paul Tozour (Ion Storm Austin)
Game Programming Gems 2, 2001.
Topics: Tactical; Genres: RTS, Strategy
Abstract: This article discusses two useful techniques for strategic decision-making. These are easiest to understand in the context of strategy game AI, but they have applications to other game genres as well. The resource allocation tree describes a data structure that allows an AI system to continuously compare its desired resource allocation to its actual current resources in order to determine what to build or purchase next. The dependency graph is a data structure that represents a game's "tech tree," and we discuss a number of ways that an AI can perform inference on the dependency graph in order to construct long-term strategic plans and perform human-like reasoning about what its opponents are attempting to accomplish.

Terrain Reasoning for 3D Action Games
William van der Sterren (CGF-AI)
Game Programming Gems 2, 2001.
Topics: Tactical, Movement; Genres: Action, FPS
Abstract:

Flocking with Teeth: Predators and Prey

Steven Woodcock (Wyrd Wyrks)
Game Programming Gems 2, 2001.
Topics: Flocking, Movement; Genres: General
Abstract:

Expanded Geometry for Points-of-Visibility Pathfinding
Thomas Young
Game Programming Gems 2, 2001.
Topics: Movement, Pathfinding; Genres: General
Abstract:

Optimizing Points-of-Visibility Pathfinding
Thomas Young
Game Programming Gems 2, 2001.
Topics: Movement, Pathfinding; Genres: General
Abstract:

Imploding Combinatorial Explosion in a Fuzzy System
Michael Zarozinski (Louder Than A Bomb! Software)
Game Programming Gems 2, 2001.
Topics: Fuzzy Logic; Genres: General
Abstract: As a fuzzy logic systems grow, the number of rules needed for the system grows exponentally. This is know as combinatorial explosion and can quickly make fuzzy systems slow, confusing, and difficult to maintain. This article clearly explains the Combs Method which turns the rule's exponential growth into linear growth! System with 10 variables and 5 sets per variable require only 50 rules using the Combs Methos, as opposed to 9,765,625 rules using traditional fuzzy logic methods. This article explains what can be a confusing topic in a clear and concise manner, a proof of the Combs Method is included for the curious reader.

 
Survey of best prices
Survey of best prices
AI Game Programming Wisdom

AI Game Programming Wisdom 2

Game
Programming
Gems


Game
Programming
Gems 2


Game
Programming
Gems 3


Game
Programming
Gems 4



Home