Cover ERCIM News 57

This issue in pdf
(72 pages; 11,6 Mb)

Cover ERCIM News 56
previous issue:
Number 56
January 2004:
Special theme:
Analysis, Planning, Diagnosis and Simulation of Industrial Systems

all previous issues

Next issue:
July 2004

Next Special theme:
Automated Software Engineering

About ERCIM News

Valid HTML 4.01!

< Contents ERCIM News No. 57, April 2004

Enabling Computers to Play Games like Humans

by Stephen McGlinchey

Producing Artificial Intelligence (AI) systems for real-time computer games can often be a challenging problem for game developers. To make a positive contribution to the gaming experience, an AI player should play a game with an appropriate level of ability or "skill" and it should also appear to be convincing, ie, it should behave in a similar way to a human player. Some recent research done at the University of Paisley has focussed on achieving these goals by using adaptive AI techniques to learn from human players. The trained AI can then be used to control game 'bots', producing behaviour of a similar fashion to the game players that they were trained on.

AI in games is normally designed with one specific game in mind. Scripting is often used, defining sets of rules to govern the AI's behaviour, and these rule sets are often, large, complex and can be expensive to create. A major disadvantage of scripted AI is that no matter how many rules are created, it can be difficult to achieve convincing behaviour that enhances the gaming experience.

AI players can be written with different objectives in mind. Some developers aim to produce AI players that are most likely to succeed in a game, and this is interesting as an AI problem. Others aim at producing AI players that will make the gaming experience more enjoyable to the human player, and this normally means that the AI behaviour and performance should be similar to that of a human player, providing game players with believable interaction with artificial opponents or team-mates etc. Two aspects of game AI that affect the experience of playing the game are:

  • the level of performance
  • the style of play.

For many games, it is important that the AI system can play the game at a level appropriate to that of human ability. This is true especially if the computer player is an opponent; there is little enjoyment in playing against an opponent that is too easy or too difficult to beat. The style of play of an AI player should also (in many applications) be similar to that of a human. Even if an AI player can match the performance level of a human player, if it behaves in an inhuman fashion, then the gaming experience is less convincing, less immersive and ultimately less enjoyable. Motion of AI players should avoid being unrealistically jerky or smooth, and avoid super-human reactions to events in the game.

Recent work done by researchers at the University of Paisley has tackled the problem by using data recorded from human players to train an AI system. The resulting AI should them mimic the data that was used to train it. One researcher has termed this technique 'Game Observation Capture' (GoCap) and it has been described as 'motion capture for AI.'

An AI opponent for the game of pong.
An AI opponent for the game of "pong".

There are many computational AI techniques available that could be used at the core of such a system, and our research has produced promising results with Kohonen's Self Organising Map (SOM), which is a widely used and well-understood neural network.

The game of 'pong' is a simple real-time game that is familiar to almost everyone. We have used pong to test the effectiveness of our AI learning system because it provides scope for differing styles of styles of human. A simple AI pong player would be trivial to create, although to create one that played in the style of a human is a greater challenge. The figure shows the capture of game data: the ball's position and velocity and the player's bat position. This data is recorded once every frame.

Once the SOM has been trained, it can be used during a game to generate the opponent's play by supplying only the ball's position and velocity at the network's inputs. Based on the supplied data, the SOM can be used to produce a target position to move the bat to.

The system is successful in playing in a similar style to that of the original player, and also plays with a similar level of skill. Some quirks observed in the human's play are also seen in the AI trained on that player, making the AI convincing. Future research will aim to apply this method to different games and more difficult problems, including modern games such as real-time strategy (RTS) and 3D shooters. This work is applicable not only to computer game AI, but also in other application areas such as digital actors, intelligent character animation, and in simulation.


Please contact:
Stephen McGlinchey,
University of Paisley, UK
Tel: +44 141 848 3636