Game Development TutorialsBecoming a #GamedevProgramming

I wanna make a fighting game! – A practical guide for beginners (part II)

In this installment of our series I wanna make a fighting game, it’s time to face the second stage of planning: the core game mechanics.

In the first article, I tried to convey the difference between 2D and 3D fighting games in terms of common game design issues and gameplay differences. Now, if your enthusiasm survived the previous round of challenges it’s time to go and face the second stage of planning: the core game mechanics, a.k.a the very way your game will interact with the player.

And, again, let me start with a question:

Why should I play your game?

Yes, why? How is your game different from Street Fighter, Tekken, or Killer Instinct? Why should I spend my time giving it a try?

Thou shalt answer with your game features and mechanics! You have to define the gameplay core as a set of rules and stick to these rules. In most cases, your game will be fully defined by the choices you make at the beginning!

So, let’s review a couple of mechanics and features that were implemented in the past – to use them as an inspiration and/or a base to build your game onto. Some of these can be used for both 3D and 2D games, while some can’t. It’s time to get started! Ready? Here we go!

The feature atlas

Before I start, let me remark you that this list is far from complete, since listing every possible feature and gameplay choice would have probably required a book instead of a blog post. I’ve decided to focus on some features that I consider interesting enough and that could provide some food for thought.


Combo / Move cancels

The first one is pretty straightforward: a modern fighting game without combos is a no-sell – safe for rare exceptions. Chaining attacks together has to be not only possible but one of the central point of your gameplay. Otherwise, you can always resort to a Ye Are Kung-Fu game style… which I’m not sure you really want. Move cancels aren’t as diffused, but nevertheless add another layer of depth: the ability to interrupt an attack to start another one (sometimes even a super move) improves the fluidity of the gameplay.

What can go wrong:

If not properly handled, cancels lead to combos, combos lead to longer combos, longer combos lead to infinite combos. That’s all, the balance is broken. Implementing combos and move cancels properly requires some pondering. For example, Guilty Gear X allows you to basically cancel every attack at the cost of half your super meter, while some iterations of Street Fighter (for example, Street Fighter Alpha 3 Upper for GBA, provided that a certain option is selected) allow you to do this for free but only for certain attack combinations (e.g. normal > special move, special move > super move).

I wanna make a fighting game! - Do you hate combos? This is what you are looking for.
I wanna make a fighting game! – Do you hate combos? This is what you are looking for. Do you hate combos? This is the game for you 🙂


Projectile attacks

The classic example is – again – Street Fighter 2: you press a button combination and a burst of energy comes out of your character’s hands (or feet, or any other body part). Projectile attacks have much more sense in 2D games than in 3D ones (as pointed out in the previous article), but they are always a cool addition to the gameplay and a good tool for zoners. It’s not a must-have (Tekken and Dead or Alive pretty much lived well without almost using them – with some notable exceptions), but it’s an evergreen to consider.

What can go wrong:

If you don’t balance the mechanics correctly, characters with access to projectile attacks will be nigh unstoppable by characters without any of such attacks.

I wanna make a fighting game! - Yes, Hadouken. Yes, again.
I wanna make a fighting game! – Yes, Hadouken. Yes, again. Yes, Hadouken. Yes, again.


Sidestep / 8-movement direction

From Virtua Fighter to Tekken, the way 3D games usually settle as such, providing access to the third dimension in order to dodge blows and retaliate or to attack the opponent from the back. Surprisingly, some 2D games offer sidesteps as well: most notably, Fatal Fury Real Bout.

What can go wrong:

Basically, everything. If the attacks in your game have too much tracking or there is no real need to sidestep (slow side motion, no attacks during sidestep, no invincibility at first frame), this feature comes out pretty much useless and overshadowed by jump attacks.

Hey, there's even a third dimension!
Hey, there’s even a third dimension! Moving in 3D gives depth to the gameplay.


Variety of characters

Pretty much what it says on the tin: each of your characters has to be easily recognizable and play differently from one another. Bonus points if your characters have also different statistics which differentiate them even more (speed, health…). Please notice that they don’t have to be simple palette swaps – for this, you have costumes and additional colours. Think about it: A Street Fighter with only Ryu or Ken clones wouldn’t be half fun to play. That could have been a game breaking issue with the first Mortal Kombat: every character had the same basic moves, so if it weren’t for special moves and Fatalities, it was basically the same over and over. Fortunately, the special moves were diverse enough to make each one of them stand out – even when they were blatant recolours, like Scorpion and Sub-Zero!

What can go wrong:

More than you think. Making each character interesting and unique can be frustrating, especially when it comes to balancing the whole game out. Be ready to spend several hours trying every possible match-up.

Killer instinct is definitely a game which built its franchise on the idea that each character is unique. Seriously.

Air dashes

Whoever has played an anime fighter (Guilty Gear, BlazBlue, Melty Blood), already knows what this means. Basically, air dashes let the characters perform a quick forward / backward movement while in air, allowing for a much faster gameplay and situation change. It’s mostly found in 2D fighting games. If you want to focus on a fast-paced gameplay, this is a nice feature to think about.

