Isometric projectile

Move this piece to ready:

velocity = position.direction_to(target_node_object.global_position) * speed

So it is set once and never updates.

Otherwise you are changing the direction each time the physics process it called.