November 19-21, 2003 - IEE Savoy Place, London, United Kingdom

Conference Keynote




Conference Keynote

Working at Thinking about Playing Or A year in the life of a Games AI Programmer
S. L. Tomlinson, Warthog plc.

As an AI programmer working in the Games industry I have recently been asked to advise on Games courses at a local University.  It was then that I started to realise that the non-games industry AI practitioner may have a very different perspective to one working on Games projects. This paper therefore looks at some of the typical tasks a working AI programmer may be involved with. What kind of technology do we use, and what to we not use, and why ? It is primarily directed at a student audience, although others may also find it interesting.

The first thing to understand is that an AI programmer in a typical UK games company does not spend much of his/her time actually doing AI. On a typical project an AI programmer will often also be involved with core maths, collision physics, vehicle dynamics and animation systems, as well as simply getting the AI objects to think. This will be illustrated with a case study of the authors personal experience on Mace Griffin: Bounty Hunter. The situation is changing though. As the games’ buyer becomes more technologically aware and demands more immersive experiences (and therefore more complex games) programming teams are getting larger, and individuals more specialised. But for the same reason the way AI is dealt with is changing. Many projects now have a significant number of ‘designers’ who are responsible for building and balancing the game levels. Thus the AI programmer must provide an increasing level of access to his system. The boundary between what is in-game AI and what is scripted can vary enormously across the industry and between game genres. A first person shooter for example may be heavily story-lined and require a large amount of scripting. In a formula 1 racing game the AI may still be more autonomous, but needs to appear more realistic on the track.

As well as a general ‘day in the life’ component, this paper will look at a number of more detailed cases to illustrate some of the technical tricks of the trade. On earlier consoles a lot of behaviour was dealt with using “smoke and mirrors”; it may have looked clever but was actually very simple. This theme is still relevant today however, since it allows us to fit more into the still limited AI budget. This leads to questions: can we cut corners on our path-finding for example? Often the problem is not to find the best solution to a problem, but rather and adequate solution that still looks good in the game. Writing the AI to optimise execution performance is also an important tool in maximising the players experience and so will be discussed, including platform specific and non-platform specific code design tips. There will also be a general look at how games are structured and how this affects the AI programmer.

The paper will conclude by discussing sources of material and advice, with a brief look at one of the most important issues for any programmer working in the Games Industry – how to secure an endless supply of Pizza ! This will be followed by ample time for questions and discussion.




Page created by Philippe Geril. Last update 05-11-03
© Copyright ETI Bvba - EUROSIS - All Rights Reserved