What can go wrong:

A too fast / recovery-less dash can lead to situations in which it’s almost impossible to strike back. On the contrary, a too slow dash will be almost useless. Compared to other gameplay components, this one is pretty safe to implement, provided you take care of choosing the right velocity and distance traveled.

Ring out

Raise your hand if you played Virtua Fighter at the local arcade as a kid, only to be sent out of the ring by the damn Jacky at the first round. Yes, ring out can be THAT frustrating, but when properly done is a really cool addition to the game. If you manage to create a decent set of rules to prevent over-exploitation of the mechanic, this can become a really interesting strategic element. An example can be destructible barriers that – once down – allow you to push the opponent out of the ring. While this mechanic is more common in 3D games, it has been also implemented in 2D fighting games (again, Fatal Fury Real Bout – plenty of innovation at that time, right SNK?).

What can go wrong:

Ring out is a pretty nasty feature to implement it properly and require careful considerations.
Soul Calibur III is my example of choice: there, the ring out is always justified – your character falls into a crevice, drowns into the sea while donning 20+ kilograms of armor, falls into a lava pit – and you can prevent it by performing some aerial control. This is a properly made ring out mechanic and the one you should aim at. Now, for a personal opinion… stay away from the Virtua Fighter-style ring out, if possible: the character steps out of the ring and – oh, yeah, they can’t fight anymore. Just because they stepped twenty centimeters outside. This can be good in sumo, but in a videogame kind of destroys the suspension of disbelief and causes even more frustration: your character is still there, unharmed, standing like an idiot and looking at the opponent. Pretty sad, isn’t it?

I can't forget when he was a bunch of polygons and kicked me out in 5 seconds.
I can’t forget when he was a bunch of polygons and kicked me out in 5 seconds. After more than 15 years, I still remember being kicked out of the ring by the low-poly / Virtua Fighter 1 version of this guy, thus prematurely losing the coin spent to play that game at the local arcade. Yes, it still hurts!


Destructible armors/weapons

Fighting Vipers anyone? Well, armors are cool elements which can improve the character offensive / defensive options, and making them destructible adds a full layer of complexity to the gameplay. More recently, this has been implemented in both Soul Calibur IV and V and while being a sort of niche feature, when well done can turn the tide of the game.

What can go wrong:

An armorless character shouldn’t be useless, nor insta-killable – if this is not the gamestyle you are looking for. If you want an example, look at Soul Edge: if your character lost their weapon, they kinda become sitting ducks, leaving the player with very little options to retaliate. It tells something if this feature was removed, never to be seen again in any of its sequels. A feature shouldn’t cause so much frustration, just deepen the gameplay.

Counter attacks / counter holds

Popularized, for example, by the Dead or Alive series, counter attacks generally give the attacked player a way to retaliate and exit from some really nasty situations, reversing the flow of the battle. An interesting variation is given by Soul Calibur Impact Guard mechanic, a sort of instant parry which could deflect most of the attacks if timed correctly but left you absolutely open to punishment if missed.

What can go wrong:

Counters can be a good comeback mechanic (that is, a mechanic that allow the losing part to get back into the match), but if not implemented correctly it will just transform your fighting game into a sort of ultimate rock-paper-scissor match. If you want to implement them, be careful that they are not too powerful and try to put penalties if the timing is wrong – so that they don’t become too overpowered.

Let’s give every move its counter!

Fatalities / Execution moves

Mortal Kombat introduced a really awesome concept, back in the days: the FATALITY! Basically, after you defeat your opponent, you can dispose of him in a usually brutal and gory way. Fatalities can be extremely fulfilling, especially after having beaten that one boss who kicked your back fifteen times in a row [WARNING: link to TVTropes – you could lose your whole day there!]. So, why not giving the player the possibility to satisfy their repressed anger?

What can go wrong:

Look at most of the Mortal Kombat clones. A video is worth a thousand words [warning: not completely safe for work], but suffices to say that if not executed properly, this “feature” will leave a really sour taste in the player’s mouth. And now, for a nicer example…

Directly from 1993 – Warning: can be a little gruesome, do not play it in front of children (it’s still quite safe for work, even if it is a fatality =P)

Super Meter

Usually, you can’t let the players pull out some overpowered move or super fast evasion maneuver every time they like. This is where a super meter comes in handy! You can then make each of your game-breaking moves consume a certain quantity of meter, effectively removing the “game-breaking” part from their name! Super Meters can be found in a variety of games and are usually filled by hitting your opponent or being hit by them. For example, the aforementioned counter hold can be controlled this way, balancing out its issues.

What can go wrong:

This feature is pretty safe to implement, the only issue which comes into mind is how fast the meter should fill and – specifically – if there are characters who can fill it significantly faster than others. As everything discussed so far, it needs balance.

Super Arts

