pathetic
A high-performance, concurrent pathfinding library for Java.
pathetic
is a thread-safe pathfinding engine built for demanding, server-side applications. Originally developed for large-scale game servers, it uses an optimized A* algorithm to deliver fast and scalable results in complex environments.
Core Features
- High-Performance A*: Utilizes a Fibonacci Heap for the open set and optional Bloom filters for the closed set, ensuring excellent performance in large search spaces.
- Concurrent by Design: Fully thread-safe to handle multiple pathfinding requests simultaneously, making it ideal for microservices and other backend systems.
- Highly Extensible: Customize pathfinding behavior using
NodeValidationProcessor
andNodeCostProcessor
to model complex rules and traversal costs.
Use Cases
While born from gaming, pathetic
is suited for any problem requiring efficient graph traversal:
- Logistics & Robotics: Calculate optimal routes for delivery fleets or autonomous agents.
- Game Development: Power NPC navigation in real-time simulations.
- Network & System Simulation: Model and analyze data flow or crowd movement.
Documentation & Usage
For installation instructions, getting started guides, and the complete API reference, please visit the official project wiki.
Explore the Wiki
Project Origin
The name "pathetic" is a tongue-in-cheek nod to the project's humble beginnings. The library was co-founded and initially developed with @Ollie.