Combos

So we’ve talked a little about the transition from Hit Reaction to Itself.

CombatFSM_HitReact

But let’s talk about the transition that goes from Attack to itself.

CombatFSM_Attack

This is the transition that is responsible for what we usually think of as combos. I mentioned in an earlier section that the rules that govern this transition can be a defining feature in what makes one fighting system different from another. So when designing a combat system of your own it helps a lot to spend a good amount of time thinking about this part of the game. Let’s go over some common and interesting combo systems and what makes them different from one another.

First off let’s give a concrete definition for the word combo. A combo is a series of attacks such that if the first attack succeeds the target cannot defend or evade the subsequent attacks ensuring their success. Another related definition is a series of attacks that can be considered to be a single attack for design and gameplay purposes. The idea, as always will differ depending on the type of game you’re making, but these definitions are a great starting point. Now the first combo system I’m going to talk about is one that I have already described. Before I described a move set that looks like this.

Move Name Wind up Threat length Wind down Hit Reaction
Light Punch 100ms 200ms 200ms 450ms
Medium Punch 200ms 300ms 300ms 750ms
Hard Punch 300ms 400ms 500ms 1150ms

We then went on to see how the player could initiate a hard punch followed by a medium punch, and then finally a light punch and have each attack land while the target was still hit reacting. Because the target is passing though the Hit Reaction to Hit Reaction transition (i.e. he could not defend between attacks) this is considered a combo.

CombatFSM_HitReact

This is what I call an Inherent combo system. The ability to combo one move into another is determined completely by the inherent characteristics of the attacks, their wind up, threat, wind down, hit react, and shape. This can be a very elegant method for designing combos because it can be done 100% design side without the need for extra systems. Now the example I have above is very simplistic as it only has three moves, furthermore the combo goes from hard to light, which is considered counter-intuitive. Let’s take a look at a move set that’s a little bit more tailored to this kind of combo system.

First let’s remind ourselves about some important points. We need to make sure that we do not create infinite combos, but we’re also trying to create some inherent combos. The equation we’re dealing with is this one.

Attackremainder - Wind Up*target < Hit Reactlength < Attackremainder + Wind Up*attacker

But in order to make an inherent combo we’re concerned about this part of the equation:

Attackremainder - Wind Up*target < Hit Reactlength < Attackremainder + Wind Up*attacker

In particular we are looking to create this situation.

Hit Reactlength > Attackremainder + Wind Up*attacker

Any attack that has a wind up that makes this last equation true will be part of an inherent combo. Having said that we also have to remember that we need a move in every combo that has a wind up that satisfies the first equation so that the combo will end. If there is no such move then we have an infinite combo, which is an imbalance. So here’s a move set.

Move Name Wind up Threat length Wind down Hit Reaction
Kick Attack 1 330ms 400ms 400ms 1115ms
Kick Attack 2 320ms 400ms 400ms 1105ms
Kick Attack 3 300ms 400ms 400ms 1050ms
Punch Attack 1 340ms 400ms 400ms 1115ms
Punch Attack 2 310ms 400ms 400ms 1105ms
Punch Attack 3 280ms 400ms 400ms 1050ms
Energy Attack 1 380ms 400ms 400ms 1160ms
Energy Attack 2 350ms 400ms 400ms 1115ms
Energy Attack 3 300ms 400ms 400ms 1050ms

Here we have a move set of nine moves; in a real world setting you might have dozens of moves, but I wanted to keep it simple. This should still get the point across though. First off these moves are not meant to be in a hierarchy of strong, weak, fast or slow.These are all parallel moves where one is just as good as the other. You’ll notice that the difference in times is so miniscule that it’s barely perceptible to the human eye when animated, however it is still enough to determine whether or not two moves can be combined into a combo. For example you can see that if you were to perform Punch Attack 3 it’s 1050 millisecond hit react would mean that there would have to be an attack with a wind up of less than 250 milliseconds to be able to hit the target again while he was still hit reacting, and as you can see there is no such attack. If you were to perform Energy Attack 2, however, its 1115 millisecond hit react means that any attack with a wind up faster than 315 milliseconds can land a hit before that hit react ends, and there are four attacks that meet that criteria. The attack combinations that are combos within this move set breakdown as follows:

1-hit combos: 9
2-hit combos: 26
3-hit combos: 27
4-hit combos: 9

So just with this small set of nine moves, I’ve managed to generate 51 different combos of varying length. Also, because I made sure to create my move set with the balancing equation I can be positive that every combo will come to an end and that there are no infinite combos. Now in this case I only used the timings to create combos. In a real world setting you might also use the shape of the attack and the nature of a hit react to create inherent combos. For example some attacks might only hit a target in the air or on the ground, and some hit reacts might pop the target into the air or knock him on the ground. These kinds of decisions are what will make each of the moves interesting to use.

