Article
i/2008/06/batmanrobin

The Art of AI Sidekicks: Making Sure Robin Doesn’t Suck

Dave Mark on June 4, 2008

In this week’s discussion column on AiGameDev.com, Dave Mark (CEO at Intrinsic Algorithm) brings up the topic of co-operative AI characters — an increasing trend in video games these days. Let him know what you think and post a comment below.

Batman & Robin

“AI only needs to be as good as the character’s life expectancy.”

That’s the rule of thumb for the AI programming world. Or at least that’s what we are all taught. In theory, it’s a sound rule. If the average enemy is on screen for seven seconds, make seven seconds worth of behaviors. If they are going to be observable for five minutes, a seven second loop of behavior is going to get old really quick. A recurring character in an RPG may have a good amount of face time broken up over the course of the game, but that is still in reasonable chunks (and generally entirely scripted). But what if the AI agent is going to be around all the bloody time? I mean not just hanging out in the background like a vendor or a citizen in Neverwinter Nights… but around around — like an “in your face” around. A “glued to you at all times” style of around. Now THAT is a lot of AI! And yet that is what is happening in the game world today.

Early on, the pull of “one against the world” games was strong. What could be cooler than being a single prisoner in a Nazi castle that just overpowered his jailer… and now has to fight his way out through half the bloody German army? (For those of you old enough to remember the original Escape From Castle Wolfenstein in 1981, how much did it panic you every time you heard that scratchy, distorted yell of “SS!” coming out of your Apple ][ speakers?) This formula was made even more prominent by the arrival of the “Doom effect”. One marine against all of Hell? No big deal. A single scientist against hundreds of aliens? He can handle it.

Well, apparently the game industry got tired of the clichéd asymmetry. There has been, of late, a new thrust towards what is being generally termed “sidekick AI”. We saw it with Alyx in Half-Life 2, the Arbiter in Halo 3, the (much-maligned) “PAI” in Army of Two. We will see even more of it with the now mythical (yet strangely unnamed) “dog” in Fable 2 that Peter Molyneux claims will bring us to laughter, love and tears and make us abandon all desire to ever get a real pooch because this one adores us with all his precious little canine heart and we will bond forever until such time as he gets his happy little head chopped off in a horrific battle, inspiring us to fly into a berserker-like rage of vengeance against all evildoers who would senselessly harm little doggies… *ahem* Sorry. I’ve been listening to too many Molyneux interviews.



Video 1: A demo of the dog AI and behavior in Fable 2. This is the first of 3 videos at GameTrailers.com. They are from GDC 2007 so they are somewhate dated — but impressive nonetheless. You can find all three videos here.

On the other hand, isn’t that what needs to happen? If we are going to have an AI that’s tagging along behind us for hours on end, wouldn’t it be better for us to love him/her/it? Let’s face it, if you are playing 10 or 20 hours of game content, any form of repetitive AI may have you digging through the manual for scouring cheat codes online in order to find the “slap your sidekick upside the head” control. You can’t simply get away with seven seconds… or even 5 minutes of believable behavior. Beyond that, the sidekick needs to be more than just something you are entertained and amused by. You need to be able to depend on it… as if it were your lifelong partner.

The Power of Two

The new Batman and Robin?

Trusty sidekicks have been a staple in all types of adventures in literature, movies, and TV. The Lone Ranger could never have heard enemies coming if Tonto hadn’t been there to put his ear to the ground. Agent 99 kept Maxwell Smart in line just like Penny did for her goofy uncle, Inspector Gadget. The Brain had Pinky (for what that’s worth) in his quest on world domination. Shaggy would have had to eat all the munchies if Scooby Doo hadn’t been there to help out. (I’m not sure how relevant this is to my topic – I just couldn’t leave them out, though.) (Oh… and don’t get me started on Scrappy Doo.) And Alex, the intrepid AIGameDev hero, would have to write one more column each week on top of crunch time at his contract if it weren’t for the stalwart and ruggedly handsome (in a 40ish, mildly out-of-shape, computer nerd sort of way), Dave.

