AI: Good or Bad?

It’s safe to say that all the successful mainstream MMO’s have very simple AI. At best, they have good heuristics about when to use certain abilities. This is a far cry from FPSes, some of which have very convincing AI.

But why do MMO’s have such bad AI? Well, many Korean MMO’s just don’t have the server CPU cycles to support it. A common architecture there is to use a single CPU for every aspect of the server, which relegates NPC interaction to the more minimalist variety.

But the architectures common over here do not have this limitation. We could go hog-wild with the AI if we wanted to. In fact, back when AC2 was in beta, we did just that — I remember a version of AC2 where Drudges, the goblin-like low-level monsters of the world, had been given elaborate AI help-finding routines.

In this version of the game, which thankfully never made it to the live world, Drudges could decide if they were overmatched, and if so, could run and get help. If they got back and decided that they were still overmatched, one of the monsters would run and get more help, and so on until they were sure they could win. And they did win. It wasn’t any fun. But it was pretty easy to code!

 An AC2 drudge dancing
Think you could take him? During development, this little Drudge could
call in more back up than a Mafia Don.

Okay, so sure, that was stupid, and was quickly toned down. And then it was toned down again, and again, and again. In the end, the poor Drudge could only stand perfectly still and scream for help, which was useless unless there was a monster within thirty meters. And what do you know, the AI ended up just like all the other MMOs.

AI is relatively easy to code, once you’ve got path-planning in place. But figuring out what will be fun … that’s the hard part. Players in a traditional-model MMO like to know their odds before they begin. MMO players expect to win 90% or more of the fights they undertake, and they can only do that when things are extremely predictable. Monsters who can get help are much less predictable than monsters who stand around waiting to get chopped up.

AI can be extra annoying in games that center around groups of players working together. Here, MMOs tend to use an elaborate “aggro system.” Players have abilities which make the monster more or less likely to attack them personally (rather than somebody else nearby). These abilities can only work when the monster is very predictable.

“Ah, but what about raids?” you might be thinking. Raid encounters need great AI, right? No! Please do not give your raids good AI. Raids are scripted encounters. One of the most appealing parts of raids (for the hardcore raiding audience) is learning how the scripted encounters work and overcoming them. Although the scripting needs to be more complex and interesting, the actual encounter needs to be more predictable than regular encounters, not less.

So assuming you’re making a traditional-model MMO, where players typically kill small numbers of monsters over long (~30 second) periods of time, you can’t diverge from the mold too much without breaking the model. But that doesn’t mean your monsters have to be big stationary lumps of sinew. Here’s a few ideas on designing AI without breaking player expectations (or being really annoying to players):

  • Want your monsters to feel more lifelike? Give them an “angry but not yet attacking” state. If players get within 20 meters of a monster, the monster attacks. But if players stay out at 40 meters, the monster can still appear to react to players: calling out taunts, loading its gun, diving for cover, etc.
  • It’s okay for some weak monsters to run and get help from bigger monsters — as long as it’s predictable that they’ll do so, so players can plan accordingly. You may want to telegraph that they’re going to run, too (such as with a special HUD icon).
  • Monsters’ combat maneuvers are allowed to be unpredictable. For instance, it’s okay for monsters to have a super power that they use at random intervals. This is one area where MMO players seem to accept a large degree of randomness.
  • Your aggro system can work however you want it to, as long as it can be understood and predicted by players.
  • If you add random behaviors, make them in the player’s favor. In AC2, if a Drudge killed a player, the Drudge had a 25% chance of doing a little victory dance over the fallen player’s corpse. This was very memorable, and it was okay because it didn’t hurt the player any. (It actually benefitted any other nearby players, because they could get in a few free stabs while the Drudge danced.)

Flavor over substance: that’s the (slightly disappointing) secret to good AI in a traditional MMO. Make players feel like they’re battling intelligent foes, but make the foes actually very predictable.

This entry was posted in Design and tagged , , . Bookmark the permalink.

