-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Hi! Thanks for checking out Kapal. The FAQ below is a good way of getting to know what Kapal is all about. Once you’re ready, head over to the API Overview page to start planning paths.
Kapal is an open source path-planning library written in Python. Its intended use is algorithms research and navigation tasks in games and robotics. Kapal aims to be:
- easy to use – Kapal helps you understand and use planning algorithms better.
- loaded – Kapal comes with many different world representations and algorithms.
- expendable – implement new world representation and algorithms with ease.
- fast – run away from pirates with confidence.
Kapal is in still in development. It’s usable, but it is definitely not feature complete. Two algorithms are currently implemented: Dijkstra’s and A*. Other Dijkstra-based algorithms (Anytime D*, D* Lite, etc) are to be part of Kapal (once I find some time).
Seaship is a GUI-based tool to help you play around with Kapal. Seaship comes with Kapal (they’re in the same git repository). It’s still under development, but here’s a screenshot:
I couldn’t find a full-featured path-planning library for Python, so I decided to write my own. And yes, Python isn’t as fast as compiled languages, but if you are already using Python for your game or robot, then you probably don’t need the fastest path-planner. If you need a faster (and more complicated) path-planner, check out OOPSMP.
kah – pahl.
Kapal is Indonesian for boat or ship. I chose this name because sea vessels require path-planning, especially away from pirates, maelstroms, and sea monsters.
I’m a university student. Kapal started as a summer project for comparing the performance of different planning algorithms. I decided to generalize it a bit and release it for public consumption (and criticism, I suppose). I then wrote Seaship to learn about GUI development. In other words, Kapal is a personal project. So please bear with Kapal’s slow progress.
If you wanted to use Kapal to learn about Dijkstra or A*, then Kapal and Seaship is “good enough” at its current state. Play around with Seaship to get a feel for the algorithm. Then, read through the algorithm code in Kapal to figure out what’s going on under the hood. Enjoy yourself!