Make Your Non-Player Characters Appear More Intelligent

Andrew Armstrong on March 10, 2008

Three weeks ago, hosted a discussion sponsored by 2K Boston, developers of BioShock and currently hiring Senior AI Programmers. Read on to find out who won signed copies of their latest game!

John Abercrombie, who was the Lead AI Programmer on BioShock, has picked the two most interesting comments of the previous discussion on how to get the players to notice the intelligence in AI. He commented by email on the discussion in general, and the winners of the signed BioShock copies:

“There were a lot of interesting responses, I’m very happy with how they turned out! […] There were a few that I really enjoyed, but the winner I would choose is Jon ‘Logo’ Walsh. Second prize goes to Ian Morrison. […] Honorable mention would go to everyone else. I really enjoyed reading everyone’s response. Truly a great discussion and I’m glad people were so interested in the topic.”

So, congratulations to Jon and Ian for their insights and contributions to the discussion. You’ve just won a signed copy of BioShock!

BioShock AI Characters

Screenshot 1: A Big daddy and little sister in BioShock.

Playing with Expectations

Here’s the explanation John Abercrombie gave for picking the winner:

“Jon’s response was an excellent read, and his contention that building up player’s expectations using basic cues that can be built up over time and then tapered off as the game progresses might be a solid approach to game AI and (now) is something that I wish we had considered in Bioshock but looking forward I will definitely have an eye towards it.

Given that not all AI programmers are designers, this approach has to be developed by all members who have input into the AI, and though not mentioned by Jon, it probably would need to be playtested externally to confirm that the expectations are being matched along the way until the player understands, and we can choose a taper-off point for the cues.”

Jon’s comment detailed a good way to build up a players knowledge about the AI’s actions over time, using 3rd party characters to fight in a battle, have actual knowledge told directly to the player, through 3rd or 1st parties, and to never surprise a player with some unexpected behavior. A sample:

“Similar to the last point using character dialog and explanations can help. For example in Half-life you could have a scientist or Barney say something like “Keep very quiet Doctor, those tentacles can hear our every move” to convey that the tentacle monsters don’t find the player based on sight but instead on sound.”

Ian’s comments raised several points, with John Abercrombie commenting this was his favorite bit:

“The game world needs to be set up to highlight the intelligence (audio and gameplay cues, level layouts that aren’t strictly linear, etc) or the player needs to be convinced that the AI is doing stuff… or even that it’s doing more than it is (someone already mentioned FEAR… while often given credit for the feat, FEAR’s AI never flanked, it was just an accident, yet it’s tough to think otherwise given their incredibly aggressive behavior).”

Designer Showcasing the AI

A major point of Jon’s comment is allowing the player to see the AI work against a 3rd party to showcase it, and change the players expectations - Ian Davis comments:

“I think Jon’s post above hits on a very crucial point — why not use friendly NPCs to showcase the enemy intelligence? Give someone on the player’s team a hook to examine the enemy squad’s current actions, and play back a response - “They’re flanking us!” “Oh ** they’re behind us!” “It’s an ambush” etc.

And as Zach Kamsler commented:

“I do agree with several of the above comments that showing AI character interactions is quite useful in the creation of intelligence. It gives an opportunity for the player the observe the behavior of AI characters, often without the threat of immediate danger. It is also just a good indicator of reasonably advanced AI, as game AI has historically been solipsistic with respect to the player.”

AI Combat in BioShock

Screenshot 2: Combat against an angry non-player character.

Audio Feedback

A major point echoed in many other posts was making sure the player knew the AI was doing something, even if it was outright saying the current action. People did bring up FEAR’s impressive use of them, as Jeremy Hollingsworth notes:

“It has been done to death, but I have an additional point to bring up about why F.E.A.R’s AI impressed and surprised me.

Context-sensitive vocal responses.

The events that blew me away the most in the entire game was when an agent accurately said things that were directly related to an action I was performing such as: “He’s sighting up!” when I held my scope view over an agent for a few seconds, “He’s trying to flank!” and so on.”

However some thought it was backwards, and actually could make it seems as if the AI was dumb, as dpattiso put it:

“This brings me back to my point of games with no forced feedback. If you were up against a team of crack cloned soldiers, wouldnt you wonder about their intelligence if they shouted their orders over loudspeakers? One man’s player feedback is another’s dumb AI decision.”

Visual Feedback

Animations also seem key for AI interaction, Christian Moleman said:

“I’m not a programmer, but my view is perceived intelligence is all in the animation. There’s much to be gained from tightly integrating AI with well-placed unique animations and cycles. Facial expressions are hugely important here, because as the Disney animators figured out in the 30s, nothing says “thought process” more than a clear change of expression.”

And for strategic encounters, and on the topic of “perceived AI” Ralf Stauder notes:

“The example of the vision cones, the uncertainty, and the AI not immediately noticing the player reminded me of the old tactical games like Commandos or Desperados.

When a bad guy realized [a good guy was there], there was a figure of the player, a whole bunch of feedback was given: Of course the bad guy said something like “Is anybody there?” and pointed towards the player, the vision cone (if selected) flashed, turned to a different color, narrowed down to the point of interest, marked the player figure, and so on.

With all that gimmicks, the AI really seemed intelligent, although they actually weren’t to bright (from a modern point of view, of course). So, and I have to agree with smoomaster there, what a player *thinks* of the AI and what it actually *is* like are two totally different things, but both are important.”

Playtest Early, Playtest Often!

Finally, Jeremy Hollingsworth commented on playtesting everything to make sure that the AI is being recognised as intelligent:

“Playtest often so you can spend time improving what the players are most likely to see (I have never seen a splicer heal at a med station for example), but don’t leave out the details either.”

In summary, a great discussion with a large amount of content covered, and I’m sorry if your comment wasn’t directly here - I chose a few to cover the main points raised — make sure to re-read the discussion to get the most out of it!

Image 3: 2K Boston now hiring Senior AI Programmers. (Large version.)

Discussion 0 Comments

If you'd like to add a comment or question on this page, simply log-in to the site. You can create an account from the sign-up page if necessary... It takes less than a minute!