Losing Aggro

Brian “Psychochild” Green has a good new article and related blog posts up about rethinking the trinity of MMO design.

The point he never really addressed was what I think is the biggest issue and significant hurdle to “rethinking” MMO design– aggro.

The TL;DR version of this post: MMOs will not fundamentally change until they lose aggro as we know it as the fundamental combat mechanic.

Through the looking glass

“Aggro” or “threat” or call it what you will is the fundamental fulcrum upon which all DIKU-based combast systems are based. To state the obvious, threat is a mechanic which allows an NPC (or rather its “AI” code) to select who it should be attacking at any given time.  Different player abilities contribute a different amount of threat toward a target. Simplified, the player with the most threat “wins” and gets targeted by the mob. As long as you aren’t #1 on his list, you might as well not exist to the mob.

As a concept, this is… “acceptable”. At least marginally. I can imagine a situation where a reasonably sentient NPC “decides” somewhat rationaly that the burly dude in his face banging on him with a large hammer presents more of an immediate threat to his survival than some frail Mr. Burns-esque creature with a conical hat standing WAAAAY over there making pretty colored lights and waving his hands.

Of course, you only need take small steps away from this scenario to end up through the looking glass into a bizzaro world. How absurd “ordinary” PVE combat must look to the uninitiated– despite the presence of 4 other party members (at least 3 of which are doing hellacious damage to their NPC comrades), all the NPCs continue attacking the tank.

“Why doesn’t that big baddie just go one-shot the clothie?  What a stoop!”

“STFU, noob. You’re breaking my immersion.  More dots.”

All this despite the fact that the tank is likely doing the least damage to the target, has the highest damage mitigation and is actively receiving healing. Make it even more absurd when a mob does change targets and the tank is able to regain aggro by merely making insinuations about the monster’s heritage, physiology or upbringing.

Now consider how the player party slices and dices a multi NPC encounter: Kill the weak first– fragile DPS, healers that prolong the fight, etc.  It doesn’t matter what the monster calls your mother, you stick to the assigned target and follow your order of battle. Lather, rinse, repeat. If you do it right, the mobs will never know the warrior was accompanied by a party. I wonder what goes through a mob’s mind…

“Say Grog, why is that no matter how much we beat on this guy, he just keeps taking it? Do you hear something?  Where are all those fireballs that are hitting Stan coming from anyway?”

“STFU, mob, you’re break..” gurgle dead.

Now consider now how PvP combat works:  Kill the weak.  There is no aggro, there is no taunt.  I’ve yet to see hordes (no pun) of enemy combatants immediately flock to and stick to the warrior while mages nuke them from a safe distance…

Role Play

The “traditional” Trinity– tank, DPS, healing– doesn’t need to be represented in the game as class archetypes or specialized roles, but rather are really just the fundamental aspects of combat: damage mitigation (tanking), damage dealing (dps), and damage remediation(healing). Each of these functions could be present in combination in any class to varying degrees.

Balancing these fundamental aspects of combat typically requires imposition of some kind of “budget” which makes sense i.e., no player gets to be the best at all three. At best, they can be the best at one at the expense of the other two, or some middling combination of all three.

What permits the Trinity as we know it (the ROLES of mitigation specialist, dps specialist and healing specialist) to persist is the convenience of the threat mechanism. It is only because the system permits a tank to “hold aggro” that role specialization as we know it can exist.

It’s just much easier logic wise and computing resource wise to stack the deck with a combat system so that the “tank” will always get the aggro. It makes coding the combat so much more efficient.

Why should sundering armor while doing relatively little dps allow a tank to be perceived as the biggest threat to a mob when 3 others are raining white hot death on them and a fourth is actively frustrating the NPCs attempts to kill the target? Well, the mechanical answer is because each player action has a specified threat generation value associated with it and the deck is stacked so that it will work that way. Five sunders and 1000 dps will prevent 3 other players doing 2000 dps each from “pulling aggro”. [Made up numbers]

Why the hell doesn’t Onyxia just ignore the shiny tank and stomp the DPS in the first minute of the fight and then come back with her Nutcracker of the Black Dragonflight and open up that brazil nut of a warrior for a tasty snack? Seems like something a super intelligent dragon queen broodmother might think of.

Its always been an absurd but convenient and resource friendly way to resolve combat.  To some extent, ten or 15 years ago, it was all that was possible.

Beyond Aggro

So what’s missing?

