Article
2KBoston_JobSmall

How to Help Players Notice the “I” in AI? (Win a Signed Copy of BioShock)

Alex J. Champandard on February 19, 2008

This week’s developer discussion on AiGameDev.com is sponsored by 2K Boston, formerly Irrational Games, who developed BioShock and S.W.A.T. 4 — among others. The studio is looking for Senior AI Programmers (and people for other positions too), so if you feel you’re qualified be sure to contact them!

John Abercrombie, who was the Lead AI Programmer on BioShock and worked on the AI in S.W.A.T. 4 before that, suggested a topic he always finds interesting for the discussion: how can developers help the players perceive the AI as being intelligent? John also wrote about his experiences of this problem during the development of BioShock.

If you join the discussion, you can win a copy of BioShock (PC or XBox360) signed by the development team by posting interesting comments below or in the forums. The winner will be chosen by John Abercrombie by March 1st. (Thanks also to Chris Kline for making this possible.)

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

When Great Models and Algorithms Look Stupid

Here’s how John Abercrombie describes the problem, and his experience of it while developing BioShock:

“Often when a game I work on comes out, I find that some players (or reviewers) will say the AI looks dumb because it either doesn’t match what the player is used to, or the AI doesn’t sell what it’s doing/thinking to the player.

For example, on BioShock there is a complicated vision system with multiple vision cones that were based off of a number of inputs including the number of lines-of-sight visible to the AI, the darkness of the area around the player, and the weight of the vision cone which was generally based on distance and field-of-view.

We had two types of vision cones, doubt and certainty. AIs seeing players in their doubt cone would turn to look in the direction of where they last saw the player (which allowed players to duck behind columns if they were quick enough without the AI recognizing them, but they would think something fishy was up and would check it out). AIs seeing players in their certainty cone for enough time would recognize the player, and run at them.

However, some players found that the AIs seemed dumb because they didn’t see the player right away. As a game developer, should one expect that the AI should recognize the player immediately (as many other games do)? Was the tuning wrong, did the player need to be told ahead of time that AIs wouldn’t see them immediately to have them realize how they could affect the AI’s vision?”

John follows up with two open questions to get the discussion started:

  • How do you show intelligence without hitting the player over the head with it?

  • Obviously there’s speech and maybe animation, or combinations of the two, but are there other ways as well?

As some background research, make sure to watch the BioShock IDGA Talk which goes into the design process and the importance of iteration.

Screenshot 2: In game screenshot of BioShock with Little Sisters and Big Daddies.

When Simple Solutions Look Intelligent

John also mentions a counter example, when it in fact works out better than the developer intended:

“The converse of the question is when someone plays the game and thinks the AI is more intelligent than it actually is. For example, somebody thought that the Little Sisters only get upset about you when you point your weapon at them, but it’s just a proximity and line-of-sight test, you could walk backwards into her and the result would be the same.

There’s better examples I can’t remember now, but there are definitely instances of this all over the place in Bioshock, and definitely in other games as well.”

How do you make simple code look better? How do you make sure that advanced algorithms don’t fall flat on their face? How do you match the player’s expectations?

Post a comment below or in the forums. Make it insightful, interesting and useful to increase your chances of winning a signed copy of the game. (Also, be sure to visit 2K Boston to check out those job opportunities!)

Discussion 15 Comments

smoomaster on February 19th, 2008

I think that these questions really underline the importance of feedback in creating believable AI. Feedback such as speech or animation (or other things) allows players to construct a more accurate mental model of the game AI. This all reminds me of the excellent book [I]The Design of Everyday Things[/I], which (aside from introducing affordance to the world) suggests that things should be designed such that users create a reasonable accurate conceptual model of the system. With a good conceptual model of of the game AI, players are more likely to have expectations that match player behavior. This model is obviously an abstraction; a player is neither interested in or able to keep track of the inner workings of an AI. All the instances of under of overestimating the AI described above are the result of players having an inaccurate mental model of the AI. More/better feedback can help to remedy this. In some cases, it may make sense to cultivate a slightly inaccurate mental model if it more closely matches the resulting behavior. In FEAR, for example, soldiers shout orders or ask for backup (which does nothing), and the corresponding behavior emerges from often unrelated things. At this point I realize that I have essentially skirted around the questions without really answering any of them. -Zach Kamsler

Andrew on February 20th, 2008