On the other end of the scale is James Bond. Let’s face it… Bond was cool. But Bond’s sidekicks, usually some hottie-du-jour (a concept which the game industry did seem to get a handle on), were usually less than stellar from a mission-functional standpoint. (And I am, indeed, limiting the scope of the analysis to mission-functionality.) Often times, Bond spent a good deal of time pulling the woman’s proverbial bacon out of the fire. (That’s about as safe a metaphor as I could insert there.) And, unless you are playing Super Mario Brothers, endlessly saving ditsy damsels who can’t keep from getting into trouble isn’t a game design staple. If you want a mission partner who can be less distraction and more asset (regardless of her distracting assets), she’s going to need to show some smarts.

“Robin. Seriously. Just shut up with all the ‘holy’ stuff. I’m trying to think here.”

Perhaps the duo that best models the way game sidekicks are today, however, is Batman and Robin. Batman looked cool, sounded cool, had all the nifty toys stashed about his person, and did most of the heavy lifting when it came to whooping buttocks. Robin knew his roll well. He did a respectable job of whacking around the non-critical bad guys, gave Batman someone to commiserate with when they were in trouble, sometimes came in handy in peculiar situations, but otherwise was relegated to providing a wearisome (and often abstractly theological) commentary on the events of the moment. In fact, Robin tended to provide most of the chatter yet strangely left all the decisions up the relatively taciturn Batman.

Compare that to how games tend to run. You have some annoying, mildly useful person circling you like a small moon, kinda holding his own in a fight – maybe enough to allow you to step back and toss down a sports drink, but whose true calling seems to be making repetitive and vaguely helpful comments that, at times, cause you to pause for a moment and ask “what the heck did he say that for?”

Invulnerable or Expendable?

Even the above illustration is better than some of the options you see in the “squad-based” shooters these days. Often, your teammates are one of two varieties. Tapping into another TV/Movie reference, if you were to make an aggregate of every Star Trek “Away Team” that Kirk took with him, you will realize that there are those that always live and those than always die. No matter what befell the team, you could count on the fact that Spock, McCoy, Bones, Sulu and Chekov were going to come out the other side. After all, they are necessary for the plot… not just in this episode, but in all future episodes as well. On the other hand, if you were one of the unlucky chaps who wore a red shirt, you were toast. You were specifically included on an away team just to run in front of the camera and die in spectacular fashion. It wouldn’t be fair if Kirk’s entire team was always completely unscathed, right?

You are so toast…

Photo 1: Star Trek Red Shirts have become an accepted metaphor for “someone who is about to die”. How many teammates in shooter games fit into that category? And how many show the uncanny invincibility of Spock, Bones, etc.?

It didn’t take me long playing Call of Duty 2 to realize that there were some guys who were going to last throughout the whole theater campaign and others who were there specifically to die in front of me in some magnificent script-and-trigger festival. At least they weren’t denied all dignity; they were all given names so that I could take a moment to mourn their passing. If I spent 15 seconds pondering the life of Pvt. ??????? ??????? (btw, that’s “Red Shirt” in Russian), then his memorial probably lasted as long as his on-screen life. Was this marked difference in longevity based on the fact that my partners in perpetuity were smarter than their firearm fodder brethren? Nope. They were often just as dumb. They could have taken a proctologic potato masher and still been smiling away as if we were about to sit down for a pleasant tea-time. And with that asinine smile (so to speak), my ever-tenuous suspension of disbelief was out the window. They didn’t survive because they did something cool and pseudo-heroic (in a Robin sort of way), they survived because they were allowed to defy both probability and physics (in an Inspector Gadget sort of way) in order to do so.

So, Dr. Frankenstein, How Do We Create This Sidekick?

So, the challenge is laid before us. Since many of us can’t always play with real friends at our sides, we want our synthetic gaming partners. We want them to be engaging so that they are not completely dull — but we don’t want them to be nattering idiots that we may want to shove into the nearest lava pit. We want them to be competent fighters, not only as individuals but as a cooperative part of our little team — but it would look stupid if they were blatantly invincible. We want to care about them… to be attached to them… to want to protect them — but don’t want to be reminded that, even if we don’t protect them, they will still be around in the final battle because they are necessary for the plot. There’s a bit difference between wanting a relationship to continue and knowing that it is fore-ordained to continue whether we care or not.

