gand

Pathfinding and other graph algorithms. Based on simple-graphs.

APACHE-2.0 License

Stars
3

Bot releases are hidden (Show)

gand - 0.2.0 "Find A Way" Latest Release

Published by tommyettinger 5 months ago

This is the first release I actually put the time into getting on GitHub, even though there are a few on Maven Central already. If we're treating this as the first release, then, well, this is fairly close to simple-graphs in its A* pathfinding. However, it also depends on libGDX, which gives it access to existing types for points (such as GridPoint2 and Vector3), and to Json serialization. The recommended types for points are actually subclasses of those libGDX points, like PointI2 which extends GridPoint2, but these subclasses also implement shared interfaces with other, mostly-interchangeable points. This depends on crux, a tiny library, for its interfaces, so other libraries can use crux interfaces without needing gand. All Graph and PointN types here are Json.Serializable and also Externalizable (for Apache Fury to use them).

New in 0.2.0 specifically is the GradientGrid class, which is extremely similar to the related library SquidSquad's DijkstraMap class. It may help to see what Dijkstra Maps can do; this article on RogueBasin is a great introduction. There's also the new TwistedLine classes, which use A* pathfinding on a randomized graph to generate incredibly-convoluted paths that generally can still reach their destination.

All right, get finding!