Friday, March 08, 2013

Rethinking MMO Combat

Let's use the theories and details we've listed in the past few essays and revamp the idea of massively multiplayer combat.

We're not talking about a genre shift. We're talking about a mechanics shift. So let's assume we do a kind of real-time-turn-based-thing like most current MMORPGs do, but talk about how to make it interesting using the risk/reward stuff learned from fighting games.

So, let's start by dismissing all the team support classes. We'll bring them back in later, but for now let's consider just the various attack and control classes, like tanks and blammy wizards and rogues and stuff.

Let's assume that we have the typical HP & MP mix, and that even close attack classes use MP for their stronger-than-normal attacks (rather than a cool-down system). A fighter with a high MP and low power is viable, because he can spam special attacks all day. Similarly, a wizard with high power and poor MP is viable because their free magic attack is quite strong even though they can't cast many advanced spells. To that end, let's allow people to balance their avatar's stats and weigh them towards power, speed, or mana: all would be valuable to every class.

Combat happens more or less as per normal rules, but is heavily weighted towards time management even at the low levels. Because there are no healers, you recover health and mana by kneeling and concentrating - it's relatively quick, but also easy to interrupt and you'll get stunned if that happens. So the combat features a lot of breaking away to recover. In a party, you would rely on your allies to intercept the enemy and keep it from hunting you down, although most enemy encounters at that level would feature a mix of "strikers" that will strike at whatever target seems appetizing and "hunters" that will chase you down if you try to retreat and recover. The tactics required would be different - you have to lure hunters out of position and strike them down, while you have to pull rotating roster against strikers to keep bringing fresh fighters back into the fray. It may be worth it to stun the enemy and then "steal" some regeneration time rather than following up while they're stunned. Patiently blocking and waiting out heavy strikes is valuable, especially in team play. There's a lot of options already emerging.

The biggest thing emerging is mana management: I think MP could start at 0, and steadily degrade if you don't use it. You literally have to build up mana right off the bat. This idea may or may not survive actual testing, but it's an interesting thought.

This doesn't serve all needs, though. The role of ranged and solo players are both left lax.

Let's start with solo play. Obviously, if there's nobody covering your back (or if you're the fighter in a small team), it's difficult to disengage. To this end, the "special" gauge will play an important role. This gauge refills over time, regardless of what you do, and allows you to spend it and perform significant feats. This doesn't replace the MP gauge: the player needs both a manually managed and flat-timed resource, and they serve different roles.

Team fighters will probably use their special gauge mostly for super-attacks or evades. However, solo players will generally prefer to spend it for an infusion of health and mana, or spend it to disengage. Stun actions may also be valuable to a single player. Obviously, a solo fighter is going to be more fragile than a whole team, but that's expected. He can play for time by blocking, dodging, and circling.

Ranged fighters have two advantages. First, they can almost instantly damage almost any enemy, allowing them to apply their power to wherever it would be most effective. Second, the fact that they are at range gives them a lot more freedom to disengage and regenerate. Every game has to consider how to nerf these advantages.

One way is to make ranged fighters not really very ranged. This simply and directly minimizes their advantages. Another is to make them ever-squishier in direct combat, which is sort of a balancing factor but really leads to some very fragile balancing, effectively making the class a "high skill" class that can perform way above normal balance parameters if the player knows what he's doing - I don't like that idea.

You can obviously reduce their advantage by making their attacks weak or take a long time, but I'm not a fan of that idea, either.

Another method is to give the enemies loads of ranged attacks as well, so there's a big advantage to getting in close. Ranged attackers have to spend a lot of time making sure there's cover between them and the enemy, stepping out of cover to make attacks. This works quite well at first, but is also a "fragile" balance: if the enemies are engaged by melee warriors effectively, then again the ranged attacker can perform well above what you would normally balance for. This fragility can be easily counterbalanced by turning on friendly fire: if melee characters are engaging the enemy, sure, you are free to fire... but you're firing into a melee, and you'll hit your allies too.

To me, this is actually one of the core features that will push players to realize this system is time-based rather than strike-based. Everything has the potential for friendly fire, including melee AOE attacks. Any such attack lays down a glowing red circle: if you're inside, get out fast! Enemy attacks could be the same, allowing you to clearly see where the enemy is going to strike and forcing you to stop attacking or regenerating in order to get out of the area or block. For added fun, many enemies will be able to see player attack radius, so your area of effect attacks will cause them to scatter or block instead of actually hitting them.

By filling the battlefield with ever-shifting hazards, you keep everyone on their toes. This also gives an advantage to small teams or solo players, who don't have the complexity of allied attacks to worry about, and are protected from enemy assaults by the enemy's own attack hazards: perhaps you can even lure them into injuring each other for you! Add in a class which explicitly deals in hazard manipulation (trapping, putting up hazard-block barriers, etc) and you have a fun environment.

What about the support classes? What about the healer and the buffer and the debuffer? What about the pet summoner? The polymorph?

Those classes were created to add complexity to a specific kind of combat. However, our combat is different. We don't need to force those kinds of classes into our framework, especially because some of them (the healer) would actually destroy it.

But it's worth considering. A pet summoner is an interesting idea, because it's both short and long range simultaneously. Classically, pet summon classes have been more or less like their own little party - a mage and a tank. Or, if there's sufficient tanks in the larger party, a mage and a ranged attacker. Whatever - the idea is that the summoner class tends to be two weak party members rather than one strong party member. And that's often better.

We could implement a pet summoner easily enough. Throw away the idea of cooldowns: the pet summon happens in one of two ways, depending on our balancing needs. One is that the pet steadily drains MP. A pet summoner could theoretically keep the summoning up forever, but they'd have to be kneeling and regenerating the whole time, which obviously limits their tactical use. Another option is that summoning pets takes your special bar, which is very similar to a cool-down but interferes with their ability to use advanced combat actions such as dodges and forced regens. Then the pet stays until killed, or a long time passes. Either way, the core idea is that the pet interferes with the master's ability to fight well: you don't need to make the pet master class suck, because summoning a pet makes you suck. You could even give each class the option to summon pets. (Always-around pets don't have these limitations and therefore would be unsuitable.)

