Search public documentation:
Game AI is often a necessary component to a game project. As problems like basic pathfinding and navigation have become well solved in games, AI has evolved to cope with more and more complex situations. These include dynamic levels with destroyable or otherwise permanently alterable geometry, and more complex modes of locomotion such as vehicles with varying movement capabilities, as well as making better use of the 3D environment - for example, making effective use of cover. The fundamental building blocks of a good Artificial Intelligence include a solid understanding of the rules, strategy, and tactics of the game as well as a player of similar skill level would. Good AI needs to have a knowledge model about the game world and game state that is similar in limitations to what a player would know. For FPS games, it's also very important for the AI to have a human-like aiming model, with the same kinds of strengths and weaknesses in hitting targets under various conditions that would affect a human player. Finally, the AI needs to have flexible system for dealing with classes of interactive objects (such as vehicles and weapons) or problems. The dramatic increases in computational power for modern consoles and PCs have been a boon, as we're finally at the point where there's a good bit of horsepower left over for AI. This allows the AI programmer to perform more computationally intensive tasks such as collision checks to discover information about the AI's environment, or add more expensive decision making into path finding. As we reduce the number of "shortcuts" we have to take to determine AI behaviour, it allows the AI to make more informed and more nuanced decisions. For example, an NPC in UT3 that is trying to reach a distant objective will assess multiple routes rather than just picking the shortest route. These routes are assessed based on a number of factors, including "risk", what other friendly NPCs are doing, complexity, etc. At times, Game AI can be seen as smoke and mirrors. There are still quite fundamental differences between what's going on for the most part in academic AI research and AI implementation in games. The issue of getting information about your environment is far more complex for real-world AI than for game AI, and still contains many unsolved problems. We certainly apply knowledge that originated in AI research, but for the most part we aren't using the results of "cutting edge" research in AI. One of the toughest challenges in Game AI continues to be making an NPC "feel" human, with the same kinds of reactions and limitations is definitely the most challenging problem for game AI. At the same time, Game AI tries to mimic areas such as emergent behavior. For FPS games, another goal of Game AI is to represent more "human" behaviors - seemingly random or habitual behaviors, often imperfect. In UT3, one of the ways that bots learn during gameplay include dynamically adjusting the costs of the path network to reflect things like "killing zones". This allows them to learn areas to avoid because they are covered by a sniper, for example. Traits like weapon preference, tactical awareness and aggressiveness are customized for different characters and affect the decision making process. We tend to be rather conservative about trying to make bots look "human" this way, because players will judge the AI as just being stupid. On more than one occasion, we've had one of our designers complain about how poorly the AI was playing in that level, not realizing that all his opponents were actually human. At times, the goal is to represent artificial stupidity rather than intelligence. Two areas where this is critical include NPC aiming and limiting knowledge of the game state (specifically knowledge about the location and capabilities of enemies not currently visible to the bot). Perfect aim is easy, but missing like a human player is hard. Also, making the bot's mental model of where a previously visible enemy might be seem plausible can also be quite challenging. The future of Game AI presents lots of exciting opportunities for experimentation and simulation. Theories and solutions from cientific/university research AI will often present new areas of intrest for Game AI. Of course, as computation power increases, Game AI will get better, allowing us to explore new game scenarios and mechanics. For example, a game with a solid implementation of a robust speech recognition and synthesis system as an interface, and a compelling personality and motivation model for NPCs could have gameplay focused on determining the motivations of allies and opponents.
The Unreal Game AI framework consists of two parts:
- A means for providing a basic layout of a level that contains information that influences in-game decisions: Navigation
- A means for processing decisions and turning them into game actions: Controllers