The move_and_slide
function already multiplies the velocity by delta
, so you do not need to worry about doing that. delta
will not necessarily make your movement smoother, but it will make your movement more consistent across differing frame rates, which you probably want so the game plays the same in almost all situations. That said, you shouldn't need to worry about it since delta
is already handled in move_and_slide
.
I think what you are missing that would really help for smaller movements is acceleration and deceleration. I do not have an example handy, but here is a snippet for how to apply acceleration and deceleration (albeit in Unity, but it shouldn't be hard to translate to Godot. If you have issues, let me know and I'll see if I can whip something up)
Another good place to look would be the Godot demo repository kinematic character demo. If I recall correctly, it does not have deceleration, but it might serve as a good reference to start building on.
Other than that, I'm not really sure what else to suggest. I've found that making player scripts that feel right is a lot of fiddling around until it works for the game. Hopefully this helps :smile: