Thanks for the detailed feedback. I'm always happy to hear what people think, especially since balancing a fighting game is a tricky thing.
A lot of my balancing comes from fighting the AI and trying to prevent any one move from being too cheesable. It's always more interesting to fight a real person though and I get a lot of insights about the game from doing so. The AI always fights 'optimally' but I've seen players do all kinds of interesting things, including kicking my ass after learning the game in 10 minutes.
The intent behind the dodge is to give you a means of avoiding a hit without becoming locked into a blocking state. Ideally a perfect dodge would have you exiting your dodge just after the enemy has missed, giving you a brief window in which they are defenseless. A back and forth of parrying will lock you into a particular rhythm of attacking and blocking, and dodging ideally lets you disrupt that rhythm. The same goes for counter attacks. When fighting the AI a well-timed counter isn't a guarantee of victory, but if I chain them together I eventually find the sweet spot where the blades collide but the attack gets through anyway. Both of these things can certainly be tweaked though and it's a matter of finding the midway point between under and overpowered. The game is always a one-hit kill so I usually lean more towards under-powered just for the purposes of feeling fair.
Parrying is definitely overpowered at the moment but I feel that it's an essential mechanic to prevent ending the match in seconds due to pure luck. I wanted it to be easy and intuitive to defend yourself. At the moment I'm thinking of fleshing it out by making the directions of the strikes affect how the parry comes out. An up-strike and a down-strike colliding will cause more stun than two up-strikes glancing off of each other. In theory it'd mean you could get locked into a spamming match but then aim your strikes to gain the upper hand against someone slashing at random. That said I was never quite sure who should have priority during a parry, since reactive parrying is very difficult due to the long windup on all the attacks.
The directions of the strikes are intended to be a trade-off between range and speed. The low-attack is quicker than the middle-attack but it's also much easier to avoid due to its short range. Like most of the mechanics the difference is just a matter of a few frames but those frames can make a big difference when you're trying to land a hit during their brief recovery state.
The shove move definitely needs work. Having to hold attack while tapping a direction was intended just to reduce the number of buttons the game requires, since one of my design principles is to make it as simple to pick up as possible. It clearly causes some problems though, so I'll probably change it to a different input. Maybe pressing attack and dodge together? At the moment you skip some of the animation if the shove lands, but it's subtle and I could make the difference more obvious. My friend also keeps insisting that I put the dash mechanic back in (from a much earlier build) but I replaced it with the charged hits awhile ago and I'm not sure if it would be redundant since the dodge already lets you step out of danger.
Anyway, by all means feel free to give me feedback on the mechanics. It's extremely valuable for polishing the game.
I like your idea for a different weapon style, I'm just apprehensive about balance - especially regarding fast weapons. Usually you balance fast weapons by making them do less damage but in a one-hit game I'd have to find other ways of making them feel fair. Different playstyles are definitely something I want to attempt but it would be the most work out of any potential additions. Foolishly, I designed the player customization by just putting all the different combinations together on multiple sprite sheets instead of using layers in-engine. I'll have to overhaul that system if i'm going to be adding a lot of new player animations, otherwise I'll have to import an absolute ton of images.
Your brother will be happy to know that I've been planning an 'adventure' mode for a while (it's actually the reason I added player customization in the first place). I'm not quite sure how it will turn out but the idea is that you'll fight a bunch of simpler AI on the way to a boss AI.
You don't sound harsh at all, thanks for playing and for letting me know your thoughts.