KinematicBody2D
is fine for this. You rarely need a rigid body for most games, especially if you're just doing basic collision with static objects.
You should have some sort of velocity vector, which you are using in the move()
function. To increase the speed, you just scale that vector: velocity *= 2
for example. This is basic vector math, so if you're not familiar, I recommend a quick review - Khan Academy has a good one, for example.
Bouncing is super easy, btw, if you just use the Vector2 reflect()
method:
if is_colliding():
var n = get_collision_normal()
motion = n.reflect(motion)
vel = n.reflect(vel)
I wrote an overview of K2D collision here if you want more detail: http://kidscancode.org/blog/2017/06/godot_101_13/