The following blog post, unless otherwise noted, was written by a member of Gamasutras community.

The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company.

As a fighting game fan and "developer" of one, I often hear about balance. Balancing any game can be a difficult, time-consuming task -- made more complex when asymmetry is involved -- a task that franchises such as Street Fighter, Mortal Kombat, Tekken, etc., still work on and improve with patches and updates throughout the long life cycles of their games.

The indie fighting game I've worked on, Battle High, is no different when it comes to this necessity for asymmetrical balance, but when I look back at the game, I wonder how I could have taken a better, more strategic approach to this. I look at my frame data, the information about each characters' attack; until recently, I didn't really have any, or at least any that was reliable, but I wonder if I could have saved time had I planned it out more carefully from the start. Likewise, it made me wonder how bigger companies plan and design their characters. Does a designer create a frame data spreadsheet and design attacks based on that first or are they given a character whose attacks are made in an initial, conceptual phase and then editted to fit within constraints, defined by existing characters or artwork?

Anyway, I theorize that maybe Battle High's balance could have been better had I approached it from the standpoint of well-designed frame data as early as possible.

I'm going to show some example frame data, but a quick disclaimer: the example data I'm making up is just one way people dictate frame data. Mine is probably more verbose but meant for clarity. So, for my example and simple frame data, I made up the following:

Attack Start Up Active Recover Total Standing Light Punch 2 2 3 7

In the above, for this Standing Light Punch, we have the following information:

Start Up: the number of frames for the attack to be active

Active: The number of frames the attack is active or can hit the opponent

Recover: The number of frames that must pass before the character returns to their initial or idle state

Total: The sum of the previous three or the entire length of the animation

Now these are just example numbers, but from this, I can determine a lot about the attack, for example, it starts up and recovers relatively quickly. As a designer though, I need a more information to help me balance it against other information.

Attack Start Up Active Recover Total Hit Stun Block Stun Damage Standing Light Punch 2 2 3 7 6 2 10

The three columns added say the following:

Hit Stun: if the attack succeeds, how many frames the opponent is stunned

Block Stun: If the attack is blocked successfully, how many frames will the opponent block

Damage: How much damage does the attack do upon success -- let's assume I'm not utilizing chip damage for the time being.

Now, using these seven numbers, I can derive some important information.

If the attack succeeds, the opponent will be in hit stun, so when I recover, assuming I hit the oponent on my first active frame, I will have 1 frame to perform a follow-up attack.

Standing Light Punch won't combo into itself though because it takes longer to start-up than for my opponent to recover

If they block, however, they will have 3 frames to counter attack -- again, assuming I hit on the first active frame.

Side note: I'm curious if a fighting game has done something where the hit stun is determined by the active frame the attack hit with the idea that the hit stun is consistent regardless of what attack frame the attack lands.

Again, using data like this early on to defne my characters, I wonder if a more balanced experience can be created. Here's a quick example idea:

Character / Attack Start Up Active Recover Total Hit Stun Block Stun Damage Connie / SLP 2 2 3 7 6 2 10 Marshall / SLP 3 1 3 7 6 2 12 Bieliel / SLP 1 3 6 10 9 3 16 Jillian / SLP 1 1 1 3 5 2 6

So comparing characters, Connie and Marshall could be aruged as being balanced. Though Marshall's SLP has a longer start-up and shorter active period, they have the same recovery, hit stun, and block stun. At the same time, to balance this out further, Marshall's SLP does a bit more damage.

Then there is Beiliel who has a very quick startup to his SLP with more active frames, but longer recovery than Connie and Marshall's. To make up for this, its stuns and damage are increased.

Finally there is Jillian. This is when frame data could be used to realize problems early on. I'm trying to define her as my "weak but fast" character, but being only 3 frames total, Jillian's SLP could be considered unreasonably fast, even with the reduced damage and stuns. Did I accidentally create an infinite, especially with how the hit stun is longer than the attack's startup? Then again, new engine features could be introduced to resolve this such as reduced hit stun and/or damage on consecutive hits.

This is only a microscopic cross section of an actual fighting game though. Not only are there usually more characters and many more attacks per character, there are tons of other variables not being taken into account such as range, mix-up potential, pushback, priority, linking just to name a few! Oh, and additional features such as projectiles, throws, guard breaking, and so on continue to complicate this.

Though I raise the question, if a team could figure out all the information of their attacks, could a tool be made that compares and cross references this data, tests out scenerios, and suggests adjustments to create a perfectly balanced game? Wouldn't that be great? I'm not sure. For the most part, developers have this machine already: their players. Why make some complex algorithm to check all of this data when players usually expose it themselves and a patch can be released to resolve it? Of course, there's a risk because if there are too many issues, the game can be considered garbage by the audience and forgotten. Also, frame data isn't all a fighting game is made out of; there are a lot of other areas that affect balance, some areas a spreadsheet can't properly determine.

