JPS is so enticing, and I could imagine retro-fitting to our existing pathfinder might be more profitable.
I had a look at your svn and saw you wasted no time in getting to this
. I'll look at the issues and respond on github in more depth later, but for now: Different map topologies (i.e. map wrap) should be reasonably straightforward to implement in themselves though the API will get a bit more complicated. Four-way connectivity
might be easy to do, or it might be impossible, since I'm not sure if the JPS optimisation is specific to 8-way-connected maps. Will have to work through that one on paper (and through testing it in code, I suppose). If it doesn't work on 4-way-connected maps, there's always unoptimised A* or
this other method (though, being offline, it'd complicate the API a bit further).
As for units bigger than one tile - with units of, say, 3x1 tiles, do you mean ones that will always have the exact 3x1 shape, or ones that can turn? Because the latter is somewhat
considered gnarly. If multi-tile units are small and have constant shapes, though, I think it should only be a matter of either testing each tile in the unit's shape for clearance when adding neighbouring nodes to the open list, or simply constructing a clearance map for that unit offline first.