Los Angeles ACM Chapter Meeting
Wednesday, December 6,
2000
Practical Applications of AI to
Computer Gaming
By Steve Pavlina, Dexterity Software
Over the past three years, the computer gaming industry has made a
massive commitment to improving game AI. In 1997, an industry survey
showed that less than 20% of major game developers had even one
dedicated AI programmer, and typically less than 5% of overall CPU
time was reserved for in-game AI processing. That same survey in 2000
revealed that 80% of major game developers now have one or more
dedicated AI programmers, and typically 30% of overall CPU time is now
reserved for AI processing. The recent change of focus is due largely
to the proliferation of dedicated 3D acceleration hardware. 3D
accelerators have freed up a vast amount of CPU processing power which
was previously dedicated to graphics operations, and consumer
expectations of high quality game visuals have forced developers to
find new ways to differentiate their products in the marketplace.
Given that the gaming industry recently surpassed the movie industry
in total revenue, game developers have enormous financial incentives
to deliver state of the art AI in their products.
Due to tight schedules and the demand for real-time AI, the gaming
industry maintains a highly pragmatic approach to AI development. The
intent of game AI is not to create intelligence but rather the
illusion of intelligence to yield a more immersive and entertaining
player experience. Less traditional AI approaches such as neural
networks and genetic algorithms have been largely discarded, and the
current focus has been on improving and adapting more traditional AI
techniques, including finite state machines, fuzzy state machines, and
rule-based systems. This talk will explore the various AI technologies
in use in the gaming industry today with a focus on application to
strategy and action games.
Steve Pavlina is CEO of Dexterity Software, an
independent game developer and on-line publisher established in 1994. He
is also President of the Association of Shareware Professionals (ASP),
an organization of more than 750 independent software developers, and he
is co-moderator of the International Game Developers Association’s (IGDA)
Independent Developer SIG. His company has developed and released many
commercially successful games, including Dweep, the only product to win
both the 2000 Shareware Industry Award and the 2000 ZDNet Shareware
Award. His focus is on practical applications of AI to create more
immersive gaming experiences.
|
LA ACM Chapter December Meeting
Wednesday, December, 2000.
Practical Applications of AI to Computer Gaming
by Steve Pavlina, CEO of Dexterity Software.
Mr. Pavlina said he would discuss the application of artificial intelligence ( AI ) to Real Time Strategy (RTS) games, as distinguished from action games. The reasons for increased attention to AI in games are that it is a way to differentiate products, there is more CPU power available so AI can be used effectively, and players demand better opponents. RTS games have become more popular and AI can be used to make it easy for the players to immerse themselves in the game and have more fun. This provides financial incentives to the game developer to get better reviews and user approval, and to increase sales.
The goals of using AI in the games are to create an illusion of intelligence, entertain and immerse the player in the game. Game play is stressed over realism and the games are not a substitute for such things as military simulators where fidelity to the real world is a requirement. The objective is to require the players to play well, but not perfectly, and to provide AI reactions within a reasonable time. RTS games usually simulate war games in real time with single or multiple players. The players see different views of the map of the game and can see only part of the big picture of the game. Usually an over-all view is a small map on a corner of the screen and the player has a close in view of a smaller region in the center of the screen. RTS game decisions include harvesting of resources (gold, wood, ore, etc.) and commanding units (move, attack, patrol, scout). Special conditions can be provided, such as magical spells in fantasy games and there can be provisions to gain new technologies for use in the game. The goal is usually to conquer or destroy your opponent.
There are a number of approaches to AI in games. One approach is "cheating" where the AI players may get extra resources and have customized maps that give more information to the AI than the human players. Another approach is a layered system divided, into strategic, tactical and entity portions of the game. An example using gold as a resource sets the strategic need to obtain gold and the requirement to get gold. The tactical requirement is to find the gold and then the entity is instructed to go and get the gold. The AI entity can move, attack, patrol, defend and may have special abilities such as casting spells in fantasy games. Unlike conditions in real life, entities don't worry about losing their lives. Mr. Pavlina then presented an example of an entity moving and finding a path through a maze. The entity should move immediately and may use various types of search patterns during the game.
The tactical AI carries out the orders from the strategic AI. It sends low level orders to the entities to accomplish the assigned mission and reports tactical observations to the strategic AI. The tactical AI coordinates squads of entities, gathers resources, builds units and structures, researches new technologies and may control the use of special abilities. It will make certain that entities don't all attack the same targets at the same points. It keeps "blackboards" for the entities, which can use fuzzy associative matrices that compare distances of entities from opposition units, and the relative strength of the entity compared to the opposition. The action of the entity will depend on its intersection in the matrix and can result in everything from surrender of the entity to overrunning the enemy. Other activities could include retreats, holding a position, probing an enemy unit, and attacking; depending on the relative strength of the entity and opponent and their location. Randomization can be applied so the same thing does not necessarily occur every time the game is played.
The strategic AI sets goals to achieve primary objectives, creates plans to achieve goals, delegates sub-goals to the tactical AI, and adapts plans to current tactical data. The rules are determined by a "best guess" at the start by the program developer and then the rules are tweaked to make the game better. One AI strategy is to have the AI adapt to opposing player moves. It can adjust the values in the matrices in response to player skills and fuzzy rules can be used at all levels to play at different skill levels in response.
There are a number of expected improvements in the future of game AI. Games are expected to use voice recognition, natural language processing, speech generation and to simulate more human-like behavior. Voice recognition provides the players with an additional input device. Mr. Pavlina said these advances would not be a result of game development research, but come about by game developers using capabilities provided by artificial intelligence scientists working on real world problems. Game is not a substitute for AI research.
Mr. Pavlina said that in games using multiple human players that some of the players might form alliances to overcome other opponents before fighting each other. Game developers are looking at how AI players might form alliances with human players, and how they might be designed so that they would take "revenge" against a player who attacked them. This would be an attempt to try to make the AI's act like humans and provide a version of the "Turing Test" that would make it difficult to tell if a player was an AI or human by watching the results of the play. Mr. Pavlina said that most developers used Visual C++ as the programming language and many of the games were developed for Windows platforms.
You can find information on Dexterity Software and its products at:
www.dexterity.com
You can contact Mr. Pavlina at his email address: steve@dexterity.com
This was fourth meeting of the LA Chapter year and was attended by about 26 persons. This meeting was absolutely fascinating and this was accomplished by a narrator using standard viewgraphs and an overhead projector. It seems that really good games developers don't need fancy graphics to maintain audience interest.
Mike Walsh, LA ACM Membership Chair
|