AI GFX Topic Genre All
 
Real-Time Strategy
Adventure /
Role-Playing Games

Action /
First-Person Shooters

Racing Games
Sports Games
Board Games
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
Action / First-Person Shooters


The Making of the Official Counter-Strike Bot
Michael Booth (Turtle Rock Studios)
Game Developers Conference, 2004.
Abstract: This lecture addresses the technical and design issues critical to the success of the official Counter- Strike bot, the most advanced FPS tactical multiplayer AI to date. The official Counter-Strike bot has received an enthusiastic reception from both newbies and veterans of the Counter-Strike community, largely due to the fact that it plays the game in a very believable, human-like fashion. The bots put on a "performance" that results in players feeling they are fighting against (and with) "worthwhile" opponents. Achieving this level of suspension of disbelief requires more than technical AI coding ability. It requires a thorough understanding of the game, insight into human limitations such as reaction times and attention prioritization, and a holistic sense of how to create a fun and believable "performance" from these disparate parts.

True Crime: Streets of L.A.-Bringing Crime to the City of Angels
Jeff Lander, Nick Marks, Richard Yeh (Luxoflux)
Game Developers Conference, 2004.
Abstract: In the recently released game, True Crime: Streets of L.A., we created a 240 square mile city that players could explore from end to end. We then had to fill it with citizens and not a small amount of criminal activity. This session discusses the techniques we used and the problems we encountered in bringing the city to life. We needed to create a character system that would seamlessly blend innocent character behaviors with a complete fighting and shooting techniques. The design also relied heavily on both scripted and emergent behavior as a core part of gameplay both out in the city and in the interior set pieces. Showing the action also depended on the interaction of a variety of camera models. Key topics in the session will be character animation and behavioral AI, interaction between kinematic objects and the physics system, real-time cinematography, and collision detection and testing.

A Subsumption Architecture For Character-Based Games
Eric Yiskis (Sammy Studios)
AI Game Programming Wisdom 2, 2003.
Topics: Architecture; Genres: Action
Abstract: The Subsumption Architecture was invented in 1986 by Rodney Brooks to give robust real-world behavior to robots. The technique works equally well for the "virtual robots" of the video game world. It cleanly decomposes the implementation of an AI driven character into concurrently executing layers of finite state machines (FSMs). Lower layers take care of immediate goals; upper layers take care of long-term goals. The architecture solves three major problems with character AI: minor setbacks causing a character to lose focus on a long term goal, characters getting stuck on a goal that is no longer relevant, and robust handling of animation and character physics.

Using a Spatial Database for Runtime Spatial Analysis
Paul Tozour (Retro Studios)
AI Game Programming Wisdom 2, 2003.
Topics: Architecture; Genres: FPS
Abstract: AI developers have employed a number of different techniques for performing spatial reasoning about a game world using precomputed "hints" placed by level designers or automated game-world analysis tools. However, as game worlds increasingly feature larger numbers of AI characters and moveable physically-modeled objects, it becomes increasingly important to model the ways that the dynamic aspects of the ever-changing game world influence an AI's spatial reasoning. We discuss a spatial database technique that allows you to perform spatial reasoning about any number of different factors that can potentially affect an AI agent's reasoning about the game environment and techniques for combining multiple factors together to construct desirability heuristics. A spatial database can also allow you to implicitly coordinate the activities of multiple AI agents simply by virtue of sharing the same data structure.

Constraining Autonomous Character Behavior with Human Concepts
Jeff Orkin (Monolith Productions)
AI Game Programming Wisdom 2, 2003.
Topics: General; Genres: General, FPS
Abstract: A current trend in Game AI is the move from scripted to autonomous character behavior. Autonomous behavior offers several benefits. Autonomous characters can handle unexpected events that a script might not have anticipated, producing emergent gameplay. Level designers can focus on creating worlds packed with opportunities for characters to showcase their behaviors, rather than getting bogged down scripting the actions of individual characters. Various articles have described how to design goal-based autonomous behavior, where characters select the most relevant behavior based on their desires, sensory input, and proximity to objects of interest. In theory it sounds simple enough to drop a character with a palette of goals into a level filled with tagged objects, and let him take care of himself. In practice, there are many additional factors that need to be considered to get believable behavior from an autonomous character. This article presents a number of factors that should be considered as inputs into the relevancy calculation of a character's goals, in order to produce the most believable decisions. These factors are based on findings encountered during the developement of Monolith Production's No One Lives Forever 2: A Spy in H.A.R.M.'s Way.