9 Responses to AI: Good or Bad?

  1. Talyn says:

    I’ll argue a bit about the raids, though. Part of why raids bore the hell out of me after the first few times is exactly what you said: it’s a scripted encounter. More to the point, it’s a static scripted encounter. Nothing ever changes. Once you know the “magic pattern” to solve the equivalent of that room’s “Rubic’s cube” it’s no longer fun and it becomes simply a barrier (the time it takes to get through it) to progress to the next “puzzle.” These scripted encounters are all good and fine, but I would like some dynamic AI in some places too, especially boss fights (assuming there’s no simultaneous puzzles to accompany the fights). “Good” AI, that is, not Drudge-style “swarm the players with thousands of Agent Smith-esque goblins.” I like to win fights too, especially if I have a good idea what I’m getting myself into. But sometimes the only way you can find out is to put yourself in harm’s way, and if a death is the price I pay to learn, so be it.

    I rarely get the impression I’m fighting an intelligent foe when said foes just around with no purpose in the world other than waiting on players to attack it, then just standing there playing Rock ‘Em, Sock ‘Em Robots combat.

  2. Eric says:

    Talyn — you have a good point there and I’ll relent a bit; I would also like to see a tad bit more unpredictability in raid encounters, and especially in small-group encounters. All too often, game designers think “making an encounter hard” just means making the monsters’ stats go up, but another way to make monsters harder is to increase the unpredictability of the encounter.

    In many cases, giving a monster a 10% chance to run for help (or whatever) is a lot more fun than giving the monster 50 more health points. But it has to be in moderation — a special event, basically — or the game’s overall difficulty will be too high and people will get discouraged by their constant deaths.

  3. Talyn says:

    I would actually enjoy the Drudge approach of calling for backup. I’ve seen it in other games and it makes things interesting as well as giving incentive to try to take out the ones who call for help quickly (kind of a different take on “kill the healer first!” mentality). The key is simply to have a rule on exactly how much backup ever gets called. It could be, say no more than 1-3 backup calls per combat encounter (and there’d need to be other responsive mobs within earshot anyway) and even then, your 10% rule on whether there’s a cry for help at all could also apply. There’s any number of fairly simple techniques that could be implemented that would give a little more perception (and perception > reality sometimes in games) that we’re fighting mobs that are a little more dynamic and intelligent than the ones we fought in the last umpteen games.

    What I’m really interested in, though, is concepts of how to advance without combat? Devs seem to want to craft more “realistic” or at least have more depth in their virtual worlds, and players such as myself crave exactly that, yet we’re still stuck in the neandertholic “it turns out that violence *is* in fact the best solution to all problems.”

  4. Steel says:

    Wow, you’re telling me some people actually think there is good AI in MMOs? Yeah right. Aggro systems are a prototype of a decent system at best. In the words of penny arcade, “Shoot the doctor! This – right here! Shoot him!”. What would you do if the AI actually acted smart? If it attacked the healer relentlessly, completely ignoring your dps? What if casting a healing spell completely maxed the aggro on a boss? If that happened in most MMOs, the raid would be impossible because most MMOs have no reliable way to protect a healer. And healers tend to suck in every possible way, so if a boss hits them they’re boned. The AI in mmos is purposely stupid as hell because it would be entirely too easy to break the only team dynamic they allow in their system.

    Games aren’t smart enough these days. I blame stupid devs who can’t think outside the box. Eric brings up a good point, a 10% chance to run and grab Big Joe is much better than 50 more hp. This is because it’s something that can be overcome with more than just a level or a move, it can be overcome with human intelligence. The only hard games I’ve seen are only hard because of stat differences, NEVER because of tactical differences.

    Again, human intelligence. No MMO requires this to my knowledge. Very few console games do now. Last I checked, games were supposed to be fun because they’re a challenge, not because you enjoy watching numbers go up and your suit of armor become increasingly gaudy, but they aren’t. If you have a hard time in an mmo, it’s because you’re not high enough level or don’t have the right gear.

  5. Talyn wrote:
    What I’m really interested in, though, is concepts of how to advance without combat?

    So am I. The problem is that combat is understood by most people and it’s a single system to create. Trying to create other systems takes a lot of time and effort, and you run the risk that people won’t understand it. Also, combat is one of the few things that players don’t seem to mind doing over and over again.

    I did a Weekend Design Challenge on non-combat gameplay you might want to read:

    Steel wrote:
    Again, human intelligence. No MMO requires this to my knowledge.

    I heard a great quote once, “If thinking were easy, everyone would do it.”

    Part of the problem is that the people who want to really think are few and far between. I run with a fun group of friends in WoW, and we enjoy trying to figure out new encounters. If we run with other people, they tend to get a bit impatient because we’re not doing things the “most efficient way”. Many other people want to look up the info on a site and duplicate what other people have done before. I think this is what Eric is talking about with scripted encounters. There are a few people that tackle the new content and figure out the system, then that gets shared with the majority of people who just try to duplicate that success. Of course, sometimes even my friends and I get impatient and just look up the answers, too, if we feel it’s taking too much time.

    The core issue here is player control. The problem with the Drudges going and getting help wasn’t the fact that they got help, but rather the fact that the players could probably do very little to stop it. If my only option was to liquefy the Drudge before he got help, and if I have no realistic possibility of doing that, then the encounter is going to suck. However, if the players can make a choice to keep the upper hand, then the encounter is more fun. For example, a character without incredible damage potential could anticipate when the Drudge would run for help and then do something to keep him in place, it would be a more fun encounter. Giving the player and interesting choice (“Should I stun/root/hold/whatever it now, or try to do another round of damage?”) makes the encounter more interesting.

    There’s reasons why this type of approach isn’t taken. Briefly, some developers will think that if a behavior can be countered, then why create the behavior in the first place? It’s the sin of unused content. I think there’s also the problem that in most cases, stun/root/hold/whatever mechanics tend to suck in most games and tend to viewed as overpowered if they are at all effective.

    In the end, the true purpose of AI is to make the game more fun. But, while this is easy to say, it’s much harder to do in practice.

    My thoughts.

  6. Azaroth says:

    In a game that seeks to dispose of the general Diku style of progressive item and boss power as a PvE game, unpredictability of the encounter may be where it’s at. Obviously some gear dependency is required to conquer higher and higher level boss encounters, but where the power gap between players is to be kept at a minimum and the clodhoppers of PvE are to avoid the delicate toes of crafting and PvP, maybe the ability to adapt and alter tactics becomes the way to progress instead of simply grabbing more powerful gear and figuring out the pattern of the boss.

  7. Talyn says:

    That actually brings up another of my issues with modern games. The concept of “to make it more difficult, just give it more health+armor and make it hit harder” started when? Like… Space Invaders or so? Seriously, can’t we get beyond that yet?

  8. Eric says:

    Azaroth – definitely, in a low-power-progression game (such as Asheron’s Call 1, but not AC2), the main way that higher-level players are better than lower-level players is that the higher level players have more verbs available to them. So in theory, they’re becoming more powerful, but only if their opponents are changing their tactics enough to make the extra options useful. If the opponents don’t actually do unpredictable things, this is a waste.

    But the catch-22 for mainstream MMOs is that if you make opponents too unpredictable, many of your players can’t react fast enough. In a realtime game like an MMO, you can’t create more than a few high-stress “twitch” situations, or else your audience of 40-year-old-plus players are going to have a very hard time keeping up. (And yes, the 35+ gamer crowd is plenty big enough to deserve attention, if you’re going for as big an audience as possible.)

    Now, in an MMOFPS, which has an inherently narrower audience (of mostly young males with good reflexes), I’d encourage just that: less raw power difference between levels, and more breadth of options as you level up. Making the opponents require more and more reflex ability is a GOOD thing in an MMOFPS, rather than something to be avoided. So I think it all comes back to what your audience can handle and what your game goals are.

  9. Azaroth says:


    However, can those “twitch” situations still not be effective without being fully reliant on a literal twitch factor? For instance, progression of power for the player can simply mean advanced customization and increasing ranges of options as well as a low progression of overall power level.

    Things would get tricky, but it only comes down to long nights for the designers creating boss encounters that require the utilization of the sideways expansion of player power. I’m highly confident that it could be done without requiring people to set up intricate macros, always use voice chat, and become a crack MMO strike team.

    Something as simple as:

    A skill based (as opposed to level based) game with several separate magic schools available to the player. Obviously none of these are highly superior to the other, but player progression would possibly dictate naturally that eventually elder players completely skill up more and more of these magic schools.

    End game boss encounters could be based in group size limited instances, and, for example, require a certain amount of Fire DPS that demands much of all of the group be well versed in the school of Fire magic.

    The encounter then changes somehow, whether by the boss altering itself or new factors being added, and now requires that most or all of the players in the group are high in the Water Magic skill – or else the encounter will be near impossible to complete successfully.

    Such a thing could be done with little or no reliance on a player’s actual level of competency toward twitch-based play. Slowly with lots of dialogue if you like. However, it does require a time investment in sideways progression. In this particular example, I’d probably add some gameplay elements that made it fun and, I dunno, “make sense” to people to keep adding new time-expensive skills to their repertoire. Both “lore”ish reasons for a vague background logical comfort, and probably “fun” reasons like getting new “shadowform-esque” forms to change into that allow casting of multiple schools of magic at once, giving various bonuses to schools of magic when cast, or just looking Very Bad Ass. Whatever.

    But no matter what, where the main goal of “low power progression” games is achieved and yet you still want to be mindful of the fact that you’re attempting to not exclude everyone but 20-something males (and I would never be, as I’ve pulled that stunt before and regretted it), design direction may become seemingly muddied. But there’s always going to be a way to work around that. And the answer is generally always probably fairly simple.