Fatal Strike

Designer, Programmer, Project Lead

Screenshots

Overview

Fatal Strike is my first attempt at creating a 2D fighting game. It features two attack buttons, light and medium, and a parry button. You can also hold down the medium attack button in order to charge up a heavy, charging slash attack. Due to the limited scope of this project there is no jumping or combos. When I designed this game, I knew that there would not be enough time to create a full combo system. I also thought that jumping/side switching would be problems that would take a significant amount of time for me to solve and would likely have been buggy in the end anyway given the few months the team had to work on the game. Thus, the game is focused on the neutral game and attempting to read your opponent’s actions while keeping proper spacing. I think that the final version strikes a good balance between being easy to pick up and play, but also has enough depth that a skilled player who put some time into the game will be able to consistently beat a weaker/newer player. The game is primarily played in local versus with Player 1 being on mouse/keyboard and Player 2 playing on a PlayStation controller.

ajj4lo
The game’s training mode which is intended to show the player how to play the game on either mouse/keyboard or controller.

Contributions

My role on the team was primarily that of designer and gameplay/system programmer. Some of my responsibilities included designing all of the combat mechanics, balancing damage values, developing systems such as parrying, and in essence, creating anything related to gameplay functionality in Fatal Strike. I also laid out the in-game UI and programmed its functionality as well. The title screen UI and pause menu/tutorial menu were done by a teammate. My role on the game was also that of team leader. I would coordinate with team members to make sure that everyone was contributing the work we needed to get done each sprint and I would also try and answer any questions team members had about the vision of the game. It was my idea to create a fighting game and the other members were far less versed in the genre than I was, and so I tried to guide everyone in the right direction and provide them with reference material so they would know what sort of a sound to create or how an animation should look. I also found myself working very closely with our character artist/animator as I had to ensure that the sprites he created were visually clear and communicated the function of each move properly. The look of moves is a crucial element of fighting games and I had multiple meetings with the character artist to ensure that the moves turned out as desired. I had similar talks with our sound designer/musician as he created all of our sounds himself and I wanted to make sure that each sound was distinct so that players could easily distinguish between different attacks just from hearing them. This was especially important for the parry as this was the game’s core defensive mechanic and we wanted both players to immediately notice when it was happening so that they could respond to the situation accordingly.

nmguef
Player 2 performing a parry to catch Player 1’s attack. The parry is highlighted green when active and red when recovering, this communicates to both players when the parry is a threat and when it can be punished.

Furthermore, I found myself working very heavily with the Unity animation system as I had in the past. However, I believe that this time around, my understanding of the system was pushed to a new level as I had to deal with many more states and conditions than I ever had before. I made heavy use of Unity’s animation events in order to accomplish tasks like making the parry active/inactive. I also found myself struggling with aspects of the system which I was unaware of, for example lingering hitboxes which would not turn off after the ends of animations despite me having explicitly deactivated/reset them. I also was unaware that Unity has a built-in transition time which slows animation transitions and cuts out the beginning of quick animations. I was greatly relieved when I discovered and disabled this as it made the game’s inputs feel much more snappy and made the frame data more accurate. Overall, I believe I have become much more adept with the system after this project but I can definitely see that it is not optimized for the needs of a fighting game.

fatal strike animator
The animation graph for Fatal Strike. I am glad I added different mechanics/moves one by one as creating the entire graph all at once would have been overwhelming.

Finally, I did my best to balance each move in the game based on what I felt was fair from the playtesting we did . I wanted moves to have clear strengths and weaknesses and I hope that this is reflected in the final game. I also added some features which I thought would help with the consistency aspect of the combat. For example, hurtboxes are shifted forward and enlarged during the recovery of moves so that they can be whiff punished more easily. I wanted gameplay to feel deliberate and I wanted each move to feel reliable and consistent. If a player has good spacing and the enemy whiffs a move, then that move should be reliably punished by the player with good fundamentals. I have included the frame data below for those who are curious.

frame data
Frame Data for Fatal Strike

Reflections/Design Thoughts

