How to use the Solver

To try to automatically solve a level, load it and click on Solve at the top bar, or hit F9. The solver will attempt to solve the puzzle, starting from the current state, not the starting state (so you can already partially pre-solve it if you want to). It will conclude that the puzzle is solvable when the puzzle is won (either through win conditions or the win command) or when a checkpoint command activates.

To cancel the solver, click on Stop Solver or hit F8 or ESC. If a solution is found, it will be placed on the message log, along with previews from the visual debugger so you can preview each turn of the solution individually. Do note that this is not necessarily the shortest solution—but it does prove that the puzzle is winnable.

In case the solver runs out of states to check without finding a solution, it will stop and conclude the puzzle is unsolvable.

When to use the Solver

The solver works best when the levels are relatively small, and the winning conditions are of the form all X on Y, no X or no X on Y.

Improving solver performance

If the solver takes a long time to find a solution, you can attempt the following to speed it up: The solver ignores special commands like goto and such, so don't worry too much about those. Note that the solver does not work together with some features, most notably mouse input.

Documentation page adapted from Puzzlescript Solver docs by Marcosdon