For what I need, I ended up coding a very simple routine...
Basically, for each step move one square nearer in the X position if possible, and move one square nearer in the Y position if possible. Store positions previously moved, and if you hit a dead end, work you way backwards trying alternative routes not in your 'walked' list.
I can post the code afterwards, it's not as good as A* but it works for what I need.
Bookmarks