Hi all,
I just came accross the discussion, and I felt the need to drop in and provide a few details.
In its current state, Jumper operates only on grids, and that was my design choice at first when I started writing the library.
Starting from it, I have been rewiewing the most common algorithms and tried to implement them as nicely as I could, while keeping them tight together through a common, simple and easy-to-use interface.
But it doesn’t mean Jumper cannot support any other types of environment. That is indeed the next step i will definitely be working on. I am considering providing a generic Graph data structure, from which new specialized environments will be inferred: grids, loose grids, waypoint graphs and navmeshes. Most of the search algorithms actually implemented will work flawlessly on those types of data structure (with some minor modifications), but not Jump Point Search, as this very algorithm was only designed for grid-based environments.
Those changes will also require some modifications to the actual API, and I am considering adding new search algorithms, such as ThetA* (which is quite done, but need some improvements), IDA* and much more.
I am also considering clearance-based pathfinding, which will provide pathfinding for entity larger than one tile size.
All of these takes times, and I am pretty busy at the moment, so I can’t provide any timeline. Just watch the repository on Github.
Last point, thanks again @J.A. Whye for those awesome tutorial series.