This project is an extension to the Pathery website (www.pathery.com). It does two main things:
- Extend the client (browser) to do things like show block values and save/load of solutions.
- Lets the website interact with a personal server (running a solver), to facilitate human-computer interaction.
HOW TO INSTALL
If you can't or don't want to use Greasemonkey, use a bookmarklet. That is, create a bookmark with the address:
If all else fails, you can access the script by pasting
Check this out:
You can have something which updates your score as you place blocks! The score is shown next to the speed dropdown.
If you press "show values", you'll see block values for every block. However, this may feel laggy if you're letting the browser do the computation.
SOLUTION LOAD AND SAVE
Simply enter a name and press "Save solution" (or use the hotkey S) to save a solution under some name. If no name is entered, a default name is chosen based on the score of the solution. You'll then see the name appear in a list, where you can Load or Delete it.
If you want your solution saving to persist, you'll need a browser that supports HTML5 storage! If your browser doesn't support HTML5 local storage, you really should upgrade it...
I provide a number of hotkeys to make playing easier and faster:
|1-5||Switch between maps|
|G||Go! (hold shift to animate)|
|L||Load best solution|
|Shift+Click||Draw line from most recent block|
- As you might have noticed, you can customize your block and wall images.
- Score auto-submit
- Automatic tracking of best score
RUNNING THE SERVER
Unfortunately, "show values" is noticeably slow using the default method. The following method, though more complicated, speeds up the pathfinding by a great deal.
First you'll need a server running. I've provided one that you can use (maybe as a starting point for an AI). To get it,
- Clone this repo and cd into it
- Run locally:
node pathery-server.js (or just
npm start, if you have npm)
Next, add my client to the browser window.
- Go to Pathery
After erasing a block, you can't shift click to it
Sometimes you can get into a state where clicking a block puts it somewhere else... (unclear how to reproduce)
Improve (I) seems messed up, caused decreased score on a seeing double
Display with green/red path is messed up on UGLI-pathery. (Red start looks like it's green, and red/green only block pictures are swapped?)
Disable new day alert, auto refresh
Disable achievement earn alert
Cleanup of old saved solutions
Notifications when scores are beat?
Ability to view person's times/scores
More customization? e.g. shown values colors, etc.
An API to support solvers that actually suggest (potentially major) changes, takes suggestions, etc. (and an accompanying prototype)
Make the it faster! (currently does ~1000 full UC calculations per second on my Macbook Air, in Node.js (which is single threaded))
Make painting/erasing atomic for undo?
Suggestions and feedback are welcome. If you can't catch me in the Pathery chat, just make a github issue.
Feel free to contribute, of course :)