Wednesday, September 2, 2009

An Alternative to Aggro

I'm on record as opposing the mindless cloning of the "aggro" mechanic into new MMORPGs.

The expense of real-time collision detection was why the aggro hack was invented. Without it, NPCs could simply walk through burly front-line player characters in order to get at the chewy nougat center of the weaker characters behind them. So "aggro" was created as a quick and dirty gameplay mechanic that would allow front-line players to get NPCs to focus on them. It solved a problem by adding active gameplay content -- what could go wrong?

What went wrong was that the concept of the "fighter" was transmogrified into the tank role. Once that decision was made, it seemed perfectly natural to convert mages into damage-dealers and clerics into healers with crowd-control and buff/debuff support abilities.

And then other developers copied this mechanic for their games. They even "improved" on it to the point that aggro management has come to dominate not only character class/ability designs, it's now the default model for the combat play experience. A PvE fight in one of today's MMORPGs is not about smart tactical use of the local gameworld environment; it's about using character skills (like /taunt) that were explicitly created to "manage aggro."

So how does implementing this system in every new MMORPG make sense now that the technical limitations that led to that mechanic no longer exist? I believe it doesn't. With today's technology, proper collision detection and, more importantly, better combat AI can be implemented. The aggro mechanic survives now only through cargo cult game design, copying it because other developers have copies it, then rationalizing that decision by pointing to gamers who -- because they've been offered nothing else -- now believe and assert (loudly) that it's mandatory.

It's not. It's a convention, nothing more.

All that said, opposing something is easy. If I'm against aggro, what am I for? If I favor getting rid of it, what should replace it?

Until now I haven't really taken the time to suggest an alternative, which I think is a necessary element of constructive criticism. So this essay is an attempt to draft such an alternative. I don't think it's a complete solution, and I know it's not perfect. It's just one possible starting point.

AGGRO MANAGEMENT IS NOT COMBAT

"Aggro," for those new to this issue, is a combat AI mechanic used in most online games (MMORPGs in particular) to allow non-player characters (NPCs) to decide which player character to attack.

Aggro (defined as "hate" on Wikipedia) works basically like this: when an NPC needs to choose which character should be attacked next from a group of player characters, it consults an internal list of "aggression" values. For each player character in the group, the attacking NPC calculates an aggression value based on various qualities of and/or actions by that PC. It then aims its next attack at the PC with the highest aggression value. That player character is then said to have "aggro'ed" the attacking NPC.

The natural outgrowth of this aggro concept is that players will want to be able to do things to "manage" the aggro of attacking NPCs. The "tank" role comes first, because it's obvious that if players can control who gets aggro'ed, they'll want that aggro to stick to the character with the best defenses, leaving weaker characters unharmed and free to do other things like apply damage to the NPC or heal the tank. Group combat, then, gets defined in terms of role-based aggro management -- carefully choosing and timing actions to do as much harm to the enemy or as much help to one's group as possible without shifting aggro away from the tank PC.

My question is: when did people start confusing "managing aggro" with having an interesting tactical combat experience?

What in the world does "managing aggro" have to do with letting a group of players make intelligent and cooperative use of a rich set of environmental phenomena to achieve tactical superiority? How does the artificial and arbitrary gameplay of "aggro management" make any use whatsoever of the IP, the setting, on which a MMORPG is based? How is "performing actions intended to control the internal aggro calculation of an NPC" anything like "combat?"

If people think they like the aggro game, that's fine. People are free to like what they like. But the fact that some people like one particular solution to a game design question does not imply that it's the only possible solution. As gamers, we should be expecting game developers to look for more enjoyable solutions to game design questions, to try to create new and better solutions, not to merely clone mechanics that might work for some other gameworld. Importing the "aggro" mechanic from ground-based fantasy combat games into new games -- including even science fiction games -- presents the appearance of laziness.

So instead of aggro, I'd like to propose an alternative approach to NPC combat decision-making, which for lack of a better name I'm calling "cultural tactics."

CULTURAL TACTICS

Cultural tactics assumes the existence of a story. When there's a background story providing opportunities for narrative development, that story can and should be used to inform the behaviors of intelligent NPCs.

This is done by assigning cultural qualities to every non-player aggressor (NPA), such a non-player character or a tank or a spaceship. All individual NPAs will be defined as belonging to a primary culture. While some individual variation may be possible, those cultural qualities will tend to determine the choices that an individual NPA makes in any situation. Those choices may be about combat actions, or they may be about diplomatic actions or anything else the NPA is able to do. All possible forms of interaction with player characters would be produced by a goal-generating system whose rules would take as inputs the cultural attributes of the decision-making NPA, unique (probably randomized) attributes of the NPA, relevant aspects of the local environment (including perceptions of player character resources), and a desired goal state.