I entirely agree with the point; "Let the player see the AI act intelligent against a third party". This occurs in many FPS games. Bioshock, sadly, doesn't show Big Daddies vs. Splicers on purpose - or if it did, it was entirely *and dumbly* scripted. Notably in that example it is unbalanced - Big Daddies can kick any splicers ass because they neither move out of the way of charging ones, nor seek cover, and the weapons they use are...pretty rubbish. A better example (and actually *what I expected* in Bioshock) is inter-splicer battles. You can see examples of this "fair AI fight" in things like Half Life (soldiers vs. Aliens, the soldiers almost always win in early encounters. Bigger aliens later win later encounters). Put an invincible barrier there, and let the AI fight without pre-determining what happens. The other ways already noted - contextual feedback (especially relevant to the specific area, situation, monster...), reactions to the player and other things, and animations (Especially when moving - how many NPC's actually do all the things PC's can like jump down gaps or crouch?) really help in battles. The other option is to have NPC's fight with the player. Even if the AI isn't perfect, as long as it is competent it works well - Halo, Half Life, and others do this. Star Wars: Republic Commando is not complicated AI (it is player led) but competant - and since 90% of the game has at least one squad member with you, it's important to show it. Sadly, the enemies are not as great (some are, most are not), so it doesn't apply as much then. Other ways to do it: [list] [*]Have enemies survive for longer (fleeing, cover, more health). Halo abuses this in Legendary ;) (notice; most people think Big Daddies are more intelligent!) [*]Have more enemies, in groups (which should last longer) allowing more AI interaction (a good thing). Many games (Bioshock partially!) has single respawning monsters, or single monsters to attack. [*]Allow the AI to do usually player-specific things. Players can lay traps? why not NPC's? Players can operate a gun? Why not NPC's? It's perceived as "dumb" if there isn't an NPC who can use the more powerful weapons at some point (why would it otherwise exist? solely for the player to kill them?!) - no ultra-kill-instantly weapons helps here :) also; surprise the player intelligently. I have a shotgun? I'll stand by this door and wait for the player! (or move closer to them and not stand far away, or cover my teammate...etc) [*]Allow multiple ways to defeat an AI. Have melee attacks and stealth backstabs in FPS's (CoD4...) allow traps, allow distractions. But, allow the AI to use those things too (flanking, or cheat with grappling or C4 or tripmines or whatever). Pre-made defences used by the AI to cover *obvious passages* is good too. War games use this frequently (logical MG's in WW2 games, but they are not always just manned by 1 person, so you can flank to make it easier, but it is still tough!). [*]Allow the AI more freedom. The cop AI in GTA isn't perfect - but it is, at least, good enough to hunt players down. It's got the freedom to build roadblocks, use helicopters and vehicles, and so forth. In FPS's allowing an AI squad to decide what to do rather then limiting them to a specific room or corridor helps a lot (as with the survival stuff too!). [/list] The other way is to remove the idiocy; design wise, this means not breaking the illusion of AI by it suddenly doing something dumb. Requires a lot of work: [list] [*]Have checked for respawning monsters - don't spawn into traps, or spawn into currently-inaccessible areas (or if they spawn in rooms off the main ways, have them come out of the rooms!) [*]Friendly fire. WORST ENEMY. Nothing worse then an enemy throwing a grenade/shooting the player, missing, and killing their friends! (some games remove friendly fire entirely but cones of fire work well. Halo I think uses cones of fire). Cross point; having friendly AI killed by running in front of the player is NOT GOOD :) [*]Dumb vehicle use. If the core game isn't racing, the AI will likely be tacked onto vehicles. Either remove any non-scripted AI vehicle use (Half Life 2 did this, but allowed players to have vehicles) or script it linearly, or test it enough I guess :) [/list] Mainly comes down to allowing the AI to live longer / have more freedom / not have an opportunity to act dumb, and therefore allow enough feedback to the player.

togelius on February 20th, 2008