There are several benefits to using a combo system like this. First off with a small amount of work you can create very large numbers of combos, and be confident that the game remains balanced. Like I mentioned before another advantage is that you do not need any extra rules built into your system to handle combos. This keeps the technical aspect of your game engine simpler, fewer parts means less time to build and fewer parts to maintain. On the down side it can be difficult to control the number of combos generated from this method. If for some reason you want your game to have nine moves, but only six combos you might have a hard time of it. Also because all of the combos are composed of the same moves it can be difficult to create combos that are flashy or reach a very high level of aesthetic quality. Examples of games that incorporate this style of combo development into their fighting system are the Tekken and Soul Calibur series.

Now, because we’re only using the inherent properties of the attacks to create combos we are not actually using the transition from the attack state to itself. With inherent combos each part of the combo is a complete attack from wind up to wind down. That means that the combat state machine for the attacker is being allowed to exit the attack state into the Idle and then begin a brand new attack.

CombatFSM_IdleToAttack

Opposite to Inherent combos are what I like to call fixed combos. A fixed combo is a well defined combo created by the designers and explicitly placed into the game using special rules. This means that instead of using the inherent timings of the attacks to form combos the designer explicitly creates the combo and uses some kind of system to override the natural properties of the attacks. Combos that are not inherent combos will be using the transition from Attack to itself.

CombatFSM_Attack

Let’s revisit our move set except this time we’re going to remove all inherent combos.

Move Name Wind up Threat length Wind down Hit Reaction
Kick Attack 1 330ms 400ms 400ms 770ms
Kick Attack 2 320ms 400ms 400ms 760ms
Kick Attack 3 300ms 400ms 400ms 750ms
Punch Attack 1 340ms 400ms 400ms 780ms
Punch Attack 2 310ms 400ms 400ms 760ms
Punch Attack 3 280ms 400ms 400ms 750ms
Energy Attack 1 380ms 400ms 400ms 790ms
Energy Attack 2 350ms 400ms 400ms 785ms
Energy Attack 3 300ms 400ms 400ms 750ms

So here we have a move set with no inherent combos so combat sequences are one attack long. Now with this move set a designer decides that he or she wants Punch Attack 1 followed by Punch Attack 2 to be a combo. How can the player perform these two attacks as a combo if the timings don’t add up? One way to go is when a correct combo sequence is input the first attack begins to execute, but before it finishes it’s cut short and the second attack begins. Usually this means cutting out the wind down of the first attack and going directly into the wind up of the second. Sometimes it might even mean cutting into the threat of the first attack as well. Let’s look at these two moves from Ryu’s move set.

Uppercut

First we have an uppercut from Ryu.
Uppercut_Timeline Next we have a special move from Ryu’s move set called the Shoryuken (Rising Dragon Fist).
Shoryuken_Timeline As a side note you’ll notice that in the Shoryuken the ratio of the wind up to the rest of the attack is very lop sided. This is one of the things that makes the Shoryuken a special move. Its shape also takes Ryu into the air enabling him to hit a target high above him, but the beginning of his threat is low enabling him to also hit a target low to the ground. This is a highly designed and highly specialized move, and it comes with its balancing offsets including long wind down and difficulty of execution.

Ok so now we have two moves that we combine to make a combo. We are deciding to a make combo that’s Uppercut then Shoryuken. So, Uppercut causes a hit reaction that is eight frames long which is the same length as its Threat and Wind Down added together. This means that by the time the player returns to Idle from his uppercut, the target has done the same and even the Shoryuken’s lightning fast single frame wind up is not fast enough to guarantee a second hit. This combo cannot be done inherently. So what we’re going to do is forcefully cut short the uppercut and initiate the Shoryuken, explicitly creating the combo.

Up until now we have only been attacking while in the Idle state. What I have suggested above flies in the face of the whole idea of the Combat State Machine. Specifically that the behaviors that the fighter can perform are different and disjoint among different states. In other words the player cannot do in the Attack state what he can do in the Idle. In this case I am suggesting that the player be able to attack both in the Attack state and the Idle state. This dissolves the entire balancing mechanism that I’ve been using in this article. For this reason we have to impose very strict rules on when and how we use the transition from Attack to itself. If our rules are too lax and the player can freely begin a new attack before his current attack ends, then he will be able to perform infinite combos, the target no longer has a reward for evading an attack, and the function of the wind down and even the wind up can break down. So here’s an example of the kind of rules we can use to implement this combo.

  1. The Uppercut can only be canceled by a limited subset of the Ryu’s move set (for this example only the Shoryuken)
  2. The combo can only be executed if the input for the shoryuken is received after the beginning of the first frame of the uppercut, but before the end of the first frame of the uppercut’s threat (the third frame)
  3. If this combo is successfully executed then the Shoryuken begins immediately after the end of the uppercut’s third frame, no sooner and no later.

