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 4

Third-Person Camera Navigation
Jonathan Stone (Double Fine Productions)
Game Programming Gems 4, 2004.
Topics: Camera; Genres: Action
Abstract: For complex scenes, we must overcome some significant technical challenges to make a third-person camera interact smoothly with the world. While this problem can be solved by simply limiting the camera to fixed positions or predetermined paths, these solutions restrict the user's ability to explore freely. To allow unrestricted exploration of complex environments, it's necessary to design a dynamic and user-controllable camera. In this article, we outline a basic set of steps for building a dynamic third-person camera system, and describe a number of solutions for the trickier problems of scene-bounding and occlusion that arise in the camera's navigation of the scene.

Narrative Combat: Using AI to Enhance Tension in an Action Game
Borut Pfeifer (Radical Entertainment)
Game Programming Gems 4, 2004.
Topics: General; Genres: General
Abstract: This article discusses the creation of an AI system that can modulate difficulty and pacing for an action game. In addition to combining strongly paced elements wtih replayability and more freeform gameplay, it becomes much easier for a designer to create a well-paced level. This is because the system only requires a designer's guidelines for the overall difficulty of a particular area, while in most games, designers must extensively tweak enemy positions, spawn points, weapons, timing issues, and more to accomplish the same task. Adjusting for the player's skill level also avoids the common problem in which designers tune gameplay to their own skill level, rather than the typical user's skill level. As a result, the game becomes much too difficult for the average player. Adjusting for a player's skill allows for more seamless transitions between difficulty levels when the pacing changes.

NPC Decision Making: Dealing with Randomness

Karén Pivazyan (Stanford University)
Game Programming Gems 4, 2004.
Topics: Randomness; Genres: General
Abstract: In this article, we describe an algorithm for solving multistep decision problems with randomness. The basic algorithm is called dynamic programming, or DP. Various versions of DP have been successfully used to build an excellent Tetris player and train a world-class backgammon player.

An Object-Oriented Utility-Based Decision Architecture
John Hancock (Lucas Arts)
Game Programming Gems 4, 2004.
Topics: Architecture; Genres: General
Abstract: This article presents an object-oriented utility-based decision architecture that has signficant advantages over explicit decision tree architectures in terms of flexibility and maintainability. The principles described in this article derive from decision theory literature and have been applied in many situations, including the weapon selection AI in the real-time strategy game Star Wars: Obi-Wan. Like traditional AI expert systems, this architecture often derives its intelligence by encoding human knowledge in the form of heuristic rules.

A Distributed-Reasoning Voting Architecture
John Hancock (Lucas Arts)
Game Programming Gems 4, 2004.
Topics: Architecture; Genres: General
Abstract: This article discusses an alternative AI architecture composed of multiple independent reasoning modules, henceforth called advisors, plus an arbiter that performs command fusion on the inputs from the advisors. This voting-based architecture is easy to use, easy to implement, and easy to maintain.

Attractors and Repulsors
John Olsen (Microsoft)
Game Programming Gems 4, 2004.
Topics: Pathfinding, Movement, Flocking; Genres: General
Abstract: Helping your AI-controlled entities know what to stay close to and what to avoid can go a long way in helping to generate realistic simulated behaviors. A large part of tasks such as walking through a crowd, racing down a track, or flying through space consists of staying close to some objects and avoiding others. Attractors and repulsors can be used for many purposes, including simulating flocking behaviors, collision avoidance for racing, and tracking opponents in 2D or 3D environments. We can build attraction curves - functions that determine the level of push and pull between objects - to influence the movement of our AI-controlled objects. We can also combine simple curves into more complex composite curves to build interesting emergent behaviors.

Advanced Wall Building for RTS Games
Mario Grimani (Sony Online Entertainment)
Game Programming Gems 4, 2004.
Topics: General; Genres: RTS
Abstract: Most real-time strategy (RTS) games include walls or similar passive defensive structures that act as barriers against enemy unit movement. Having an automated wall-building algorithm increases the competitiveness of nonplayer character opponents and provides a useful addition to random map generation. The original wall-building article presented a basic algorithm and discussed a few potential improvements. In this article, we will implement all of the suggested improvements and deal with more advanced issues like walling off cities, reusing existing walls, destructible natural barriers, and walling off shorelines.

Artificial Neural Networks on Programmable Graphics Hardware
Thomas Rolfes
Game Programming Gems 4, 2004.
Topics: Neural Networks; Genres: General
Abstract: This article shows how an artificial neural network can be implemented using a GPU-based BLAS level 3 style single-percision general matrix-matrix product (SGEMM) and an activation function pixel shader under Direct3D, version 9.

 
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