That’s a lot of splitting the difference. It would seem that we have to hit 3 or 4 different “sweet spots” — and all of them are in areas that are already daunting tasks for game AI. So we need to ask ourselves some questions. Is this something that is even doable? If not, let’s just give up. But, running with the premise that we can accomplish these lofty goals to at least some extent, where do we begin? What is the biggest challenge in creating that magic blend that we can actually stand to plod through days and weeks of gaming with this sidekick tagging along? And is there even agreement on what that magic blend is? I’m sure there will be plenty of argument on this point as well. But from an AI standpoint, is it even technically feasible?

To paraphrase the titular sidekick…

“Holy design problems, Batman!”

Discussion 17 Comments

Kevin Dill on June 4th, 2008

It strikes me that if you want to do this well, then you need to crack the hard problem of discerning the player's intent. I've seen some cool research on the topic (Peter Gorniak's dissertation at MIT comes to mind), but nothing that's made me feel like we're all that close to really pulling it off. And then on top of that, of course, are all the usual problems of writing an AI that can survive close scrutiny... -K

Andrew on June 4th, 2008

I entirely agree - discerning intent! What a major problem. Consoles have it the worse even with an array of buttons, most are taken by player controls. The AI only knows what the player is looking and, and if they are shooting or moving, or not. There is no sound, hand signals or other way to know orders :) You did overlook some other games where AI allies are much more pronounced. I in fact think you chose bad examples on purpose, for shame Dave! Call of Duty uses cannon fodder, apart from the invincible allies, on both sides. Take a look at the Star Wars: Republic Commando AI, which can do all the objectives and goals you yourself can, and puts up quite a fight itself. It basically has got 1:1 parity between the player and squad members in the majority of situations, and 90% of the game is spent in a squad of 4. The controls of the game are pretty good too (although you still have trouble indicating intent at times). You have 4 options to have the AI attack, stay with the player/regroup, move to a location and defend, or stop. Squad members can take up strategic locations when they are presented, to snipe or use heavy weapons. Then there are more tactical games. Rainbow 6: Las Vegas introduces two squadmates who are pretty much aligned with your abilities. Orders are pretty basic (either "on" or "off" for autofire), but you can send the squad on ahead, get them to breach doors, and properly grapple down ropes. Then there is Brothers in Arms (I've only played the first) which has teams of men - similar ways to command them as with the above, and also introduces at times Tanks to use (much awesomeness). Is sometimes more tactical then Rainbow 6 due to the use of flanking, grenades and careful planning on open battlefields instead of interiors. I think these games are great steps in the right direction. They certainly model most of the character of the AI, and intelligence, to be capable and reactive enough. The need for real-time orders will perhaps mean above the controls of a gamepad or keyboard is voice recognition, or strategic planning menus, and is a possible further direction to take. More autonomous AI who can carry out "missions" such as breach and clearing rooms, or tackling an offence or defence of a location, will allow players to do the overarching AI control and leave the nitty gritty to the NPC's themselves. This would mean the intent required is lessened of course. Pre-planning missions would be good too - I think the SWAT games did this? So it is possible, it should be strived for, and for me, would be excellent to play with. People like a companion - in any genre of game really - and multiplayer sometimes just isn't worth the hassle. This is where singleplayer can shine, and NPC allies are at the forefront of that I think.

Dave Mark on June 4th, 2008

Kevin, That's a great point about discerning the player's intention. I would think that it will have to be a UI element at some point not unlike the "ping the map" feature in RTS/TBS games. Perhaps pointing at an object and sending a command like "hide behind that" or "flank him over there". However, I think that is going to be only addressable AFTER you handle the issues of close scrutiny. They need to be able to do mundane stuff properly before you start building in either anticipatory or specifically directed tasks. @Diogo: Thanks for your comments about the writing. I hope you have had an opportunity to read my column for the past 3 months. Please take some time to do it... and then pass it on! I'm hoping that the book on game AI that I will be writing soon can be just as entertaining while I try to be informative. :-)

alexjc on June 4th, 2008

Nice column Dave. But you forgot to mention the news story that inspired you to pick this topic in the first place! [quote]At its Ubidays event today, French publisher Ubisoft has unveiled details on its latest Prince of Persia game, claiming that the titular character will be joined by a female sidekick that boasts 'revolutionary artificial intelligence'. [...] Mattes described her as "a supporting character that's going to integrate into every element of gameplay" in the game which is being developed at Ubisoft Montreal using the same game engine used for recent hit Assassin's Creed. Mattes continued 'Players are not going to be dragging their heels and getting frustrated. [Elika] is always going to be a positive. Not only is she making the game better but [B]she's not making the game worse[/B], which is of course very important to us.'[/quote]The emphasis is mine. It's a funny comment to make during a marketing pitch, but it shows how passionate players can be in hating badly done co-op AI. As Kevin implied, I think there's a lot of work to be done in creating an AI that can handle orders of magnitude more special cases than we currently do. Alex

Dave Mark on June 4th, 2008

@Andrew One game genre/franchise that I only briefly alluded was that of Neverwinter Nights. It was an interesting study to see how the party NPCs were sometimes decent and sometimes abysmal in their decision making. I honestly had to alternate between saying "Oh, good, he's taking care of that for me" and "What the heck? Nooo... Moron!" Thankfully, in that sort of environment (and with liberal use of the 'pause' function) I was able to somewhat mitigate the bad times and redirect the aforementioned moron onto something more productive.

Andrew on June 5th, 2008

Knights of the Old Republic has better AI, since it was built for it more. The original game which I modded really suffered since the AI was "unaware" of it's surroundings, and simply couldn't cope with a lot of situations, be it traps or anything. Plus the default Neverwinter AI was rubbish, really rubbish, at making spellcasting decisions. I think since you asked about more FPS AI, I gave examples of that. There are games with good allied AI for RPG's too. :D How they are made greatly affects it however. JRPG's for instance can come in a variety of turn based flavours which make AI decision making much easier. Hopefully you can try some of the games I mentioned to get a grasp of how they perform and if they live up to being a Robin :) I do wonder what the Sands of Time NPC will be like - it could be good enough to follow you properly, perhaps, and work with the player more then usual. Good pathfinding should be the norm though :)