Decent mob AI. Mobs just aren’t very smart. They don’t tend to target the weakest first or take cover or get help when they realize that its 5 v. 1 and they’re the 1. They make a list and whoever is on top of their list they stick to.  AI is hard.  AI is resource intensive.   AI is very situational.
Imagine if player combat skills were designed around much better mob AI. Tactics would trump pure specialization. Crowd control and debuffing would be as important as DPS is today. The basic combat logic:


Player health – mob damage + player healing > 0 and
Mob health – player damage + mob healing <=0;

then WIN=true else NOOB

would remain the same, but there would be many more ways to get there than in current MMOs.

If aggro as we currently know it ceased to exist, specialists would likely be at a disadvantage because the dynamics of battle would require more than merely standing in one place spamming frostbolt or taunt or greater heal. At any given moment players might need to snare and kite a target, mesmerize them, debuff their attacks in some way, block them from reaching vulnerable party members, knock them down, trip them, yank them off of someone etc.

Secondlly, and until relatively recently, collision detection. Ironically, the archetypal warrior in plate and shield (or anyone else for that matter) couldn’t physically block any attacks. No one could take a bullet for someone else. No one could pull an attacker off of someone. No one could push someone over a cliff or block a doorway. No body checking please.

Granted, collision detection has got to be a huge resource hog. Constantly figuring out where everyone is, whether they are running into each other dynamically can’t be spectacularly easy. Especially when moving from a tab targeting player=fixed point in space model.  If a character has volume, hits and misses just got a lot more complicated.  How much damage do I take if I’m only 1/2 way in the AE zone?

Likewise, given a certain amount of client sych slop doesn’t make that job easier. Finally, once you have collision detection, you need an entire scheme to decide how to decide whether/if a player can be moved by another player(s). Someone go code up a rubgy scrum routine and get back to me. Oh and figure out a way that plate wearers can immobilize a dragon’s tail swipe by grappling.

But think about it for a second– how cool would it be to see a pile of warriors physically holding back a raid boss or struggling to push them and hold them into a corner while the rest of the raid pummels away? Somehow that seems cooler to me than having a single warrior taunt tow a boss into a corner and basically stand there for the entire fight spamming some aggro generation skill.

Aggro permits these narrow role specialists to exist.  Until we lose aggro-as-we-know-it from these games, nothing is really going to change.