These rules work together to keep control of combos within a system that can be balanced. The first rule limits which combination of moves can be combined to form combos. This is a good thing not only for balancing purposes but also because we can limit combos to combinations that make sense both gameplay wise and aesthetically. In other words if we know what combos exist we can design animations that look like they go together and maximize the coolness factor. The second two rules work together to create consistency in the combo. If the combo always behaves the same way or close to the same way every time it’s executed it becomes easier to treat the combo as a single move with its own wind up, threat and wind down. Treating the combo as a single move means that all the techniques we used for balancing single moves can still be used with no modification. So how does this combo look when we put the two attacks together?

TripleDragonPunch

As you can see what we have here is pretty much the two moves mashed together. The first three frames are from the uppercut, and the rest are from the Shoryuken. The important things to note here are that the uppercut is cut off before the threat ends and its wind down isn’t even in the picture. Second, note that the Shoryuken’s wind up is absorbed into the threat of the two hit combo. So what we’re seeing is that by creating this combo the properties of the original two attacks are overridden and melded into the brand new properties of the combo as a whole.

In an earlier section I talked about how the rules used to control combos and the transition from Attack to itself can define the difference between combat game X and combat game Y. The above three rules are an example of some rules that can be used. If you decide to use different rules then you’d find that the overall feel of the game could change dramatically. There is one such rule that is both commonly used and commonly not used to great effect. To the player it’s a very subtle rule but it has a dramatic effect on the overall personality of the combat system. The rule could be written as follows:

  1. A fixed combo cannot be executed unless each part of the combo successfully hits the target.

What this means is that if we had a fixed combo that was made of three attacks put together, the second attack could not be executed if the first attack missed, the third attack could not be executed if the second attack missed, and so on and so forth. This rule was very common with 2-D beat-em ups like final fight, the old X-Men arcade, and other games like it.

FinalFight3            X-men

These particular games had only one attack button. If you would hit that attack button continuously you’d see the character perform the same attack animation over and over going through its wind up, threat, and wind down. It would look like that character only had one attack. However the moment one of those attacks came into contact with an enemy you would see each of the successive attacks change animation into a cool combo without the need of a second attack button.

FinalFight3_Combo1     FinalFight3_Comb2

Other examples of games that use this system are the Marvel vs. Capcom series, the Mortal Kombat games after Mortal Kombat 3, and all of the Street Fighter games. Examples of games that do not use this rule in their combo systems are God of War, Devil May Cry, and the Tekken and Soul Calibur series.

This also touches on another type of combo system. In my previous examples the combos we were creating were made up of attacks that were in the character’s move set. For example if a character can perform Attack A and Attack B as single non-combo attacks, and then there was a combo that is composed of performing Attack A then Attack B we’d say that combo AB is composed of attacks A and B. In this case even though the combo can be considered a single move it’s composed of the same animations that the root attacks are made of and the combo will also have the properties of the original attacks including the overall shape. However what if there were certain moves and animations that could only be performed as part of a combo?

Take this attack from the game Bayonetta.

Bayonetta

That’s the player character on the right there in a kick pose and the giant high-heeled foot is the actual attack (This is another great example of an attack with versatile shape). Bayonetta is a one-vs.-many 3-D beat-em up game. This move called “Madama Butterfly” is a powerful move in the game with its broad shape, the long hit react it causes, and of course its over the top aesthetic quality. This move, however, can only be executed as part of a long combo. This combo system where a section of the characters move set is only available with certain combos is very commonly used. In fact almost all the games with melee combat systems I’ve played in the past five years, with the exception of a handful of one-on-one fighting games, have used this system to varying degrees. One of the advantages to this kind of system is that it’s accessible to players. Let’s revisit our move set from a previous example.

Move Name Wind up Threat length Wind down Hit Reaction
Kick Attack 1 330ms 400ms 400ms 770ms
Kick Attack 2 320ms 400ms 400ms 760ms
Kick Attack 3 300ms 400ms 400ms 750ms
Punch Attack 1 340ms 400ms 400ms 780ms
Punch Attack 2 310ms 400ms 400ms 760ms
Punch Attack 3 280ms 400ms 400ms 750ms
Energy Attack 1 380ms 400ms 400ms 790ms
Energy Attack 2 350ms 400ms 400ms 785ms
Energy Attack 3 300ms 400ms 400ms 750ms

