Just a tip, if you add velocity = move_and_slide(velocity) instead of just move_and_slide(velocity) then it'll fix the thing where you fall really fast and it'll fix the floating when you hit a ceiling. What it does is change your speed when you collide with things, meaning that you'll have slightly more realistic physics. I'm a dev using Godot as well and I know that every bit of advice helps :)