12 thoughts on “Losing Aggro”

  1. Maybe the mobs know that the mages will just frost nova them in place and run away :p Just like in PVP they don’t want to get kited so they just bash on the tank instead, since he’s the only guy that wants to step up and trade blows :)

    But seriously, without aggro it would reduce PVE fights to who can kite the best, wouldn’t it? Or chain stunning mobs to death or something like that, which wouldn’t work well either I suppose. I guess this is why most mobs are made immune to crowd control, and puts us right back into the trinity/threat model.

  2. Personally, I like the idea of PVE fights that need to come up with tactics based on a party’s class characteristics.

    I don’t think it reduces PvE fights to just kitie fests.

    Roots, snares, fears, stuns, traps, mezzes, debuffs etc. are all weapons in the arsenal. Even in the current aggro system crowd control, kiting etc. used to be so much more important that it generally is now.

    IMHO, gameplay would be more compelling if you had to make more tactical decisions about which tools to use, when and in combination with what skills other players had.

    Kiting is great is the right situation, but can be certain death in others. Skill is involved in deciding when its viable. Plenty of room to run? Go for it. Hunters used to kite Drakk back in the day.

    Even so, kiting as we know it is entirely reliant on the existing aggro system. Change mob AI and as that mob makes the 5th lap around his dying comrades without catching that pesky player maybe he’ll decide to not fall for the kiting routine and return to help is mob-mates…

    Like anything else, its a balancing act. In my view, you can’t let anyone do anything for ever.

    The addition of a diminishing physical resource would also go along way in changing tactics too. If melees fatigued and/or their damage fell off as their health waned, fights would look quite a bit different. You can’t kite forever if you get fatigued, likewise you couldn’t physically block forever either.

    If mobs played smarter, we’d have to play smarter too. And hopefully the devs would give us the tools to do so.

  3. 1. In EVE Online, the Sleeper faction fails to understand the rules of aggro and fire upon whomever they darn well please.

    2. In the original EverQuest, using pets and bashes to move a raid boss into a good position was an accepted tactic, since both PCs and NPCs were solid. More solid than doors or walls, even.

    So even in older games, there’s been experiments on the theme.

    The simple fact of why aggro works the way it does is because otherwise, the game wouldn’t work. None of these MMOs are in any way meant to represent reality, and the aggro mechanic is far from the biggest nonsense that players are asked to implicitly accept.

    Why do knights in chess make odd L-shaped moves? Clearly horses in real battles couldn’t leap over powerful enemies while being unable to attack anyone right next to them. It’s just the rules of the game.

  4. I cut my MMO teeth on Guild Wars, so I was pretty surprised/confused when I moved on to games like LOTRO where aggro/taunting was an issue. In Guild Wars, since there is collision detection, it is similar to what you described: a warrior *can* pysically place him/herself in between a mob and a squishy; I remember beating a boss encounter with myself and another melee character blocking a doorway preventing the boss from reaching the ranged DPS further inside a room.

    AI in Guild Wars also chooses its targets based on different metrics, such as whomever has the lowest total hit points – it’s not exact and can be gamed by adding +hp armor insignias, but that tends to approximate the more human behavior of going after the squishies or healer, since they typically will have the lowest hp pool.

  5. Guild Wars is another that never used the DIKU mindset, and was designed with PvP firmly in mind, so the DIKU-MMO version of aggro does not exist there. There is no “tanking” in Guild Wars via taunts or other artificial +aggro skills. Mobs aggro on proximity and DPS/Healing output. The warrior has the most armor rating but can also do good DPS, which is a no-no in DIKU-land. If I get aggro as a Monk from healing (and trust me, mobs already put me on their list because I’m a monk and because I have a low armor rating) a warrior cannot simply run up to the mob and regain aggro by insulting its mother.

    But “aggro” in its simplest form has been around since Pac Man if not before. Nearly every game uses the simplistic “if player = visible then attack(player);” routine. I’m more in the camp that AI needs to be evolved — nay, revolutionized.

    But just look at MMORPG’s. I’ve been saying for how long now that despite all the cries wanting “new” and “innovation” and “change” that’s not true. If they’re given something truly different, it remains niche and the whiners for change merely hop around into reskinned versions of the same DIKU game. EVE is the biggest success story for something different, and it took them years to get to this point.

  6. I wanted to mention the “Sleeper” AI in EVE Online as well. The “standard” NPC AI in EVE is as stupid as described above for other games: you send in the tank first to “get aggro”, then everyone else joins the fight without worry of taking any damage. This applies to one’s combat drones as well — once the tank has aggro, you can send out drones to add their DPS without worry that they’ll be targeted by the NPCs.

    The Sleepers (found only in hidden wormhole space, at least so far) are another story entirely. Not only do they more intelligently select targets (they particularly like to primary any electronic warfare vessels, I believe) they will switch targets during a battle. When they switch and what they select doesn’t seem to be as intelligent as it should be, but it definitely keeps you from being able to semi-AFK a fight.

    Fighting Sleepers is especially irritating if you’re a drone specialist. You can no longer sit back and take all the damage while your drones do the fighting for you. While this works great with the standard, stupid NPCs, if you try it with Sleepers you’ll find yourself with no drones in a couple of minutes. Even if you’re paying close attention and recall a drone as soon as you see it taking damage, it might get destroyed before it’s able to get back to the safety of your drone bay. The Sleepers may just pick another drone to target next, so you’re forced to constantly micromanage each drone. It’s just not practical (though sentry drones are somewhat manageable), so you quickly learn that drone ships generally aren’t going to work.

    Anyway, just wanted to add another mention of some NPC AI that’s a little more intelligent than what seems to be the standard in most MMOs. There are other features about the Sleeper AI that makes the experience a bit closer to PvP. An early developer blog post points out: “As the fight evolves, the NPC will watch what players are doing and, based on several criteria, will decide if some or all of the NPCs should change their targets. In very basic terms: modules and weapons generate threat; as the threat goes up and down the NPCs will change targets and allocate secondary targets.” (http://www.eveonline.com/devblog.asp?a=blog&bid=636)

  7. Eve’s Sleepers and Guildwars are two excellent examples of how you can move beyond current aggro-centrism.

    The difference between the normal Eve NPCs and the Sleepers is astounding. In normal missions, its every bit like most fantasy MMO combat. If it weren’t, I doubt I could two box it very well. The drone example is exactly what I’m talking about. In ordinary missions, I never have to worry about them.

    I’m hoping Guildwars 2 is able to take so many of the cool things they did in the original and bring them (and perhaps the genre) a few steps forward. (And at $15 for all the expansions, GW is a steal right now. Even if you can’t jump).

  8. Heya. Insightful writeup. Yet another blog I guess I need to add to my reader. *sigh* (Even if I’m not on this site’s “worth reading” list. ;)

    While I agree that aggro management has become a major part of the trinity design, I don’t think removing aggro is all it takes. I also worry that people will always try to figure out the system and try to manage the aggro. As far as I understand, EQ didn’t have aggro as a defined mechanic and warriors didn’t even have an actual taunt ability, so players worked out the mechanics of aggro to manage it better. The only way to prevent that would be to make aggro more unpredictable (random, for example), or have different aggro rules that would apply to different monsters (or different incarnations of monsters). This assumes that we’re not going to dump combat as it’s currently defined in most games and make entirely new game mechanics.

    In the end, aggro is pretty much just a puzzle for players to solve. When it is solved too easily or by rote, it gets boring. It’s interesting to think of ways to make such a puzzle fun again, and how to make it so different types of gameplay (solo, group, raid, PvP) don’t have to feel like such entirely different experiences.

    Thanks for continuing the discussion; that was the main point of my article! :)

  9. “In the end, aggro is pretty much just a puzzle for players to solve. When it is solved too easily or by rote, it gets boring. It’s interesting to think of ways to make such a puzzle fun again, and how to make it so different types of gameplay (solo, group, raid, PvP) don’t have to feel like such entirely different experiences.”

    This is exactly it. IMHO, the experience needs to be predictable enough that meaningful strategic decisions can be made yet leave enough unpredictability to permit a variety of tactics/skill to be employed to meet with success.

    The article gave me an excuse to vent on things that have been ruminating in my head for a while but schedules and such haven’t permitted much time for blogging. For me at least your article was perfect timing.

    (and its not that you’re not “worth reading” its that when it comes to blogroll management, I’m “just lazy”) ;)

    Thanks for stopping by!

  10. I think some unpredictability is long past due. I don’t play WoW anymore so I can’t speak to the new Onyxia but I can’t even express my disappointment at how easy she was back in vanilla WoW. All those years growing up and reading how dragons were badasses; playing tabletop RPG’s where dragons were badasses; then I fight my first MMORPG dragon and she’s a super-simple 3-phase script? W. T. F? It took longer to get 40 people together and travel there than it did to fight, kill, and loot her. Hell she could be 12-manned back in vanilla WoW if all 12 had all their top gear and were on their A game for the Onyxia fight. Badass dragon she was not.

    Bare minimum I’d have given her AI modules that were selected both (semi?) randomly and also reactive to what players have done. Sure, eventually each module would be recognized and players would eventually have strategies for each module when they triggered but each fight would also have that bit of unpredictability because you never knew which module would trigger or when.

    Hey, look! I managed to derail yet another topic! :p

  11. all that said, WAR already had it (collision detection), and they also had “taunting” and stuff by making a taunted target only do damage to the tank. I’d like to see a more tactical style game of course, where you cannot walk through enemy people at all. Either kill them or be killed.

  12. In the original D&D, monsters were human-controlled by the DM. As a result, every class had to be able to defend itself in some way. And of course, everyone hates being 1-shotted when defenses fail so the combat system was also designed such that after level 1 it was pretty hard to be 1-shotted by anything.

    Still…. each class has its own method of defenses. Fighters and Clerics have heavy armor which (in D&D’s system) allows you to avoid most damage. Wizards have various defensive spells that eventually make them even harder to hit than a warrior. Rogues always seemed a little shafted to me on armor class, but since they spent a ton of their time in stealth and thus the DM wasn’t “allowed” to target them if the Hide roll was successful, it didn’t necessarily matter.

    Clerics could heal in combat, but generally everyone relied on not taking damage in the 1st place and healing (or resurrection) came after the battle.

    From what I’ve seen, DDO actually does preserve a bit of this, though often the mob’s aggro consists of “who hit me 1st?” and the clerics do have to get spammy with the heals and wands just like in any other MMO. Still…. the wizards are hard to hit due to their defensive skills, fighters and clerics the same, and the rogues are shafted. I recall this also being the case in NWN until the rogues got the prestige classes that allowed them to “hide in plain sight” and thus disengage from combat when necessary.

    Overall then….. the PnP game lent itself to not having “the trinity” in it, but as you stated — until AI gets better, everything seems to eventually find itself pigeonholed into the trinity regardless.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s