Here we have nine attacks that can all be performed from Idle. The accessibility of a move is related to how easy it is to execute. The easier it is to pull off the more accessible the move. The simplest way to execute an attack is a single button press. For this move set we would need nine buttons. Though not very ergonomic this might be possible on a keyboard, but this is stretching the limits of a home console controller. Furthermore, a real game can have dozens or even hundreds of moves in its move sets. So in order to be able to perform all those moves from the Idle state a game needs to use a much more complex input method to perform the moves. There is pressing multiple buttons simultaneously, a direction and a button like forward + button, and then there are complex series of inputs to perform a single move like forward, down, forward+button. The more complex the input for a move, the harder it is to execute that move, the less accessible that move becomes to players.

With systems in which certain moves are only accessible in combos a single input method can be used to execute several different moves depending on where in the combo it’s used. Here’s the way it usually works. There will be a small number of attack buttons, about two or three. These are usually light and hard, punch and kick, or vertical and horizontal attacks. Different games will have different attacks but it all boils down to Attack A done with button 1 and Attack B done with button 2. As an example let’s define a move set for a game that has two attack buttons, a punch button and a kick button.

Move Name Input Animation
Attack A (P)unch Right Hand Punch
Attack B (K)ick Right Kick

So given this move set, from the Idle state we can only perform two moves. Each move corresponds to one of our input buttons. Now a combat game with only two moves probably won’t be very interesting, but we don’t want to use inputs that are more complex than a simple button press. So the rest of our moves will be combos.

Move Name Input Animation
Attack A (P)unch Right Hand Punch
Attack B (K)ick Right Kick
Combo A P,P,P Right Punch → Left Punch → Double Hand Head Smash
Combo B P,P,K Right Punch → Left Punch → Back Flip Kick
Combo C P,K,P Right Punch → Leg Sweep → Punch the Ground
Combo D P,K,K Right Punch → Leg Sweep → Soccer Kick to the Head
Combo E K,P,P Right Kick → Spinning Backhand → High Speed Dashing Punch
Combo F K,P,K Right Kick → Spinning Backhand → Leg Scissors TakeDown
Combo G K,K,P Right Kick → Left Knee to the Gut → Uppercut
Combo H K,K,K Right Kick → Left Knee to the Gut → Crazy High-heeled Foot from a Demon Portal

So out of only two input buttons the player still has access to 14 different moves each with unique animations. Unique animations mean that each move will have its own properties including timings and most importantly shape. The player can perform each of these moves with nothing more that pressing single buttons in sequence. In a real game you can also use 4, 5, 6, or more hit combos, have a different set of combos with the same input if you’re in the air, and litter in a few moves that require slightly more complex input and you got yourself a pretty robust move set that is accessible to almost any player.

A few things to keep in mind with this type of combo system: As combos get longer and longer the amount of time the character executing the combo is vulnerable to AIs that are not hit reacting also gets longer. The spectacle of a long combo can be very rewarding for some players, but those long combos are often riskier because an enemy has a lot more time to attack from behind. As a designer this fact can be used to balance encounters between difficult, strategic fights and easy, playground like fights. Enemy behaviors should be designed accordingly. Because the moves in the middle and ends of the combos all have their own shapes and strengths it is pretty common that a player will want to perform one of those moves. This system is designed so that those moves can only be done as part of a combo, which means that in order to execute that move the player must execute the entire combo. If the particular game has a system where the player does not need to hit an enemy in order to execute a combo then the player can begin his combo before engaging his target and timing it so that the desired move comes out at the right time.

From a production side point of view this combo system also has some other advantages. These are all fixed combos. This means that the designer explicitly chose which combos exist. In my example I used all permutations of three button presses, but a designer could choose not to have say “P,K,P” or “K,P,K”. The designer could also choose to have a combo that’s “P,K,P,K” but no other four-hit combo. Because there is no inherent property in the system that allows the player to perform combos each combo needs to be explicitly placed in the game. This gives the designer much more control over how many combos are in the game and over the combos themselves. In other systems where combos are made of moves that the player can perform from idle each move needs to work on its own as well as in its combos both aesthetically, and gameplay wise. In this kind of system the moves only need to work within their combos. This means that much more customized animations can be used to create some really spectacular combos.

So in this section I’ve present a short survey of some of the most common rules used in making a combo system. This is by no means an exhaustive list, and the rules used are limited only by the imagination of the designer. You can create new rules for combos, or it’s also common to combine some of the systems I’ve talked about. Each system has its pros and cons and also people’s personal tastes will cause them to like systems that others dislike so there is no best system. However, it’s a good idea to take great care when thinking about these kinds of rules because the subtlest difference can have significant effects on the overall feel of a game.

<< Prev Home Next >>