Maybe we should start by asking how we notice that real people are intelligent, in real world situations. The answer depends on the situation, and in how many people are involved. When you are in front of, or in middle of, a crowd you are not likely to notice that anyone's intelligence. There is just too much going on, and your senses are far too busy keeping track of more obvious things, such as if someone is shooting at you, to notice people being intelligent. (A few 15-year old counter-strike players would probably disagree with me here, but they don't are a commercially irrelevant demographic anyway.) The much talked about (and really quite effective) fleeing grunts in Halo is not an example of artificial intelligence, only an example of well-engineered cowardice. Cowardice is much easier to note than intelligence. Trying to make the player note that all those green thingys with big guns have sophisticated probabilistic representations, sex drives or whatnot is most likely a lost cause, for the same reason you don't notice such things about drivers of the cars around you on the motorway. So in situations where you're just interacting with one or a handful of people, how do you notice that they are intelligent? Well, at work, in school, or at any remotely competitive environment, they will just tell you. If your colleague comes up with a clever solution, he will do his best to make sure you notice it. This is probably the way to go with team-mate AI. So, in which situations in you real life would you ever notice someone's intelligence without him wanting you to? This would most likely be when they're trying to fool you, but you call their bluff. Sell you a used car or a package of political ideas that you don't really want, and you discover it. A game might lead you to form false beliefs about the strategy or intentions of the agent but have you discover the true strategy or intentions later, and you would think that the game was very clever for almost managing to fool you. This presupposes that you're actually smarter than the guy who tried to fool you. If you don't understand what's so clever about the other guy's strategy, you would just think he's plain lucky, or cheating. (One exception to this is games like chess, where you can grasp the whole game state at any time. Another is domains where you have expert knowledge. But the player is not likely to have this about the game world, he's only just started playing the game!) To sum up, I think we humans mostly only discover intelligence when we are explicitly told about it, when we are in an area we are experts in (which is not the case for games) or when we are (almost) being fooled. Creating really clever enemies for e.g. Halo is pointless, most people will never notice.

Ralf Stauder on February 20th, 2008

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. For those who don't know them: the player had a top view of the game field, some good guys and usually a lot bad guys spread across the scene. The good guys had to reach some goal without alarming the bad guys (too much). The bad guys had some kind of vision cones, too, and yuo could select a bad guy to check out his field of view to plan your operations. When a bad guy realized, 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. So the player was really pushed onto the fact, that he was spotted, even by means, that are kind of dumb on their own (which real guard would shout out a warning to a possible intruder, that he's investigating something, before actually doing it!?). ^^ 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. Personally I fear that the more gadgets you add, the more feedback you add, the more plausible the AI seems to be. The problem behind this are "sneaky" enemies: How can you keep a players believe in the AI, if it starts sneaking around corners to effectively surprise him? You certainly don't want big feedback there, but the player might think the AI either got behind him by accident or it just spawned there. This leads me to a different point: Can this player behavior actually be used? Is it possible to trick the player into believing, the AI is better, than it actually is, by just adding enough decoration? Should this be done or are there unnecessary risks, like if the player finds out about the true nature of the AI, he'll be far more disappointed, than he would normally be? OK, I didn't really answer any questions, too, but I added some more, which might be beneficial for the discussion. :-D

Ian Morrison on February 20th, 2008

My two cents, inadequate as they might be, is that an intelligent behaviour is only noticable if it is communicated very clearly to the player. If a creature manages a sophisticated flanking manuever that brings it right behind the player while he's busy, and he get his ass kicked because of it, it isn't too wild a suggestion that he might feel cheated. The AI got lucky! It cheated! The level designers worked on Doom 3 and put a monster closet behind you! However, you've got a few options there: you could have the creature be a little more obvious traversing around the player, or make it's final approach obvious with footsteps or a battlecry. Alternately, after it kills you, you could have it brag about its flanking manuever (or, even better, congratulated by its teammates), which has the added advantage of giving the player some feedback when he dies. Another option is to let the player know that these creatures will engage in flanking behaviour before he ever has to encounter them, perhaps by means of a scripted sequence, a line of dialogue, or just letting him watch them rip apart a different group of creatures. I think game design is therefore very important to highlighting the AI. Obviously, the two are already tightly intertwined, but it's worth mentioning again. 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 behaviour). Again, this comes down to interaction with the other design areas: the level layouts in FEAR were built to encourage the unintentional flanking and pincer movements that the Replicant battalion was famous for. As far as the scripted moments approach, I think Bioshock did a fantastic job of priming the player's expectations with the Big Daddies. That cutscene at the start of the game was fantastic, and making the player watch the very aggressive, violent protection of the Big Daddy without being able to interfere or miss the action was a great way to expose the relationship between them and the Little Sisters. As a counter-example, the AI designers from Halo guessed that only a third of their players got the connection between the Grunts scattering in terror and the death of their Elite leaders, and this is after adding tons of audio cues and making them scatter EVERY time the Elites went down! Think of how many more people would have gotten the connection with the following scenario: the player walks through a door into a battle with a couple marines in front of him, who are focusing fire on an Elite. One of them calls out "Bring down the big ones and the grunts will scatter!", and as the Elite dies the Grunts freak out, as expected.

Penumbra on February 20th, 2008

For what its worth, I think context could be a solution. In fighting first person, an enemy could change its strategy by the weapon the player is holding, the shape of the room, cover, location of the player, location of other enemies or friends. Using the context of the fight would increase the preception of intelligence (I think). When I'm walking through a god-forsaken place in BioShock and I think I heard something or saw something I could do three things: Since this is a place where things can crash down any minute, I let it be because this could very well be a falling obstacle or something. Since this is a creepy place I already shit my pants and maybe ran away or freezed of fear. Since this is an abandoned place there must be something there and I go investigate. Depending on context and inner state (emotion, previous events) I would react to the thing I thought I heard or thought I saw. Personality and context should I think be your best friend when preserving intelligence in games. Ways to express that to the player could be the standard output signals: audio, animation, pathfinding, etc. The ecological system can also help preserve some intelligence. If you put enemies everywhere without making sense why they are there, you loose some intelligence perceived by the player. Half-Life 2 did this perfectly: Zombies were found where people used to be; Headcrabs came out of mortar shells (see a shell -> watch out for headcrabs); Barnacles (the creatures from the ceiling with their tongue) were always found in damp spaces. etc. This implied that the creatures searched for the best area to 'live'. Soldiers can be set-up somewhere, but at least let them be somewhere central and high-up so they can see and cover most of the area. A 'normal' soldier would do that. Instead of stopping there, the creatures themselves are interrelated with each other. citizens without a weapon will run instead of fight a zombie. For a player, this will be perceived as an intelligent action (although it isn't much more than a running animation brought in context). By stating these relationships between enemies and the player and enemies with each other, you could get intelligent behaviour with a proper reaction to the player. See me keep on rambling.... :P

