I’ve worked on quite a few polished combat systems- as a self plug you can see those on my twitter- but that’s aside the point, I’m going to give some insights as to what myself alongside many other anime-based games do for combat, as well as parry based combat systems.
First and foremost, the screenshake that was fore mentioned; get rid of it. Okay, maybe you don’t need to get rid of it, but I would definitely make it a toggleable option. Yes, it looks nice, it gets very nauseating very quick. There is a reason a lot of the popular games don’t have it, or if they do it’s very minor.
The combat right now seems very spammable, you need to add some sort of indicator on the opponent in which would register that they have been hit; and in turn they should also not be able to swing at you during this period. This is typically just a hit-stun, when an opponent gets hit, a hit animation plays, they can’t swing during this window.
In order to prevent people from running around and spamming punches, what we do is one of two things:
-
We either lock the player in a position and force them to step forward, the opposite for the opponent, so they get locked and move backwards. This first method can be used for combo based games, you would most likely utilize BodyVelocities (yes they are deprecated but they still are the optimal choice). This tends to create infinite stuns and combos though.
-
For more parry based combat, and this also works for combo based combat as well, we simply lower the players walkspeed, the attackers to a non-zero number, such as 4 or 5, and then the target to a zero state, ie; 0.
Depending on the style of game you’re going for, alongside the stun animation, you can also add a highlight effect, this has become popular lately and acts as an indicator, it can also double as looking somewhat like “blood” without actually being blood, especially if you use a darker red.
If you are going for a parry based combat, then obviously you will want to add blocking (I recommend this regardless of if it’s parrying) in which case you will want to design a parry window, and you will most likely want to make it so you swing, and then there is a small window in which the opponent can parry before your next swing comes in; this tends to be how most rogue-like games do it, allowing people to parry mid-combo’s to prevent true combos.