Je suis du même avis que graboide. Avec du dessin libre donc des formes d'obstacles plutôt compliquées, on se retrouve avec un problème de pathfinding. L'algorithme A* ne devrait pas être trop gourmand et devrait faire l'affaire.
J'avais vu deux extensions de ce genre dont une qui n'obligeait pas à découper la zone de jeu en cases.
Il faudrait que je la retrouve.