Execution Balance

Outside of the frame data spreadsheet, another way an attack can be balanced is by making it more difficult to execute than others. Does it require one button press? A simple command? A complex command? These can balance things out -- to a degree. It can also aliente casual and beginner players though, and some even argue complex inputs could be hurting the genre as a whole. Regardless, a move could have fast startup, safe on block, and a lot of other positive attributes, but maybe it's hard to execute to help balance it slightly. This is all dependant on the player though, something a spreadsheet can't easily cross reference as there will always be expert who can do any move with their eyes closed and novice players who will never be able to perform certain attacks on cue.

Visual Balance

Though frame data may be in the back of some expert players' minds, visual recogniztion of what is going on is arguably more important to help with timing, identify target, when an attack is or isn't active, and a lot more information. How can this help with balance or maybe even hurt it though?

Well imagine this scenerio: 2 characters with identical frame data. One character is easy to recognize and humanoid, the other, an amorphus blob. I theorize that the average player would say that the amoprhus blob is a slightly better character -- well, depending on the animations. If they are hard to read and indentify, while the humanoid character isn't, there could be a slight advantage. Sound is also important, and there is probably a distinct advantage given to a character who is relatively silent versus one that is not -- though having a completely silent character would probably appear to be bad sound design.

Another example of aesthetic balance (or imbalance) concerns alternate costumes in games like Street Fighter. I really like alternate costumes actually, but I can see them causing some confusion or distraction as some are very wild and the character ends up no longer being as recognizable as their iconic default costume. It would be an interesting to do a survey of symmetrical or mirror matches but allow players to pick different costumes and see if a pattern arises, do players who use a certain costume have a tendency to win more often in these mirror matches?

I think one game series that is particularly guilty of having balancing issues due visual inconcisistencies is Guilty Gear -- no pun intended...okay, maybe a small pun intended. Guilty Gear has beautiful characters and animations, but there are inconsistencies that I feel balance the cast in a unique way outside of frame data -- albeit a confusing one at times. The best example of this I can think of in Guilty Gear Xrd is with Milia Rage's Drive attack and I-No's Stroke The Big Tree special attack.

Both attacks look like they come out of the ground, but Milia Rage's Drive attack (left) is an overhead, and attack that can't be blocked when crouching (and yes, I know, all Drive attacks are overheads) while Stroke The Big Tree (right) has to be blocked low. It's these sort of inconsistencies I feel can be a little unwelcoming to new players but at the same time, adding ambguity to a character's attacks could help adjust balancing in their favor.

I think the key question I've heard that demonstrates this issue, heard when playing a game, usually out of frustration, is, "How do I block that?!" Assuming the attack isn't unblockable, if a player is asking this, I feel there is a failure in clear visual recognition or consistency -- or a purposful choice to make an attack ambiguous.

Another area where there can be aesthetic imbalance can be outside of the characters but due to areas such as the stage or environment. An example I see often is from Marvel Vs. Capcom 3. There is a stage that is mostly white. I've heard several reasons why this stage it picked so often: it's bright, runs fast, etc., but I'm always a little suspicious of that when someone picks a character in an all-white costume. Sure, there is some semblance of an outline, and an expert player will probably not have an issue, but maybe they didn't block that low because they couldn't see it due the to high speed and lack of contrast due to the character blending into the environment.

I sometimes even feel that this is a problem with modern game art as a whole. Though we make great strides in realism and beauty, we sometimes have problems with things just getting muddled and lost. This issue could be one reason why the developers of Killer Instinct's latest installment changed the backgrounds a bit between seasons.

Regardless, aesthetic balance is something that no spreadsheet can solve -- maybe you could survey players and if all of them think a low kick looks like a mid kick you can resolve that but that's not the same thing as the frame data I mentioned before, that's focus group and playtesting.

Is Perfect Balance Really the Goal?

So it seems that frame data alone can't perfectly balance a game, and the question remains: is perfect balance really the goal? When I ask this, I think of tier list or character rankings. Not many Battle High tier list exists, if I searched I could probably find one, but if the entire cast was even, if everyone considered average or C, it just feels like it'd be boring. Maybe boring isn't the right word; there are plenty of symmetrical games that people enjoy and are exciting, Nidhogg comes to mind. But if every character is considered equal, why even have more than one character? Haven't I just created symmetrical balance with the illusion of asymmetry?