What is a fighting game? This is a question that I had to consider when working on this project. With how limited our time/resources were, I knew that I could not make some intricate game with a wild combo system, complex movement, and combat mechanics so deep that people could continue to play the game decades after it was made. This is why there is no hit and block stun in the game and instead each hit pushes the player receiving damage away. There are no combos so instead neutral is reset after each hit and players are forced to rely on fundamentals/neutral skills to win. I had to simplify the game down to what I believe are the three most fundamental aspects for all fighting games:

  1. Spacing
    A critical aspect of all fighters, spacing is crucial as this is what enables you to punish your opponents attacks and pressure them. It is also what leads to a neutral game as players will naturally battle to control this space and threaten each other with the best attacks from each range.
  2. Reactions
    I feel as though reactions are the glue that holds fighting games together. All moves must be tuned around human reaction speed. One of the key contributors to the strength of a move is its speed or put another way, how easy it is to react to. Moves must be tuned in such a way so that a quick reaction is rewarded but all moves cannot be reactable to at all times or else this will become the only skill the game tests and the game will cease to be a complete fighting game.
  3. Mind Games
    What I believe to be the most fundamental and beautiful aspect of fighting games. To me, fighting games are about the conversation two players have through their gameplay. When you play a good fighting game, you can send a message to your opponent with how you play and the decisions you make. Mind games are at the heart of this conversation. A player who plays disrespectfully is assuming that the enemy will not punish them for doing so, while another who plays slowly and cautiously believes their enemy will commit an error and dig their own grave. Each decision is a statement.

With these two design principles in mind, I tried to make just a few, simple mechanics that would still compel players to maintain proper spacing and make reads based on what they thought the other player was thinking. Each progressively stronger attack is also progressively slower, more damaging ,and covers more space than the weaker one(s). This makes the player think about what move they want to use in a given situation and makes them consider what space they are occupying on the screen. Each move has certain trade-offs which must be considered and a player choosing to use a certain move is them declaring that this move provides the most value in a given situation as compared with the opportunity cost of using a different move. Furthermore, the parry adds a layer of mind games because you are taking a risk with each attack as well as each time you choose to parry. Those who needlessly spam the move will quickly fall to good players as the spammer will be punished every time during the parry’s long recovery window. The parry allows players to predict one another’s actions. It serves as a counter to those who play too aggressively but it’s long recovery also prevents overly defensive players from having an impenetrable shield against all attacks. Finally, the charge attack, which will drain an enemy’s life bar for over half damage, also presents an interesting mind game as it can be canceled early into a medium attack whilst charging. This creates another mind game in which the defender can choose to try and parry the attack if they believe the enemy will go through with it and lunge forward. However, they can also assume the enemy will cancel the attack early and then punish them for whiffing the resulting medium attack. Thus, it is my hope that with these mechanics I was able to encourage players to maintain proper spacing and have some fun playing mind games with one another.

As a final point of discussion, I also want to mention that I also put considerable effort into giving the game the wonderful juice (or game feel) which I think fighting games do better than just about any genre. Each hit produces a chunky sound, coupled with a blast of pixelated blood and screen shake which increases with the strength of the hit. Furthermore, successfully winning a round freezes the game on the final hit and the victorious player will dash through the enemy if they end the round with a dashing attack. There is also a special audio queue which plays when the final, fatal, strike is dealt along with the winning player’s character performing a unique sword sheathing animation. I wanted to include all of these things because I think that game feel is so important in fighting games and that each hit should make the player feel like they just did something powerful and awesome.

Reflecting on this game, I find that this is the project which I am most proud to have worked on up until this point. It is not the most complex fighting game nor some sort of genre redefining mega hit, but I think that it does what I wanted it to do from the start. I believe Fatal Strike encompasses those elements which lie at the heart t of every fighting game and I am proud do have designed a game that captures the soul of a game genres that is so near and dear to my heart.

I hope everyone who plays Fatal Strike will feel the same way.

4jos4s
The special dash-through triggered when a player wins the round with a dashing strike.