Looks pretty great overall!
Some critiques though:
- Whenever the character moves the player is committed to the next half second of movement. This'll hammer any precision platforming or enemy avoidance the player wants to do.
- The solution depends on how you've implemented movement, but if the code is waiting for the button to be released to change state then shortening the wait time should get you real close.
- The issue is kindof multiplied by the character immediately dropping off of platforms the instant the character steps off.
- This one has a pretty simple solution: "Coyote Time."
- There should be a bunch of tutorials on Youtube available to help with implementation.
- Is the character always meant to rush forward on the first A hit? That might be an issue if you're fighting an enemy with their back against a cliff
- I'd also look into the code you're using (if any) to keep the character relative to moving platforms.
- It has a bit of an icy feel, and the first A hit breaks the character's relationship with the platform and it slides out from under them.
Again, I think you did a lot of good work here, but like any other prototype though, there are some things that need to be tweak and some corners to be sanded.
Nature of being a dev, lol.
Feel free to ask any follow-up questions, or hit me up with a private message if you need anything else!