Simple Techniques for Coordinated Behavior
Jeff Orkin (Monolith Productions)
AI Game Programming Wisdom 2, 2003.
Topics: Strategy, Tactical, Coordinated Movement, Cooperation; Genres: FPS, Action
Abstract: There are a number of common problems that arise when developing AI systems for combat with multiple enemies. Agents block each other�s line of fire. Agents follow the exact same path to a target, and often clump up at a destination. Some agents are oblivious to a threat while others nearby are getting shot or even killed. Multiple agents decide to do the exact same action or animation simultaneously. It would seem that a group behavior layer of complex higher-level reasoning would be needed to solve these problems. In fact, these problems can be solved with simple techniques that use existing systems and leverage information that individual agents already have. This article describes simple techniques that can be used to solve coordination problems, using examples from Monolith Productions' "No One Lives Forever 2: A Spy in H.A.R.M.'s Way."

Team Member AI in an FPS

John Reynolds (Creative Asylum Ltd.)
AI Game Programming Wisdom 2, 2003.
Topics: Strategy, Tactical, Coordinated Movement, Cooperation; Genres: FPS, Action
Abstract: The use of teammates has become very popular among the first and third person action genres in recent years, in both the simulation and arcade sub-genres. However, implementing convincing teammates who will not run in your path while you are shooting, nor disappear into a far corner of the map, is quite an involved process. By implementing some key rules it is possible to create teammates who can usefully back you up in the thick of the action, follow instructions reliably, and survive with you until the end of the game.

Applying Goal-Oriented Action Planning to Games
Jeff Orkin (Monolith Productions)
AI Game Programming Wisdom 2, 2003.
Topics: Strategy, Planning; Genres: Strategy, RTS, FPS, Action
Abstract: A number of games have implemented characters with goal directed decision-making capabilities. A goal-directed character displays some measure of intelligence by autonomously deciding to activate the behavior that will satisfy the most relevant goal at any instance. Goal-Oriented Action Planning (GOAP) is a decision-making architecture that takes the next step, and allows characters to decide not only what to do, but how to do it. A character that formulates his own plan to satisfy his goals exhibits less repetitive, predictable behavior, and can adapt his actions to custom fit his current situation. In addition, the structured nature of a GOAP architecture facilitates authoring, maintaining, and re-using behaviors. This article explores how games can benefit from the addition of a real-time planning system, using problems encountered during the development of Monolith Production's No One Lives Forever 2: A Spy in H.A.R.M.'s Way to illustrate these points.

Hierarchical Planning in Dynamic Worlds
Neil Wallace (Black & White Studios / Lionhead Studios)
AI Game Programming Wisdom 2, 2003.
Topics: Strategy, Planning; Genres: Strategy, RTS, FPS, Action
Abstract:

Goal Directed Behavior using Composite Tasks
Eric Dybsand (Glacier Edge Technology)
AI Game Programming Wisdom 2, 2003.
Topics: Strategy, Planning; Genres: Strategy, RTS, FPS, Action
Abstract: This article will introduce the reader to goal directed behavior and offers several examples of games that have used it to increase the believability of the agents in those games. The article then goes on to discuss the implementation of the Composite Task concept that was designed and developed to provide goal directed behavior for the agents in a military tactical combat training simulator. Finally, the simulator itself is briefly discussed and references to additional information on goal directed behavior are provided.

An AI Approach to Creating an Intelligent Camera System
Phil Carlisle (Team17 Software Ltd.)
AI Game Programming Wisdom 2, 2003.
Topics: Movement, Camera; Genres: Action
Abstract: In this article, we will attempt to outline one method of implementing a camera system capable of handling a diverse and dynamic three-dimensional environment. We will detail the approaches taken during development of a to-be-released title, outlining the issues we encountered and how these were overcome.

