https://github.com/zerowidth/jps-explained
Code for a "Jump Point Search, Explained" post on zerowidth.com
https://github.com/zerowidth/jps-explained
Last synced: 3 months ago
JSON representation
Code for a "Jump Point Search, Explained" post on zerowidth.com
- Host: GitHub
- URL: https://github.com/zerowidth/jps-explained
- Owner: zerowidth
- License: mit
- Created: 2013-03-29T23:58:14.000Z (about 13 years ago)
- Default Branch: master
- Last Pushed: 2023-12-23T17:56:21.000Z (over 2 years ago)
- Last Synced: 2025-04-04T20:12:50.744Z (about 1 year ago)
- Language: CoffeeScript
- Homepage: http://zerowidth.com/2013/05/05/jump-point-search-explained.html
- Size: 120 KB
- Stars: 70
- Watchers: 3
- Forks: 20
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Jump Point Search Explained
There here mess o' coffeescript is for a blog post on
[zerowidth.com](http://zerowidth.com) explaining how JPS works. The
code ain't pretty, but I tried to make certain pieces reusable for both static
and interactive diagrams.
`index.html` contains draft versions of most of the diagrams I ended up using.
I wouldn't suggest dropping this wholesale into your own javascript project, as
the search algorithm implementation was designed with visualization in mind, not
efficiency. Also there's some pretty tight coupling between all the objects
here. However, I hope it can serve as a reference, especially the
`JumpPointSuccessors` bit. For another take, this time in questionable clojure
code, see my [hansel project](https://github.com/zerowidth/hansel). If you need
a real javascript pathfinding library, see
[PathFinding.js](https://github.com/qiao/PathFinding.js).
This code is symlinked into my jekyll blog (currently private) for inclusion in
the final post.
To run this thing:
```sh
script/server
```
and open [http://localhost:3000](http://localhost:3000).
Released under the MIT license.