Dave Mark on June 5th, 2008

@Andrew: Agreed on the NWN spellcasting. That was one of the things that ticked me off the most. BTW, just so you all know, this column was supposed to come out on Tuesday, but that also happened to be AIGameDev's own Robin Baumgarten's birthday. I just wanted to make sure that everyone knows that HE doesn't suck! Happy b-day, Robin!

Hodgman on June 5th, 2008

Thinking about the whole "intention" problem - could this be somewhat avoided by having the AI [B]tell you[/B] what your intention should be? I know that sounds odd, but what I mean is that we can let the AI be batman while we be robin. In a squad FPS that could mean that we are a private along with 2 other AIs, and we have an AI sgt. who makes the plans. Sarge sits down with the squad and says "Pvt. [Player] and Pvt. [AI#1] are going to charge across to that barn. Pvt. [AI#2], you flank around to those bushes. I'll cover you. Go!". Then the AI knows how to act, because they know what you're supposed to be doing. If you do something else, then any kind of stupid result can be blamed on the AI being "surprised and confused" ;) Now that I think about it, this is pretty much what COD4 is doing on the sniper mission!

Eric_Gilbert on June 5th, 2008

Something that stuck out in this article to me that I'm going to focus on is the sidekick being important and being unbelievable because they are "invincible." First, some games that had interesting / good sidekick ideas: 1. Gears of War - I liked how your teammates could "die" and you could go revive them. I didn't like how there was no penalty if you did NOT revive them. You could finish the fight sequence solo and suddenly an invisible angel came down from heaven and healed them (that's the only logical explanation I can think of). 2. Rainbow Six (forgot exactly which one) - There was a Rainbow Six (and I think some of the Ghost Recons had this too) where you had to pick your squad from a finite list before each mission. Each teammate had their own strengths / weaknesses and if they died during that mission, they were dead for the rest of the game. If they got injured, they were injured the rest of the game. What I liked about this was that it made me "care" a little whether my teammates died or not because there was consequences if they got injured or died. What I didn't like is that I had absolutely no control or influence on their performance...they died because they were stupid (most of the time) and I couldn't do anything about it. What I take from these is to put a higher priority on caring about your comrades...but more as an asset rather than for their personality (which it wouldn't be hard to give them each their own personality so you can like some more than others... like one guy being really good for missions, like higher health than everyone else, but his attitude sucks and doesn't always follow your orders, i.e. he tells you where you can put your orders). I think it would be great to combine the good things about the two listed games above because their strengths cancel out each others weaknesses. For instance, was it critical that your partner in Gears was always Dom (or the other two)? Would it have been so bad if you HAD to save Dom before he bled out or you had to go it alone until there was a point in the game that you could team up with a Dom Jr.? My point is to try and make the sidekicks general enough to truly be expendable and let them die if the player is slacking or doesn't care...but make there be consequences so that the player does care. Obviously this wouldn't work for all genres and this is a narrow, specific example...but just sharing my thoughts...

Dave Mark on June 5th, 2008

[quote=Hodgman;2815]Thinking about the whole "intention" problem - could this be somewhat avoided by having the AI [B]tell you[/B] what your intention should be? [...snip...] Then the AI knows how to act, because they know what you're supposed to be doing. If you do something else, then any kind of stupid result can be blamed on the AI being "surprised and confused"[/quote] While I see where you are going with this, what your solution starts to smack of is the same ol' same ol'. Very heavily scripted and contrived. For example, what happens if YOU don't do what you were told? Now the whole situation is broken again and your partners don't know how to respond to what you have decided to do. [quote=Eric_Gilbert;2822] 1. Gears of War - I liked how your teammates could "die" and you could go revive them. I didn't like how there was no penalty if you did NOT revive them. You could finish the fight sequence solo and suddenly an invisible angel came down from heaven and healed them (that's the only logical explanation I can think of). [/quote] Halo 3 did this as well. It came across more as "the Arbiter is incapacitated" and then "now that the fighting is over, he has come to". It seems to be the same mechanism as when you are fighting co-op and the "dead" player can't respawn until you are in a safe area. (As far as I can tell, that means no LOS to any enemies. Damián, are you out there to confirm this?) However, it did come across kinda silly at times. Also, the effect is only to care about him for the span of that battle - knowing that he was back to 100% at the end of it. [quote]2. Rainbow Six (forgot exactly which one) [snip...] What I liked about this was that it made me "care" a little whether my teammates died or not because there was consequences if they got injured or died. What I didn't like is that I had absolutely no control or influence on their performance...they died because they were stupid (most of the time) and I couldn't do anything about it.[/quote] Excellent point! I had forgotten about that! Now that I remember back, it did make you change the strategic plan of the mission somewhat. You didn't want to send dudes into places where they would get mowed because you couldn't afford to (didn't want to) lose them. Still, that's a design decision and not an AI solution. As you pointed out, they still tended to suck. [quote]Obviously this wouldn't work for all genres and this is a narrow, specific example...but just sharing my thoughts...[/quote] And, being a "developer discussion" column, that's exactly the point! Thanks for taking the time! (Now go back through [URL="http://aigamedev.com/discussion"]3 months of columns[/URL] and give me your thoughts on all of them!)

William on June 5th, 2008

[QUOTE=Kevin Dill;2805]It strikes me that if you want to do this well, then you need to crack the hard problem of discerning the player's intent. [/QUOTE] Well said. But there is more to it. The problem of 'discerning the player's intent' already assumes that the player: - has an intent - acts out this intent correctly (any insight you might discern here is thanks to discussions with the fine AI folks at Guerrilla). Sometimes players just do something random, to see what will happen. Sometimes players have no situational awareness (I play co-op Rainbow Six Vegas with my wife, and although she's great at many things, finding cover or aiming for threat avenues of approach is not one of those). It's hard to discern an intent from those players. Even when the player has the intent to play, for example, stealthy in order to infiltrate an enemy camp, he might not act consistent with this intent. He may opt not to crouch simply because he doesn't understand the controls, or because constantly pressing the right stick hurts physically. He may get lost and as a result sneak forward to his original safe spawn point while assuming he is approaching the enemy camp. If we had designed the AI to automatically copy the player's behavior (Rainbow Six Vegas does this a little bit, at least with 'loud' and 'silent' weapon choices), the AI may incorrectly decide not crouch. If we had designed the AI to be aware of safe and hostile zones, the AI may surprise the player by acting 'at ease' during his sneak forward in the wrong direction. Obviously, the fact that the player doesn't always have an intent or does not always act consistent with this intent should not stop us from discerning the player's intent. But we need to make sure that the AI will produce good enough behavior even when the intent is discerned incorrectly. p.s. In a discussion of FPS sidekicks, the SOCOM series by Zipper Interactive should not go unmentioned. Right from the start it featured three (voice commanded) friendly spec force soldiers Boomer, Jester and Specter, with a very extensive command set (you could order them to "lead to objective Charly", "frag and clear room", "stealth to this point"). The implementation lacked a bit of robustness, especially for the sidekick Boomer who always stayed with the player. Just google for "socom Boomer"...

Hodgman on June 6th, 2008

[QUOTE=Dave Mark;2823]While I see where you are going with this, what your solution starts to smack of is the same ol' same ol'. Very heavily scripted and contrived. For example, what happens if YOU don't do what you were told? Now the whole situation is broken again and your partners don't know how to respond to what you have decided to do.[/QUOTE] I pointed out that if it breaks because you didn't co-operate, then at the very least the AI has an excuse ;D Anyway, it doesn't have to be scripted. These pre-battle plans could just be the same ol' scripted dialogs that we're used to, or they could be based on a fully dynamic mission planner. They could even be developed by a mixture of player and AI input. E.g. before the battle, you tell the AI that you're going to rush to the barn. The AI Sgt. then makes a plan for the rest of the squad based around your decision. Or Sarge tells you the plan, and then you can say "[I]No, *I'll* cover *you* while *you* run in there![/I]". Again, in the broken cases ([I]e.g. you tell the AI that you're going to rush the barn, then they say "ok, ill cover you", and then you just sit there[/I]) the AI just has to yell out "[I]Hey! Why aren't you following *our* plan?[/I]", and offer you the chance to make a new plan. Basically, I'm just thinking of game-play that involves a "communication/planning stage" in between the combat stages (kind of like the original Rainbow 6 games), so that when the combat happens everyone one knows what they are *supposed* to be doing. If you change your mind, the rest of the squad can simply ignore you and continue on carrying out the plan.

Kevin Dill on June 6th, 2008

It certainly seems like the solution lies somewhere in the area of having the player directly communicate his plan. One of the things we did in Kohan 2* (which I thought worked pretty well) was to give the player team commands that they could use. This let the player flag the map with a build, explore, fight, or give flag, and then used the context of what they clicked on to decide how to respond. The AI didn't *have* to do what it was told, but generally speaking it did. That worked pretty well, but as has already been pointed out, I'm not sure how well it would translate into other genres. Part of the problem here is, I'm not sure your average FPS player really wants to spend his time giving ops plans. Or spend the months training his squad in how to work together that people in the real military spend doing just that. Even with two humans, the idea that you can take two random people from divergent backgrounds with no common training, and have them work well together in a combat environment with minimal communicaton, is pretty ludicrous. How much harder then to have one of those humans be an AI programmer that has to write a program that is going to play his role for him. Of course another way to approach this, which Gears of War does heavily, is to make the level really linear, send the AIs on their way, and let the player tag along or not. Alot of the time in Gears (which I played only briefly - I'm not really an FPS guy), I felt like I could probably sit the battle out and my guys would probably still win. In fact, given how lousy I am at FPS's, I think that that is what actually happened despite my rather pathetic attempts to contribute. Of course, my strategy of letting the AIs fight for me worked right up until I got up to the first berserker and got decimated - I never did make it past that. :) With that said, making the player feel incidental to the story is not exactly the best strategy for having a top-selling game that I've ever heard... * For the vast majority of you who have no idea what I'm talking about, Kohan 2 was an RTS game from TimeGate Studios that was released in the same week as Dawn of War and Rome: Total War. Needless to say, it didn't sell a whole lot of copies - but it was a great game nevertheless, with some pretty decent AI. You should totally check it out, and I'm not just saying that because I want it to sell. ;)

Dave Mark on June 6th, 2008

[quote=Kevin Dill;2843]Part of the problem here is, I'm not sure your average FPS player really wants to spend his time giving ops plans. Or spend the months training his squad in how to work together that people in the real military spend doing just that. [/quote] Imagine laying that concept over onto something like a constant action team sports game like soccer, basketball or hockey. If you had to continually tell your teammates where to go, it would get frustrating really quick... and is not even remotely a realistic method of simulating the sport. Which makes me wonder if perhaps the secret isn't already somewhere buried in the approach taken in sports game AI. The difference is that there is a more repetative nature to sports games - which makes for a more restricted rule base from which the teammate players have to choose their actions. Also, the interaction is more mechanical than personal... i.e. you don't converse with them too much... they just do their thing.

Owen on June 12th, 2008

Has anyone thought about having the enemy and companion AI agents collude in such a way to make the companions look more competent and not make the companion's invulnerability so obvious if they are? To give a specific FPS example several games (Republic Commando, Call of Duty) have allies which will pick up enemy grenades and throw them back. As already mentioned in Call of Duty though, sometimes allies have more grenades thrown at them than what they can handle revealing their immortality when one of the grenades explodes next to them. Situations like that seem ripe for having the enemy and allies collude, so the enemy NPCs can check that the allies (the invulnerable ones at least) have time to get out the way or throw the grenade back before they choose to throw it at your ally in the first place. I'm sure there's lots of other ways collusion could make your companions look more intelligent. If that sort of cheating doesn't involve the player directly maybe they'd be less likely to notice it too.

Dave Mark on June 12th, 2008

Great... Ladies and gentlemen, meet the AI sidekick I spawned a little over 15 years ago. Apparently, he was designed with the advanced skill of correcting my grammar. However, he seems to need work since there are a few other typos in this column that neither Alex nor I had the time to clean up. Missed those, did you son? ;) And yes, for the record, he also pwns me at Halo 3. (Are you reading this Damian?)

MieszkoZ on June 15th, 2008

Encouraged to do so I'm giving my thoughts. Forgive me if I repeat any ideas from previous comments or write any obvious-obvious things. I think sidekicks can be divided into two groups: [B]Assets[/B] and [B]Companions[/B]. First group (named in inspiration of [B]Eric_Gilbert[/B]'s comment) contains of NPCs being not much more than team mates, followers with a specific role to play, like being able to lay covering fire, snipe, lay bombs, etc, or just be there and make a nice battlefield background. This group also contains all sport games' team mates. The second group is a lot more challenging for AI Programmers (and designers as well). Companions (no good reason for this particular name) follow player most of the time, rarely die and if they do so it needs to be very dramatic (good spot for game's turning points). They should be a lot more than just tools, maybe they can even by quite useless (but it requires extra work do make them even less annoying). And most of all, following current trends in character AI, they need to have emotions. Now, most of issues we have to address are handled differently depending on which group sidekicks in our game are in. Couple of issues, from the top of my head, that can be handled differently: [LIST] [*]Death Like I said, death of [B]Companions[/B] is very rare thing, and if they die, it means something. Often this kind of sidekicks tends to be invulnerable. If we make them vulnerable it takes a lot of tweaking and some decent AI to make them not fall on every occasion. For [B]Assets[/B] I like that [B]Eric_Gilbert[/B] suggested: [quote=Eric_Gilbert;2822]Would it have been so bad if you HAD to save Dom before he bled out or you had to go it alone until there was a point in the game that you could team up with a Dom Jr.? My point is to try and make the sidekicks general enough to truly be expendable and let them die if the player is slacking or doesn't care...but make there be consequences so that the player does care.[/quote] And adding my 5 cents, we could implement a nice system that would treat any action performable by Assets as a function parametrized by who will perform it (with every Asset character performing actions in a different way, and allowing player to perform those actions himself). So we (as AI programmers) don't care who dies, because actions are not tied to characters. If scenario requires more characters than are alive at this moment we simply spawn more. [*]Reading player intentions [B]Companions[/B] should be good at it ;) Seriously: it's a very complex topic and maybe we can all talk about it in Paris :) [B]Assets[/B] in a FPS war game or a sport game don't really need to read player's intentions as long as they know what to do (i.e. they're following some attack/game plan). If they do need to read player's intentions then it should be a lot easier than with Companions since Assets have a clear role to play and shouldn't do anything exceeding it (or they'll become Companions ;) ). [/LIST] About 'breaking AI' by not following AI's or your own plan, my thought is that players will always be able to do something illusion breaking (sometimes it can be done by not doing literally anything ;) ). If player doesn't follow said plan Assets will follow it alone, move forward, die and fail mission, and player will miss all the fun. Now, I'm far from putting restrictions on players, but I'd like them to know that the way to get most fun from the game is to play a role in it, not try to break it (Maybe it could be printed on the box or in the manual ;) )

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!