Perfect Dark Zero Interview: AI Developer Lee Hutchinson
Operative: Hutchinson, L.
Classification: Developer
Team: Rare
Mission: Perfect Dark Zero
Mission Parameters: AI
Mission Hot Zone: United Kingdom
MGS: Please tell us a little bit about yourself. What’s your background in the games industry? How did you become a member of Rare’s PDZ team? Do you have any special training or education in this field? Was AI your only responsibility in the development of PDZ, or did you work in other areas as well?
Lee Hutchinson: I graduated from the University of Teesside at the age of 21 in May 2002 after gaining a first class degree in Visualization which was basically 3D software rendering, games, AI, physics, etc. I started work at Rare almost immediately afterwards. I was placed in Rare’s R&D department to learn the ropes. After three months of R&D-ing I was placed on request to PDZ as AI programmer and have been there ever since. During my time on PDZ I’ve contributed to a lot of different areas other than the AI including a lot of the character and gun control software.
MGS: For the benefit of the online PDZ community, could you please tell us a little bit about the role of AI? What is it, and how does it interact with the PDZ player?
Lee Hutchinson: I think the main role of the AI in any game is be a significant challenge, be fun to play against, to appear intelligent 95% of the time but inevitably to get beaten. The main challenge is to make the AI aware of their surroundings so they can make educated decisions about what to do depending on the player’s current position.
MGS: What were your high-level goals for AI component in Perfect Dark Zero? How did they differ from those of other first-person shooters? How did you reflect these goals in the game?
Lee Hutchinson: My main goal in PDZ was to use as few scripted events as possible and make the AI decide what they wanted to do. There’s nothing worse than an enemy who runs to the same position to attack from regardless of where you approach from, or an enemy that won’t leave a room because the script doesn’t allow it. Basically, I wanted all of the behaviors to be evaluated in real time and have nothing pre-calculated. There are a lot of games in the FPS genre who rely on scripted events to portray the intelligence of their AI, I didn’t want us to go in this direction. 99% of all of the AI in PDZ is calculated on the fly.
MGS: Compared to other games in the FPS genre, are there any significant differences in the way you designed and implemented the AI for PDZ?
Lee Hutchinson: I think the main difference with the PDZ AI is that there is next to nothing that is scripted to work in a particular way every time. The AI is fairly flexible and was designed and written to be able to be dragged around the entire level and react to all of the different situations it could be put in.
MGS: What are the different types of AI behavior that we see in Perfect Dark Zero? Of all these types, is there one that you find most interesting? How about one of which you’re particularly proud?
Lee Hutchinson: There are probably 3 different types of behavior. They are Cautious Attack, All Out Attack, and Hold. I’m probably most proud of the hold behavior, I won’t go into much detail about this here as I will talk about it later.
MGS: Which of the AI types in the game was the most challenging to design?
Lee Hutchinson: I’d say the cover behavior was the most challenging as it was all evaluated on the fly and could be particularly expensive CPU-wise. All the algorithms required to calculate the best available cover point had to be carefully optimized throughout to make sure that they wouldn’t create frame rate spikes or other performance issues.
MGS: To what extent does the AI in the game incorporate behaviors that are uncommon, or even nonexistent, in other FPS titles?
Lee Hutchinson: In PDZ when you alert certain guards and you are not in sight of them they may choose to create an ambush. We call this the Hold Behavior. They will calculate in real time according to your current position exactly where they think that you will most likely enter their room. After the place of entry has been determined they will pick a strategic position to attack you from, maybe from behind a cover point, maybe out of sight of the entrance or maybe just right in front of the entrance. The main reason this was done is because you can play PDZ stealthily like a master ninja or just go though a level guns blazing like Rambo. We wanted the AI to be better equipped to deal with the Rambo situation without just rushing towards you and leaving their current room as this would empty certain parts of the levels making it easier for you to progress and would also make them appear quite stupid. The Hold behavior should make it harder to progress through the level the less stealthily you act.
MGS: What tools did you use in creating the AI for this title?
Lee Hutchinson: We had a bunch of editors for setting up AIs and creating their routing networks. That’s about it.
MGS: What are the major limiting factors with respect to the level of complexity you can build into the AI? How much impact do technical factors related to the engine have?
Lee Hutchinson: Well the main thing is the CPU time limitations. Historically it has always been things such as rendering and physics that have stolen the majority of a game’s CPU time. The AI didn’t have a great deal of time left to play with and it only made use of one of the Xbox 360’s processors as it was originally written for Gamecube and Xbox. Another problem was that there was a flat engine cost for having a visible AI in the world just to keep them animating and stopping them from falling through the background. In the case of our game, this was more costly (CPU-wise) than the actual AI that was being performed on these characters, so this was the limiting factor to how many AI we could have active at once.
MGS: How important is it, in general and in PDZ, for the AI to be realistic? Did you ever have to make decisions that balanced realism and gameplay fun? How do you decide or know when making something realistic might start to make the gameplay less fun?
Lee Hutchinson: I think realism is important to a game like PDZ but the boundaries of realism can be stretched a certain distance to accommodate certain gameplay features. I think the key to making a gameplay verses realism decision is knowing how far the boundaries can be stretched before it affects the overall game experience.
We had a few arguments about guards movement speed for backwards and sideward movement, this is a perfect example of a realism/gameplay decision. Some people were arguing that the AI in the single player game should only be able to walk backwards and sideways as jogging was too fast and was deemed to look unrealistic. Although we agreed with their comments we chose to ignore them as it would have caused problems with the cover use behavior and would inevitably make the gameplay a lot less fun. We felt that it was more important that the AI were able to face you and fire whilst running along a route to cover at a decent speed, as this would greatly improve the chances of the AIs effectively getting to the cover point and using it to attack. If the AI’s speed was limited to a walk and side strafing and backwards movement they would take much longer to get to their cover point and would most likely be killed before they got there. The only other alternative would be to turn their back on the enemy and run directly there at full speed, again this would just get the AI killed in the majority of situations as they wouldn’t be able to fire at you and would just end up getting shot in the back.
MGS: What was the strangest or most interesting AI bug that you were called on to resolve during the game’s development?
Lee Hutchinson: We had a funny one where the AIs would ragdoll and still be alive. This was particularly funny with the unarmed guards as they would still try to run at you. The game would end up showing the AI sliding along the floor like some sort of demented zombie swinging its fists at you. I wish we still had a video of it.