Thanks! Like I have said before, I originally made this as a way to get myself introduced to Godot. This resulted in a lot of "experimental" code where I was trying to figure out what the best practices were. As a result, though, I'm still having to go through refactoring everything, which is, of course, the most boring part.Well, looking at the code, I'm interested to see you're not using any of the existing kinematic/rigid body physics stuff. Just Area2D? What led you to that approach?
The "magic numbers" in the code need explaining, and sometimes the code uses radians, others degrees. Could be useful to abstract them to variables if they're dependent on factors like the size of the collision shape.
But it looks good, and could be a good base for a Sonic game with adjusting. Nice job!