Strategic and Tactical Reasoning with Waypoints
Lars Lid�n (Valve Software)
AI Game Programming Wisdom, 2002.
Topics: Movement, Strategy, Tactical; Genres: FPS, Action
Abstract: Non-player characters (NPCs) commonly use waypoints for navigation through their virtual world. This article will demonstrate how preprocessing the relationships between these waypoints can be used to dynamically generate combat tactics for NPCs in a first-person shooter or action adventure game. By precalculating and storing tactical information about the relationship between waypoints in a bit string class, NPCs can quickly find valuable tactical positions and exploit their environment. Issues discussed include fast map analysis, safe pathfinding, using visibility, intelligent attack positioning, flanking, static waypoint analysis, pinch points, squad tactics, limitations, and advanced issues.

Squad Tactics: Team AI and Emergent Maneuvers
William van der Sterren (CGF-AI)
AI Game Programming Wisdom, 2002.
Topics: Strategy, Tactical, Coordinated Movement, Cooperation; Genres: FPS, Action
Abstract: AI squad behavior is made up of coordinated individual actions towards a joint goal. There are two basic coordination styles: centralized control by a leader, and decentralized cooperation between individuals. This chapter discusses the latter style in detail. Decentralized cooperation can already be realized with minor changes to "standard individual AI". This chapter illustrates how some tactical squad maneuvers can emerge from these coordinating individual AIs, using a squad assault as an example. The limitations of the approach are illustrated using a second example: a squad ambush. This chapter precedes and complements the chapter "Squad Tactics: Planned Maneuvers".

Squad Tactics: Planned Maneuvers
William van der Sterren (CGF-AI)
AI Game Programming Wisdom, 2002.
Topics: Strategy, Tactical, Coordinated Movement, Cooperation; Genres: FPS, Action
Abstract: AI squad behavior can also be realized by designing an explicit team leader, responsible for planning and managing the squad's maneuver. This AI team leader assesses the squad's state, picks and plans the most appropriate squad maneuver. He executes the squad maneuver by issuing orders, and by interpreting feedback and information from the squad members. This is illustrated using a bounding overwatch squad advance. This centralized style to squad AI is more complex than the emergent behavior in "Squad Tactics: Team AI and Emergent Maneuvers". However, it does provide largely autonomous operating squads, able to execute complex maneuvers, and often combines well with some decentralized cooperation among squad members.

Tactical Team AI Using a Command Hierarchy

John Reynolds (Creative Asylum)
AI Game Programming Wisdom, 2002.
Topics: Strategy, Tactical, Coordinated Movement, Cooperation; Genres: FPS, Action
Abstract: Team-based AI is becoming an increasingly trendy selling point for first- and third-person action games. Often, this is limited to scripted sequences or simple "I need backup" requests. However, by using a hierarchy of decision-making, it is possible to create some very convincing teams that make decisions in real time.

Formations
Chad Dawson (Stainless Steel Studios)
AI Game Programming Wisdom, 2002.
Topics: Formations, Coordinated Movement; Genres: RPS, RTS, FPS, Action
Abstract: In games today, formations are expected for any type of cohesive group movement. From squad-based first-person shooters to sports sims to real-time strategy games, anytime that a group is moving or working together it is expected to do so in an orderly, intelligent fashion. This article will cover standard military formations, facing issues, mixed formations, spacing distance, ranks, unit mobility, group pathfindng, and dealing with obstacles.

First-Person Shooter AI Architecture
Paul Tozour (Ion Storm Austin)
AI Game Programming Wisdom, 2002.
Topics: Architecture; Genres: FPS, Action
Abstract: This article provides a basic introduction to building an AI architecture for a first-person shooter game (such as Quake or Unreal) or a first-person sneaker (such as Thief: The Dark Project). We discuss the major components of an FPS AI (including specific subsystems for animation, movement and pathfinding, behavior, combat, sensory modelling, and scripting and trigger systems) and how those components should fit together.

