It’s time for my first substantial post in a while.
Overview
When it comes to combat systems, one of the common problems in MMOs is that they don’t have a strong flow. Let me explain some terms I’m going to use here:
- Combat Encounter: This is the entirety of a fight, which may be anywhere from a single to a dozen monsters.
- Combat Flow: This is the natural progression that happens in the course of a fight.
- Combat Segment: This is a sub-object within the encounter. One encounter may consist of multiple segments, each of which has their own combat flow. For example, each monster may be a segment.
Simple enough. In most non-MMO combat-focused games, the duration of the flow is nearly identical to the duration of the encounter. The actions I take trickle down, changing how I will proceed in the near future. This tends to be true no matter how many opponents you are facing.
Example Scenarios
Let’s say I’m playing a fighting game with a single opponent. My actions at any given second are determined by what’s happening in the fight. If I break my opponent’s guard, I’m going to press an attack… but perhaps more cautiously if he pulled off a good combo breaker last time. I’m going to change my approach depending on the relative health of the my opponent and my character. I’m going to watch how my opponent attacks and look for holes to exploit. Even if we disengage briefly, the flow still persists. That disengagement period is more likely to happen due to previous events, and our next actions are influenced by the disengage.
Next, let’s say we have an action-RPG with an emphasis on the action (Ninja Gaiden or God of War more than Diablo). In these, most combat encounters consist of multiple opponents. When this is true, positioning naturally becomes a critical flow element. You move through the network of enemies, with your relative positions increasing and decreasing the strategic weight of different options. The other enemies alter my behavior, and the fight proceeds as a unit. These games naturally benefit from a matrix of positioning, time and vulnerabilities. Note that with the except of a few uber attacks, these games tend to have no use restrictions on attacks. You can do that super powerful attack over and over if you can pull it off, but there’s a good chance it’s not appropriate, it will leave you vulnerable and it just doesn’t fit in your chains. On that note, I ought to post about combat cancels in the future.
This doesn’t just apply to action games. Magic the Gathering is a great example of a game with a strong combat flow, if not always because of the same principles. Even RTS games like Total War follow this loose guideline.
How does the MMORPG fit in?
Now we get to the MMORPG. Say that the MMORPG has a 60 second encounter and the action RPG has a 30 second encounter. You fight 3 enemies in the MMORPG and 5 in the action RPG. With most of the MMORPGs, the duration of the flow = encounter duration / # of enemies. This is an over-generalization, but it makes it easier to make my point. If there are three guys, I’m going to kill one and then do exactly the same thing to the next guy and I will repeat it for each opponent. Depending on the game, my overall approach to the fight may change, but for this we’ll assume the standard encounter is 3 opponents.
With the above scenario, the generic MMORPG encounter is made up of three 20 second segments. Each of these segments has the same flow, making the repetition cycle 20 seconds. With the action RPG, the the duration of the flow = the duration of the encounter. This gives it a 30 second repetition cycle. Even though the overall encounter is shorter, the repetition cycle is longer. That’s a good thing.
Note that while time is a critical element here, combat flow is not about the total length of the fight. Whether your combat takes 30 seconds or 5 minutes, you generally want to make the flow equal the encounter length. Special circumstances can be exceptions, but as a rule of thumb you want to extend the combat flow to be equal to or close to the length of the encounter. You definitely don’t want the combat segments = # of opponents. Although you can measure the repetition cycle, that number alone isn’t necessarily useful. An example with two 30 second repetition cycle scenarios: If you make me kill five guys at 30 seconds each (2.5 minute encounter) and my approach to each is identical, then it’s actually going to feel more repetitive than a combat that pits me three guys at 10 seconds each in an encounter with only one segment.
When an MMORPG reduces the time it takes to defeat a single opponent, it becomes easier to see this problem in the combat system. Players won’t describe it this way, but it can be the cause for many symptoms related to the combat system. Most MMORPGs remove the key elements that contribute to combat flow. There are often technical reasons behind the removal. For the sake of argument, let’s assume it’s impossible / unfeasible / a bad idea / whatever to make an MMORPG that has a combat system on par with an action game, just because it’s close to what most MMORPGs offer. If this is the case, it means the game systems need to compensate for the inherent loss of flow-strengthening elements.
Broken Flow
In MMOs where you fight multiple enemies, it’s common for the resource pool to be the main element that carries over from one enemy to the next. In contrast, nearly all action games use time and vulnerability as their restriction instead of a resource pool. All of your attacks are available, but they are locked in chains. Attacks have varying execution times. This is not as simple as an activation time. The following components are usually present:
- Pre-hit frames: The time between clicking the attack and damage.
- Hit frames: The time when the attack is hitting.
- Post-hit frames: Time after the attack when you can’t act.
Then, each attack has other considerations. Does it stutter the enemy? Can I get the most benefit out of my attack at this range? Will this leave me vulnerable with the current positioning of the enemies? Can I cancel this attack if I need to react to an unexpected threat? Attack use is calculated and mana pools tend to be for encounter-winning abilities. Additionally, the positioning tends to be a binary switch for whether powers can be used in an MMO, while it impacts the strategic options in action games.
Now let’s look at the MMO resource pool (usually mana). What does it accomplish? It’s primarily a disabler, not an enabler. With standard implementations, the resource pool simply prevents actions that you might want to take. In contrast, time and vulnerability based systems adjust how effective action are in each situation. You may always be able to use a big charge up attack, but chances are it’ll be one of your less frequently used abilities. With a resource pool, you can choose to either be effective now or effective later. There’s a consideration for efficiency over the course of an encounter, which contributes some flow. It’s not as strong as the flow that comes from time, vulnerability and position-based combat.
Note this doesn’t mean you can’t use resource pools, but it does mean that it will not provide the combat flow you want in the combat system. So, for the tally, MMORPGs lose flow in the following areas:
- Actions rarely vary in effectiveness in a non-formulaic way.
- Actions are resource-limited, not effectiveness-dependent.
- Actions cannot be changed once started.
- Actions are binary on/off due to position, as opposed to adjusting the effectiveness based on position.
- Actions rarely carry over from one opponent to the next.
- Actions rarely impact the enemy in a way that strategically alters my potential actions.
This post is full of gross over-generalizations and there are with exceptions, but I hope those don’t distract people from the point I’m trying to make. The traditional MMORPG’s combat flow suffers in numerous areas, and yet we expect people to use that combat system much longer than they would in other games. We need the flow in our games to be consistently close to the encounter duration so that we don’t have as many repetition cycles, especially in games with fast combat.
One of the main problems with most of the points you bring up is lag and the fundamental nature of the internet. The more detail you put in, such as damage based on specific positioning, the more bandwidth you’re going to eat up with transferring data. Especially if you get into PvP situations where all participants have to send a lot of data. Split-second reactions that are standard in action and fighting games turn impossible in games where you have even moderate latency.
With your example of varying execution times, one game has done something like this: Lord of the Rings Online. I remember reading a description saying they had four timing segments on each attach. The big problem is that the animation sequences make the combat feel “unresponsive” to most people. You’ll probably point out that the proper answer here is the “combat cancels” you mention, but again I’ll point out that latency makes this much more difficult to do in an internet game than on a typical console/arcade action game. So, I’m not sure that looking at that gameplay genre is going to be useful.
All that said, I find your main premise about combat flow to be interesting. I would like to see a combat system that is more interesting than just maximizing damage (or reducing damage or restoring damage) all the time. I’m working on a little demo of an alternate combat system that takes some of these issues into consideration. Maybe I’ll post my Flash example sometime before the heat death of the universe.
I agree. I briefly mentioned some of these don’t exist for technical reasons, but I didn’t actually spend much time on why the combat systems are this way or what they should be. Maybe I should have done so.
It’s not my intention to say that MMORPGs should have combat like action games. What I want to see is MMORPGs that satisfy the same requirements, but through different mains.
We should consciously compensate for the loss of flow when we’re designing combat systems. I think looking at other genres is a good way to find out what we are missing, but we can’t directly port those systems over to MMORPGs.
Very interesting post. When it comes to action games, which one do you think is doing the whole flow-thing very well? And which one isn’t? Personally I’d say that God of War always had very good combat as well as Prince of Persia: The Sands of Time. Can’t think of a really bad example yet, probably Assassin’s Creed, that felt very repetitive, not sure though if this is because of bad combat design.
God of War usually does quite well in this area, and I’d also agree with Sands of Time. Almost all of the really well received action games do well in this regard, like Devil May Cry. Most recently, Batman: Arkham Asylum does a great job of maintaining combat flow. Unlike most games, it often *requires* you to move back and forth between targets. Fighting games like Soul Calibur also have good flow.
Just thought about the lag issue and I don’t think it’s that much of a hindrance. Take Team Fortress 2 for example, some of the weapons damage is based on positioning (Spy’s knife, Backburner) and that works out pretty well. But I guess you can’t do as much as you can when in a single player game.
The other thing that crossed my mind is if there’s a guideline for balancing the number of enemies against the time it takes to take one of them down?
MMOs tend to have much greater latency than dedicated hosting games like TF2.
I would say there’s no guideline for balancing the number of enemies against the time it takes to kill one. There are typical targets, but it depends on your goals and target audience. This is an area where we get lots of variety between games.
What you are describing was one of my primary frustrations with WoW.
At level 40 with the proper build a priest toon could chain kill single targets in about 15 seconds each regardless of number of opponents up until the point that Power Word: Shield broke down and things got into a resource management shuffle then.
Relatively the same thing in PVE or PVP for that matter with Warlocks. I used the same casting sequence macro for both and to be honest PVP kills were probably easier and faster because you were dealing with various increments of lag, foes who seldom were at full health, and foes who didn’t have the AI to turn and burn on you when you had a good position on them, i.e. from behind or from visual cover.
Also I played affliction so I rarely had to stop moving towards a favorable position which made it very difficult for both meleers and other clothies who had to either move in and attempt to fight in my favorable position, the meleers, or stop moving to cast and lose their favorable position, the clothies.
The interesting part in this interval was in PVE with Paladins. I used level 40 in my examples because I ran a time comparison on kills of the level 40 gorillas outside of Booty Bay as my control group.
Warlock or Priest about 15 seconds per kill as fast as you could chain them. Affliction lock never ran out of resources. Neither did a Disc/Dark Priest. Also neither did a Pally with the right auras, blessings etc.
Paladins had a 90 seconds per kill for a single target but due to Retribution and Consecration the time per kill for multiple mobs was actually a smaller interval based on the number of targets. One kill 90 seconds. Killing 3 was averaging 120 seconds, or 40 seconds per kill average, rather than the 270 seconds you would expect based on the other two classes linear advancement through combat.
As abilities rose with defense in the game for the Paladin the numbers got lower and lower and more and more targets could be fought simultaneously until they hit the 15 second per kill mark or less at level cap and soft defense cap.
For the clothies it never really ever got better than that 15 seconds which led to boredom due to unchanging game state and repetition of casting sequence macros for literally days of time, and packing up and moving down the road due to their performance capping relatively early and the Paladin with even wholesale slaughter with trivial risk becoming boring eventually.