Another well known example. Super Arts / Desperation Moves are usually moves you can pull out only when you have fulfilled some conditions (filling a super meter to a certain degree, having your character on the brink of death…). Super Arts can turn the tide of a match and they are usually visually impressive. This mechanic helps a lot when making each character unique, giving them another characteristic to stand out. A variation of the Super Art is the Insta-kill move (see Guilty Gear) – the name says everything – which needs even more careful planning.

What can go wrong:

Super Arts need to be balanced. They have to be powerful, so the player will use them, but this doesn’t mean they have to be unstoppable. Balancing every aspect is the most difficult part of implementing this mechanic.

Just to remind you what is the meaning of insta-kill…

Final remarks

Again, this atlas is not complete. There are tons of features that can be added and/or considered (a couple that comes to mind are interactive/destructible stages, and character transformations, but there are many more that could be listed!). The best option would be being able to design your own custom feature, which would definitely set your game as original and – if done well – worth playing. Another possibility is to combine the features of two franchises with your own characters and mechanics. This could even be the starting point while putting together your gameplay mechanics. You could think about making a game which has Tekken limb input system but Street Fighter super moves and cancels, or a Street Fighter with destructible stages, stage-related supers and stage hazards, or maybe a Virtua Fighter with anime-style, exaggerated over the top action and energy bolts… or why not a Bushido Blade in space with robots and cool booster-driven attacks, stealing some movement options from Armored Core?

Speaking of which, remember to keep an eye at other game genres: introducing game mechanics from other game you love and mingling them into your fighting game could be a really interesting choice and help it stand out of the crowd!

Possibilities are almost infinite, but once you have found what you think is the right mixture, stick to that until you get a working prototype! Then, you’ll be able to understand if it’s really working or there’s still need for some tweaking.

A concrete, personal example: Schwarzerblitz

Okay, it won’t definitely be as shiny and refined as the examples above, but let me share with you a concrete example of decision process: mine. I wouldn’t have any credibility in writing this article, if I didn’t have to face the same problems at least once from the developer side, right?

When I was building the engine for my game, Schwarzerblitz, I had to answer the exact same question which opened my article. So, why should you play my game? It took a bit to find the answer, but ultimately it boils down to:

Because I’ve implemented enough variety of mechanics to distinguish it from other existing fighting games and I’ve made each character play differently.

This doesn’t mean that Schwarzerblitz is an amazing game changer or the future of fighting games: This just means that you can play it without thinking “it’s a cheap clone of Tekken by another name” and has enough diversity to be considered as standalone as a fighting game can be.

 To give you a quick summary of the decisions I had to take…

  • I’ve settled for 3D, since I’m not amazing at drawing and making a whole spritesheet would have took me ages, even for one single character (remember last article?). I’ve also decided not to make a 3D-but-2D game to make use of the whole stage design;
  • The game uses the movement system of Soul Calibur II: 8-direction movement + button combinations for crouching and jumping;
  • Some stages offer the possibility to send the opponent out of the ring, but only with specific low-velocity-high-knockback attacks, thus (in part) solving the balancing issue I’ve discussed above;
  • There is no Super Meter, but each character can use a mechanic called Trigger either to break the opponent’s guard, increase hit-stun (the amount of time your opponent can’t move after a hit) and chain a normally unchainable combo or to break free of said combo. How was this balanced? The characters start a match with a finite number of Counters – which can’t be restored if not by winning/losing a round – and each of this moves uses one Counter. This change removes the game-breaking part of this mechanic;
  • Some characters have fireballs, but they can be sidestepped or jumped. Yet, from the distance they remain a pretty impressive tool to confine the opponent to the other side of the ring;
  • A small trivia: the slow-motion effect during Trigger combos was inspired by a bug I found in the collision engine, which basically didn’t stop the character when the game was paused and let them fall down when in mid-air at a ridicolously low speed. That bug, combined with the awesome Metal Gear Rising Blade Mode is the true artifex behind the special effect that became one of my most beloved features in the game I’m building – so, yes, even bugs can help you sometimes!

Okay, it’s enough for this second issue! See you next article… hoping that this is helping you decide how will your future game play 😉

Read more:

I wanna make a fighting game! – A practical guide for beginners (part I)

I wanna make a fighting game! – part III: The character as a state machine 


Join us!

How about writing your own piece for IndieWatch?

Andrea "Jens" Demetrio

A PhD student in Physics by day and hobbyist game programmer by night. My insane love for fighting games made me try to build my own one – Schwarzerblitz – and spending my time improving it. I'm the kind of jack-of-all-trades / one-man-team guy who goes full throttle on his passions and never gives up.


  1. Well done again, Andrea. I am so impressed with your depth of knowledge of fighting games.

  2. I was looking around the internet for resources and found your article. Great read! I’m also a hobbyist, trying to make my 3D-but-2D game in Unity (and physics undergrad). Will look forward to reading the next part, as I’ve already encountered my share of problems! 😉

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button

Adblocker Detected

Please, consider turning off your Adblocker so you can enjoy IndieWatch and contribute to our site's existence. We need to display ads so we can keep our gears smooth and running. Thanks for you cooperation!