The Basics of Ranged Weapon Combat
Paul Tozour (Ion Storm Austin)
AI Game Programming Wisdom, 2002.
Topics: Weapon Selection, Weapon Handling; Genres: RTS, RPG, FPS, Action
Abstract: This article gives a brief introduction to the problems of firing ranged weapons. We discuss to-hit rolls, aim point selection, ray-testing, avoiding friendly fire incidents, dead reckoning, and calculating weapon trajectories for ballistic weapons.

A Dynamic Reputation System Based on Event Knowledge
Greg Alt (Surreal Software), Kristin King
AI Game Programming Wisdom, 2002.
Topics: Reputation System; Genres: RPG, Action, Adventure
Abstract: This article describes a non-player character (NPC) reputation system (a mechanism for dynamically managing NPCs' opinions of each other and of the player in order to influence the NPCs' actions). Most existing reputation systems manage NPCs' opinions globally. The reputation system this article describes instead changes a specific NPC's opinions only if the NPC has direct or indirect knowledge of events that trigger a change. The article describes the data structures required for the reputation system, the way they work together to make the complete system, and the way the system fits into the overall design of NPC behavior.

Tactical Path-Finding with A*

William van der Sterren (CGF-AI)
Game Programming Gems 3, 2002.
Topics: A* Pathfinding, Tactical; Genres: General, FPS, RTS
Abstract: Tactical paths consider cover and stealth in addition to travel time. Although costs for cover and stealth are easily added to the A* cost function, this alone does not result in convincing tactical paths. This chapter analyzes the defects in these paths, and discusses tactical improvements: taking into account exposure time and enemy aiming behavior, and anticipating likely enemy movement. The extensions to the A* cost functions introduce additional run-time costs. This chapter discusses the costs, and provides work-arounds and optimizations to make tactical pathfinding more efficient.

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

Terrain Reasoning for 3D Action Games
William van der Sterren (CGF-AI)
Game Developers Conference Proceedings, 2001.
Available Online at Gamasutra, 2001.
Topics: Tactical, Movement; Genres: Action, FPS
Abstract: Terrain reasoning in 3D action games is about understanding concepts such as stronghold, cover, ambush, and sniper location. This lecture introduces a simple yet powerful approach for terrain reasoning, enabling the AI itself to compute these concepts. Traditionally, AI relies on hints and scripts manually added by level designers to grasp the terrain. However, an AI that actually understands the terrain will respond better to dynamic situations and directions issued by the player. The terrain reasoning presented uses a waypoint graph with a high spatial density of waypoints. Due to its density, it is a good abstraction of the terrain. Being a graph, it enables computations. The lecture shows numerous examples of how to express terrain concepts in terms of this graph. A case study illustrates how situational awareness, team formations, tactical pathfinding, and adaptive tactics are implemented using both in-game and pregame terrain reasoning.

Bot Navigation: Design Philosophy
Alex J. Champandard
AI-Depot.com, September 2001.
Topics: Bots, Pathfinding; Genres: FPS
Abstract: This article discusses the pitfalls of bot navigation, and describes the human approach to spatial awareness and terrain recognition. Base on this, a modular system is described allowing both reactive and deliberative components to cooperate eleguantly.

Bot Navigation: Advanced Obstacle Avoidance
Alex J. Champandard
AI-Depot.com, November 2001.
Topics: Bots, Pathfinding; Genres: FPS
Abstract: This is the third installment of our Bot Navigation column. In this issue, we discuss evolution in real-time noisy environments, practical optimisations for evolutionary solutions and representations enhancements that increase the model's performance.

First Steps in Game AI: Your Own Bot
Alex J. Champandard
AI-Depot.com, October 2001.
Topics: Bots; Genres: FPS
Abstract: In tackling practical issues involved in creating game AI, this article demonstrates how First Person Shooters are ideal for developing Artificial Intelligence. Not only is this framework an ideal platform for modern technology, but it's also great fun!

Bot Navigation: Neural Networks for Obstacle Avoidance
Alex J. Champandard
AI-Depot.com, October 2001.
Topics: Bots, Learning; Genres: FPS
Abstract: A practical insight into applying machine learning to a common first person game. These few pages will use your theoretical understanding of neural networks, and allow you to tackle a concrete problem with it.

 
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