cmoleman on February 20th, 2008

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. Facial expression changes though are a problem for games because the camera/view is rarely still and the NPCs themselves often move broadly, making subtle expressions impossible to read. Rare moments when a character is still (and you're pretty sure the player is going to be) you can use this, but mostly it's down to the body language. It's all about the contrast: emphasize state changes by having clear differences in motion depending on what thoughts and emotions you want to portray: alertness, fear, anger, surprise, etc... Visible emotion suggests intelligence because it implies an assessment of and reaction to a situation. There's much talk about planning in AI, but when do you ever visibly see a game character work something out? Gaze direction is a powerful tool to use here. *Look* at the goal before pursuing it. Grim Fandango used this well, albeit on the player character. By having Manny look at his currently selected 'goal' there was little question for the player what he was about to interact with. No reason why this can't work for NPCs. It will make them more real and if you see them anticipating their actions you can anticipate theirs. The trick is balancing the timing... just enough for the thought to read. Another interesting thing to experiment with communicating is relative status. NPCs responding to others based on how strong/important they are. High status movement is measured and calm with no unnecessary movement (Yoda), low status more nervous or fearful (Woody Allen). This can factor into both social hierarchy and simple X can beat up Y statistics. Some sources that are worth looking into: Desmond Morris' "Peoplewatching" Frank Thomas & Ollie Johnston's "The Illusion of Life" Keith Johnstone's "Impro" (the first chapter on status) Ed Hooks' "Acting for Animators" ... and also there's some interesting research that's been done by Katherine Isbister and Bruce Blumberg, on body language and perceivable expectation respectively. http://www.katherineinterface.com/ http://www.gamasutra.com/features/20060216/blumberg_01.shtml#

JonBWalsh on February 20th, 2008

In a quick response to #9 The enemy splicers would run away (though not so much of a tactical retreat and more of a turn and run for the hills) and try to use the health dispensers when hurt. I think one of the things that AI designers, along with the other members of their team, need to think about AI like a puzzle game from the user's perspective. Specifically I'm referring to design philosophies that you find in games like Portal. In Portal, and other puzzle games, the designers will lead the player through different situations and examples that help to build up their expectations for how the game world works. Each puzzle or section may introduce a new concept or game play element to the player that will help them understand how everything works. I think this can be applied to AI as a way to slowly condition players to expect certain things about the AI. Many games I find tend to not do this. They'll simply introduce a new character type that may be employing several new AI tactics without any sort of progression in the way the AI works on what kind of features they may contain. There are many ways to introduce AI elements. Many have already been mentioned. These methods include: -Using 3rd party characters to act out a situation that helps to showcase the situation. An example of this might be like the early part of Bioshock where a splicer attacks a little sister and causes a Big Daddy to go hostile while the player is incapacitated and unable to do anything but watch (if I remember the scene correctly). This very quickly showcases both how the Big Daddies fight and how they are protectors of the little sisters but otherwise not aggressive. -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. -Audio Clues from the monsters yourself. A good and well documented way of accomplishing AI. -Visual Clues in animation. A little harder to pick up on but also effective Now one thing that you can do, that most games don't, is taper off the AI clues as you build up the user's expectations. An example of this would be overhearing radio communication. At the start of the game you may allow the NPCs to flank the player but to do this effectively you'd want to provide many audio cues along the steps as well as having the NPCs do this in a very visible manner. Overhearing the NPCs say things like "Flank Left!", "I'm coming up behind him now", etc. (Ok I know my dialog stinks but I'm a programmer not a writer :P) will help the player to realize that the NPCs are up to someting tricky. Then have the NPCs take a route that exposes them a good amount and really shows that they're circling the player and not just spawning behind them. As the game progresses you can have the new NPCs employ the same AI tactics (sneaking up on the player) but with a better effectiveness and reduced clues. When you introduce this new type of NPC you may indicate somehow to the player that these NPCs are better trained or that the player can no longer intercept their conversations (most likely just by having a new model for the NPC). By this point the player will be conditioned to expect to be flanked and/or attacked from behind so they won't find it unfair when these new NPCs do the same. With the expectation from other clues/visual changes that these new NPCs are smarter and better trained the player will also be quick to pickup that they will no longer be getting the same level of clues as to what the NPCs are up to. As a last measure you can even use some tricky coding to give the player an edge early on in situations where the NPCs are using AI tactics that might confuse/annoy a player. Back to the ambush example early NPCs that ambush the player may be given an accuracy penalty for the first few shots fired after ambushing a player. This would cause, in large part, the player to suffer less damage from being ambushed and provide more clues as to what's happening (as bullets wizz by the player instead of hitting them) and reduce the punishment for not being aware of what the AI is capable of. This way the player won't be so frustrated the first time they are ambushed because instead of dieing or taking a lot of damage they might just be able to escape with only a few scratches. As the game progresses the NPCs can slowly increase the punishment a player receives from being ambushed by doing things like reducing/removing the reduction to accuracy the NPCs receive when they first ambush a player. To draw this back towards the example given in the first post think about how the cone of sight works for the 'sort of spotted' the player situation. Depending on how the implementation is tweaked I see one of two things happening: -The majority of the time the player is going to come up on an NPC in this cone and very quickly be 'spotted' going from uncertainty to fully seen. This is 'realistic' as it'd only take someone a split second to turn their head and focus on something in their peripheral vision. -The situation is balanced to allow the player more leeway. This would mean that the NPCs would react much slower than someone's expectation in terms of going from uncertainty to actually seeing the player and the NPC would appear stupid. The problem is that you're either the NPCs to be intentionally stupid in a way the player isn't expecting or you have an event that occurs so infrequently that the player isn't expecting it. Either way the player has a negative reaction because their expectations have been broken. I think these sort of situations may need to be taken on a case by case basis but part of the solution has to be well done and instantaneous feedback to the player (for example an NPC very quickly going "Who's there" when you enter the uncertainty cone) is required to keep the player informed about what's going on. In short what I'm trying to convey is that Game and AI designers need to put more work into building up expectations for players. Many times the AI will perform things that the player doesn't expect the AI to be capable of. Most players interpret this in a negative way as if the AI is cheating or doing something fishy. I contend that the way to really implement good AI is to introduce the basic building blocks of rules that your AIs adhere to over the course of the game to build up expectations. Then as the game progresses improve the AI's skill at completing the same basic tasks as well as possibly combining different behaviors into more sophisticated strategies and tactics. This will give the AI room for more emergent behavior as the game progresses without breaking what the player expects the AI to be capable of.

dpattiso on February 20th, 2008

Hot dang there must be a million ways of showing player's how smart the AI is, so Ill just rattle off the big ones which come to mind now. Here's the thing: the ability to see how intelligent your character is really depends on how intelligent the player is. If you give a 5 year old Doom 1 (incidentally- don't), they will think that every enemy great because it can follow you through 2 doors. They dont care or know that its finding its path through a fixed mesh. Now show a 15 year old Halo 2 and they will think the NPCs are god like because they hide behind cover and try to break line-of-sight between themselves and the player. Finally, show a hardened AI developer Bioshock. This is where it can go 2 ways- firstly, they may just sit through the game saying "ah, well thats using an optimised A* algorithm to find me" or "Ah, a simple bounding radius to detect if the Little Sister is scared". Or they could sit there saying "dammit, none of this is new stuff, why is everyone raving about this game (so how have managed to get it into their game and I don't have it in mine)". As Einstein would say: its all relative baby. A fourth case would be showing your mum a copy of CoD 25, where enemies are self aware and sentient, but all she cares about is that when they turn their feet just skim the ground (of course Im sure that will be a thing of the past by then, our robotic overlords will have seen to that ;) I like to think there are 2 contrasting ways of showing intellect in NPCs, namely the already mentioned method of communicating the AI's decisions or thoughts to the player, something which has been done pretty successfully, or conversely, giving the player utterly no feedback of any kind (you know, like that thing we call “real life”!)- excluding actions by the NPC which aren't- but could be read as feedback. For example, noticing a team of SWAT officers make silent hand gestures for flank left would give you an advantage, but they wouldn't do it if they knew you were watching. FEAR's AI has been discussed to death here, but here's the thing- it never once made me say "oh that was cool", and I'm talking about all 3 games here. Oh sure it has some neat moments, but at no point did I think that the output was more impressive than the tech behind it. And this isn't FEAR bashing, I take my hat off to Jeff and the developers for taking the leap into non-FSM AI, but as I said I wasn't blown away in the same way as CoD 2 or 4's scripts impressed me. The reason I believe people are impressed by FEAR is this: you've been told you will be impressed by FEAR. Thats it. You were told it had a planner, or you were told that they would flank you, so you looked for it in action. No one ever said Half Life 1's AI would flank, so when it moved to cover you just saw it as the AI moving because it was stupid. 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. If the FEAR teams operated in silence, or muffled orders (well they do all have masks on), and then managed to (properly or cheating) flank me, I would be left thinking that I'd have to raise my game to beat these guys. Note that when I say "silence", I still expect that they will make sound when they move- footsteps louder or quieter depending on their speed, metal chinking on their uniforms, hell Ive been waiting for years to hear NPCs and players make noise when they brush off walls as they lean round corners. These last points are pretty fundamental to my argument, and to the whole argument of forced feedback too. If you want me not to feel cheated by being shot in the back by a flanking NPC, then how about simulating the real world? How about being able to hear the NPC before he jumps out behind me? And even if they don't, it would only take a few encounters before I started thinking about checking my six every now and then- as in what I'd do in real life from the offset, but Ive been trained by 20 years of gaming that enemies will always charge you. But how to fix this problem of stupid/naive vs smart/seasoned players? Well we cant exactly stop someone from buying a game unless they pass an IQ test, so its really up to the designers to ram it down the players throat from the get go. Every game in the past 10 years has had a tutorial level, so how about instead of teaching me how to crouch (surprisingly I know that, you press the crouch key), put me up against a standard AI and tell me to explicitly watch for flanking manoeuvres, or to use moments of silence to my advantage in order to locate enemy movement, or point out that all sides of my base should be defended because pincer attacks are common at weak points. Make me fear the FEAR! This could be reinforced by companies using Marketing to make sure that the buyers know they will be blown away by the AI, but for the love of Pete give them some examples! How often have you bought a game whose box says "you will be hunted by the most fearsome AI ever conceived", but all you see is it moving about a bit when you shoot at it? The box should say "enemies will flank you when under fire; use real-life SWAT tactical manoeuvres; adjust their weaponry to best take you down". Well, I'm really just rambling by now, so Ill just throw down a few of the other ideas I think would be useful (read: things which annoy me about current games ;) - Someone already mentioned making enemies tougher generally makes people think they are smarter, I disagree, as tougher enemies tend to be lumped with "zombie" AI. They just lurch after you, regardless of tactics, all guns blazing. How about attaching a smart AI to them? Just because they are tough doesn't mean they want to be shot in the face a dozen times (I mean, who does?). Similarly, I don't expect a living AI, no matter how tough it is, to shrug off a grenade being detonated on its exposed chest area. That just ruins the impression of intelligence and leaves me thinking I'm facing a tank... which I might be, but I digress. How about having different weapons affect actors differently? Heck I think the last thing I saw that did that was the fusion pistol on Hunters in Marathon 2. - Equal opportunities for all! If I can hide behind a desk, why can't the NPC? If I can sprint for short distances, why can't soldiers? What about changing to side arms instead of reloading while standing in front of me? Rainbow Six- Vegas is a great example NPCs using the environment in the same way as the player does. For a change I wasn't looking down a barrel at someone in a normal standing pose behind a corner, but at someone with their back to a wall who would pop out now and then to fire (although the popping out thing actually detracted from my enjoyment because they should have never popped back out after the first few times resulted in a hail of bullets). - Skill levels which actually equate to skill levels. This is basically the first point in a different form, because tough enemies are always using the same AI as weak ones. Shouldn't the second time I play the game on a harder difficultly setting be harder because the enemy is smarter and not because its tougher (I'm looking squarely at you here FPS genre, RTS have had this since C&C 1!). But then I can appreciate that developers want to give the player the fully blown experience first time round, so why not start with simpler enemies and have the full on tactically aware experience towards the end of the game? - Ditch spawn points. Or at least cut back on them. Bioshock drove me mad with its constantly respawning characters. You clear out the room then when you return 30 seconds later the damned place is heaving with enemies and you just used your last bullet because you budgeted that you had already wiped out the majority of resistance. If I can't get into 4 of the 5 adjoining rooms, then where are they all coming from? It just ruined the impression of a sealed underwater city, because this one seemed to have a never ending population. CoD 4 did this too, but it generally pulled it off because you could see the enemy jumping over player-inaccessible walls into the arena. However one area where this failed was in the spawning of allies, in particular the initial US missions, wherein 3 helicopters dropped 30 odd troops, but once you reached the middle of the level they were streaming out into the battlefield in ones or twos to keep the “alive-troop” counter above a certain threshold. - Limited responses- I saw an article on Assassin's Creed recently which said you will think you're in a living world for about 30 minutes, until you hear the same speech file played for the 4th time. I'd like to see some more responses to common situations. For example, now that Blu Ray has won the format wars, we have a few extra gigabytes at our disposal, so in the case of Assassin's Creed, why not have 20 or 30 different responses per character! It would take an extra few hours in the recording studio and give a whole world a new lease of life. On the same lines, how often have you played an adventure game and once you've exhausted all the speech options with an NPC they just keep saying “go away” or “I'm done talking to you” over and over again? Why don't they give you 3 normal responses, then start getting annoyed to the point where they will walk away, ignore or hit you? Phew, I'm done for now.

Jon S on February 20th, 2008

The importance for the AI is always to make the game more enjoyable, but that always going to mean different things depending on the style of game and your target audience. The most important thing is to make is as challenging as your audience can handle to boost the reward of winning or accomplishing some goal. You don't want a robust teamwork strategy of flanking when the player is all alone unless he can handle a few shots without really endangering his life otherwise he will get frustrated very quickly. However if you give the player a team of equal intelligence you balance out the odds again and the fun is still there. On the topic of informing the player by sounds I think as long as it isn't every time they employ some tactic the issue would resolve itself for if you can't trust what your enemy is say 100% of the time your always in doubt of a bluff which would bring about a new layer of perceived intelligence. One last thing for if your game has teammates to help show off the AI your teammates could give off a sound warnings of the enemies movements as well if a radar doesn't fit in to the game.

smoomaster on February 21st, 2008

I think this is one area in which experimentation is definitely useful, as how peoples expectations form is not completely predictable. The developers of character AI are not in a position to judge what expectations players form for character behavior, since they already know how it works. Outside (and preferably tissue-paper) testing is essential in this respect. The suggestion to taper off AI feedback as the game progresses, would, I suspect, become confusing and frustrating to players, as it would violate the mental model that players have built up. 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 repect to the player. -Zach Kamsler

kingius on February 21st, 2008

Personality matters in perceived intelligence, I believe. Intelligent units do not walk, talk or act in the same way as each other. They may even disagree... Don't have all your enemies react and behave in the same way to the same situations. Make them *different* to make them believable. When the player sees the same agent cloned ten times, she knows shes playing a game. Assassin's Creed goes some way towards this by varying the agent's visually; but personality needs to be part of the behavior too to make the illusion stick.

Ralf Stauder on February 21st, 2008

Another thing that came to my mind while reading the comments so far is this: I guess we all agree that conventional feedback is a stupid thing by itself, since real guards/swat units/assassins know very well, that their target can hear them, if they yell around. But since feedback just means a noticeable change in the situation, one can flip this behavior, which actually helps coming closer to Real Life(tm). What does a normal (real) night guard do usually? S/he sits around his post all night and/or walks his patrol route, as they did the last months, too. So they know everything by heart, nothing ever happened, it's boring. So they will eventually smoke a cigarette, drink their soda, read a newspaper, watch the recording of a sports game, tell their colleagues dirty jokes by radio. This background feedback can be as loud and obvious as you like, so you can make sure, the player really notices these things. But as soon, as the guards notice the player, as soon, as something new is happening, they're back to the intended operating procedures: No smoking, no unnecessary noise, full attention. The feedback the player gets is the fact, that the stupid jokes, the rambling, the sound of soda cans stop. That awkward and proverbial "quiet before the storm". That way, you can combine several things: a) Your AI implies emotions, which will probably considered a hint of a great AI by themselves. b) The player gets clear feedback of him being noticed, without letting the AI look dumb by widely announcing its discovery. c) Now you're even free to let the AI use advanced maneuvers like flanking without the risk of the player thinking, the AI is cheating, since the player will notice, that the AI is up to something. Those maneuvers then lead to an even better impression of the AI. So maybe a very good kind of feedback is just the sudden stop of a general "background noise" by AI characters.