Polymorphers are similar. Polymorphing would eat up mana or special. Actually, polymorphing would likely be considered similar to a fighter's self-buffing skills: steadily draining mana away. Normally the draw of a polymorpher is that they have two modes - one close combat, one support or ranged. We can highlight this by making the long-ranged class sacrifice its use of either mana or special in order that when it closes to melee, it has those resources available for the polymorphed form to use. This is arguably similar to other MP-draining polymorph classes, but since our mana dynamic is so different it should have a very different feel.

Support classes are toughies. Rather than add in pure support classes, I would prefer to add in support capabilities to other classes. For example, a debuffer wouldn't be a wizard who spams the slow spell. Rather, it'd be a close fighter that relies on trips, stuns, joint-blows. A rogue. Debuffs and stuns are hugely advantageous because they make it easier to disengage and regenerate, so these classes would require careful balancing.

Buffs are kind of complex, because there's really no good role for them in the feel of the combat. The closest I can think of is a good "team attack" mechanic. If you cast a hazard zone attack on top of an ally's or enemy's, the two merge and become one much stronger spell. Or two melee allies can stand near each other and they will automatically receive a speed and/or armor boost, or gain access to upgraded attacks. I also like the idea of being able to spend special meter to perform a team attack.

Because the battle system is heavily topological, having the buffs and debuffs tightly linked to a specific location makes more sense than allowing ranged characters to spam them from anywhere to anywhere. Also, because the battle system is topological, having a lot of secondary effects (or even primary effects) which modify topology could be fun. That area-of-effect attack produces a 5m wide circle... but it won't actually go through that boulder, so you could hide behind the boulder even if you were technically within 5m. The boulder that was created because the troll threw it at you, or because your warrior smashed the ground so hard that it popped up.

Even without adding in that kind of topological complexity, the combat system should feel pretty sharp because it is all about time management and managing danger, rather than about simple combat roles. Therefore, each role can be made simpler and punchier.

2 comments:

Anonymous said...

I was reading your article and wanted to know does this apply to a simple turn based game such as Final fantasy 7, or like an action turn based like Final Fantasy 13, or like a mmo such as Marvel Ultimate Alliance or with the special meters coming from a fighter game such as soul caliber or dissidia final fantasy.

Craig Perko said...

Well, there's no "best" or "perfect" design. It's always a matter of finding a good dynamic.

But the important thing to remember is that you can't just take gameplay from one kind of game and stuff it into another. You have to think about the differences and make sure that every element you pull across supports the final game.

For example, I really don't think I'd include healers or buffers in this design.