What's important to see here is what's not listed as an input to this decision-making system: player character actions. Getting good combat behavior out of an NPA actor does not require allowing players to directly manipulate that decision-making process. It might benefit from it in extended interactions, such as strategic-level conflict, but the typical short tactical fight does not require NPAs to use player actions as decision-making inputs.

As for offering that capability because it provides gameplay (e.g., aggro management), that's true, it does... but when that gameplay takes over, completely shifting the attention of players from interacting with elements of the gameworld to the manipulation of arbitrary rules that have nothing whatsoever to do with combat, then if that mechanic isn't required, it does not need to be implemented.

Cultural tactics would allow NPAs to have an appropriate and interesting degree of autonomy. Instead of being the pawns of players in gameplay that distracts from the gameworld, NPAs whose actions are based on attributes of the story-based culture to which they belong would choose combat targets in a way that tells us something interesting about who they are.

In a space game, for example, an NPA from a mindlessly aggressive culture might simply target the nearest ship. (Maneuvering into and out of an NPA enemy's range would thus be a viable combat tactic for groups of player characters up against ships commanded by members of such cultures.) An NPA honor culture might always try to target and destroy the strongest (however that's defined) player ship; a ship commanded by an NPA from a victory-at-any-cost culture might seek to destroy the weakest ships first.

A nasty pirate might go after the ship that appears to have the most/best weapons. A daring privateer could be culturally inclined to attack the ship that might carry the most interesting advanced technology. Members of a cybernetically enhanced culture that shares a hive-mind (you know who you are!) might simply attack randomly -- they're big enough not to care what the typical opponent looks like -- or they might look for whichever ship acted like the leader in order to disable the target group's command hierarchy.

LIFE AFTER AGGRO

The point behind all these examples is to show that aggro is irrelevant. Aggro is not necessary for non-player aggressors to be able to make interesting choices about whom to target. And getting rid of aggro serves the useful function of eliminating the bizarre focus of players on withholding their gameplay actions in order to avoid being noticed by a vastly stronger NPA foe, who then hammers their characters into pulp most instantly.

Without being forced to play the Aggro Management Game, players are free to engage in actual combat-relevant tactical decision-making: should I try to maneuver to my target's rear facing, or would it be better to try an alpha strike now? Can I use the particles in the nearby nebula in some interesting way? Is there something cool I can do with one of my weapons right now instead of having to hold my fire because it might make an NPA mad at me?

In summary, if the aggro mechanic works for other games, fine, but it is not required for every game. It can be discarded with no loss, and with considerable gain, since not having to withhold one's combat actions for fear of attracting damage-dealing attention allows more players to participate more frequently in the fun.

It also means they don't have to have all of their actions squeezed into the subset considered appropriate by some developer for a particular and narrowly-defined combat role like "tank" or "crowd control." That permits players much more freedom to play the combat game in the way that's most enjoyable to them.

Roles are still possible; the beauty of getting rid of aggro is that those roles can then be defined in ways that make more sense for the setting of a particular MMORPG. And even without aggro, NPAs are fully capable of selecting their targets in fun and meaningful ways.

If all that is accepted, then yes, I find it disappointing that MMORPG designers continue to clone the aggro mechanic for their games. If they really believe it's necessary, that's a shame. If they don't, it's a wasted opportunity to do something better. Either way, the concept of "aggro" is long overdue for retirement.

CONCLUSION

I'm under no illusion at this point that the producers/designers of any MMORPG under development will read this and think, "Say, you know, he has a point -- right, everybody stop what you're doing; we're going to re-do combat even if it means shipping four months later than planned!" I assume that the aggro mechanic and its tank/DPS/support handmaidens will be the default choice for the core combat model of every new MMORPG for years to come.

The point of proposing and explaining this alternative is therefore not to try to change the minds of big-studio game designers who clone MMORPG conventions as a risk-reduction technique, but to suggest to the newcomers that there's room for innovation here. By all means, look closely at the aggro management model of combat, analyze it, consider its first-order features and second-order effects within the context of your other game design choices, and use it if it makes sense for you... but also feel free to go with something else if aggro management doesn't feel right for your game.

Big-budget games that try to play it safe don't always succeed. So why not take a few carefully-considered risks and try something different, such as deep-sixing aggro in favor of a combat model that's actually related to combat? It's not like your odds of success will be much worse than those of the play-it-safe developer. :)

In fact, given the wealth of conventional MMORPGs available currently, this might be exactly the right time to break away from the pack in a few key areas of design.

About Me

Back in my misspent youth, I used to spend my nights either programming or playing keyboards at parties.
One night (at a party) a friend yelled out, "Hey, he's been spending so much time with keyboards that his fingers are flat!"
And thus was born Flatfingers.