I have recently implemented an A* pathfining algorithm, which is working pretty well - thanks to the guidance of Patrick Lester, who has a very good article on pathfinding. His implementation is also very fast and efficient. Here is my version running on the Chaos hex map:
You may notice that I changed my coordinate system so that the Y axis is skewed, which makes calculating ranges and stuff a bit simpler and faster than my previous 'squiggly' Y axis. Although I did program a working distance algorithm with the squiggly axis, it is certainly faster with a skewed Y axis. The only problem is that the map area is now diamond shaped rather than nice and rectangular. I may lop of the pointy corners to make a hexagonal shaped map area, which I guess is more appropriate anyway. The compressed map for network transmission will still be efficient enough.
I also implemented a Dijkstra algorithm version which is used to highlight the valid movement destinations for a selected creature. The player can simply tap/click on a highlighted hex to move there. It will also be possible to tap/click on an enemy to move and attack it with one command.
The next step is to issue a movement command from the client, validate it on the server, and implement a movement animation on the client side. After that I will add implementation for some of the more complex aspects of movement - engagement to enemy creatures and enemy creatures as move/attack targets.