jeremyace on February 21st, 2008

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. What was great about these responses, although a little corny, was that they were accurate for the most part, and I didn't expect them. This lack of expectation leads me into my second point... Players are used to, and expect the AI to be somewhat oblivious to what they are doing, and this kills immersion. This fact reduces the first half hour of play to testing the AI to see what it notices. If the AI doesn't seem to notice noise, we can do without crouching to sneak and we can kick all the boxes around that we like, if the AI doesn't respond to dead bodies, gun shots, fires, scene destruction, etc. Each lack of perception we discover reduces the depth of play, and immersion. By giving the agents a good sense of the environment, you can surprise the player and cause them to form additional notions and assumptions about additional complexity and intelligence. With the F.E.A.R AI, it really seemed like the agents had a better idea of what is going on (diving through a window when a grenade is thrown in the room), and that really added to the experience. The same with vaulting over rails, through windows, and over low obstacles. I disagree about marketing and PR setting up your perceptions of AI quality, as it takes less than 10 mins usually for an average gamer to find the holes in a bad AI implementation. I actually disagree about the splicers in BioShock seeming dumb actually. The environment and story showed that these "people" are flippin' insane from careless genetic engineering, and are trapped in this underwater tomb getting cabin fever. Frankly, I expect a character under those circumstances to jump on me while screaming like a rabid turkey whose sole purpose is to eat my face. What does bother me about the AI in BioShock is the attack patterns of certain enemies, such as the spider splicers. Drop, run/jump at me, slash, slash, back flips, jump, rinse...repeat. A bit more randomness there would have really payed off. Playing the game, I actually found the Houdini splicers to be more intriguing, and the reason is actually very simple. They were mysterious, and they were meant to be mysterious. You didn't know where they moved to until they attacked again, and the scripted first encounter in the gardens did a great job at helping that notion along. The same goes for those cloaked guys in F.E.A.R. The scripted samples of those guys helped form the feeling of uncertainty, and that made what they did more acceptable as you didn't have many preconceptions of how they are "supposed" to behave. It's hard to form preconceptions on the behaviour of agents you can only catch a glimpse of here and there, and such an agent seems like a more dangerous, smart adversary. While all these tricks, vocal cues, etc are corny, simulating the real world won't work either. In the real world, you will never hear a trained soldier until you're dead, they will be silent when hunting you, alert and quick to respond while idle, they will bluff, throw rocks at you, say nasty things about your mother, etc. It just doesn't work for a game. In the real world you are dead before you know it, and being dead 95% of the time is rarely fun. Ask any politician. So, to sum up this disorganized list: - Show the player that the AI can see what they are doing (sighting up in F.E.A.R) - Interact with the world and navigate in a more realistic way (don't let a railing stop you) - Have the AI perceive as much of its environment as possible through sight, sound, and memory of scene state ("this door wasn't open before"), and make this clear to the player. - Try not to adhere to predictable attack/behaviour patterns, try to maximize emergent behaviour within reason. - Hold back information on the intelligence of the agents, but imply greater depth (cloaked F.E.A.R guys, Houdini splicers, the locust general in Gears (ironically), spider zombies or whatever they were called in HL2, etc) - Keep the agents in character and consistent with the story (thuggish splicers, HL2 characters, etc) - Use squad mates to show intelligence, and to imply the intelligence of enemies ("They are moving to pin us down!") - 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. Anyway, those are my opinions on the matter. As for the format of this comment... I haven't slept, so take the clarity of it for what it is worth. ;-)

William on February 21st, 2008

"Oops". "Great job". "I'm sorry I did that. Won't happen again". "Hey, here's that guy again that drove through enemy lines to save us yesterday." When was the last time the AI said that to you? When was the last time the AI truly was responsive to what you did, and to what he did to you? For example, by stopping his chat mid-sentence when you turn away from him. By not pointing a gun at your head when you approach him as an ally. By sharing some of his ammo when you have little left. By laughing when you fail to make a jump. My point is this: - AI is an illusion, and is primarily judged on (the absence) of failures - AI cannot compensate for a broken illusion in primary gameplay by adding more intelligence in other places (linking in GNU chess, or showing staged battles between AI won't change the player's mind after the AI fails to notice the player is threatening him) - AI makes a better impression, and gains more favorable explanation of its behavior by (a) explicitly taking notice what the player does and doesn't do, (b) implementing some more 'etiquette', and (c) a good amount of flattering. To explicitly recognize what the player does, the AI needs quick animations and a plenty of sound bites. In addition, it needs to interpret the player's behavior and compare it to what is deemed 'normal', 'bad', 'great' or 'surprising'. Etiquette (greeting, saying thank you, apologizing, sharing stuff, not unnecessarily disturbing others) is part of our culture. Given the time we spend teaching children how to properly (and more effectively) interact with humans, it must be very important to us. Failures and mistakes are unavoidable. Failures look a lot less stupid when the AI recognizes them, for example by saying 'oops' (Half-Life), or explains them away ('nah, I must have heard some birds' - Far-Cry, when failing to find the player upon hearing noises). Showing people that you listen to them, that you take interest in what they do, and saying nice things to them are a great way to make people comfortable and think more positive about you. People really think you are smarter when you take more time to listen to them. People like you more and have troubles detecting lies when you flatter them. I'm a lousy Halo player, but I felt much better when the AI soldiers played their canned sound-bite about being overjoyed because Master Chief was fighting with them. I admit being positively surprised that the people in Oblivion: Elder Scrolls knew about my successes (in their linear story). William p.s. Some concrete examples: - Half-Life does the 'oops' thing when it fails to launch a grenade away from itself - plenty of AI's say 'huh!?!' in one way or the other to show they recognize the player (and to buy time for the proper animation to blend in). Metal Gear Solid's exclamation marks are a great example. - Call-of-Duty (1)'s AI moved out of the way to allow you to occupy their position. Halo has the AI jump out of vehicles to make room for the player, or even drive up to the player to pick him up. - Fable, Oblivion explicitly mention deeds performed by the player. Half-Life 2 and Halo have canned samples ('there's Gordon Freeman!') to flatter the player. - Half-Life 2 goes a some way in establishing proper rapport. Characters continue to address the player when talking, wherever the player goes. When they are supposed to lead the player somewhere, they'll notice and wait when the player does not follow.

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!