Nice question! The answer, honestly not that hard, the movement is using Godot AStarGrid and each type of player has simple logic for where they want to move.