Writing a Procedural Puzzle Generator
snellman.net
snellman.net
A hundred good puzzles with a difficulty ramp-up would be way preferable than 100 randomly-generated 'probably? interesting' ones.
I much prefer puzzle games where there's a 'trick' to solving a puzzle (like the puzzlescript genre, Pipe Push Paradise, Build Me a Snowman, Stephen's Sausage Roll), or mindless automatically-generated puzzles from Simon Tatham's collection.
I've somehow caught the Slitherlink bug and solved countless Slitherlink puzzles. For that use case, I suppose automatically generated is the only feasible way to go.
Maybe it also makes sense to use computer assistance in handcrafted puzzles at times.
clarification: I mean what I wrote. I tried the author's game and found it lifeless and too much work, the worst combination of attributes from my two preferred puzzles styles I described
> mindless automatically-generated
the 'mindless' is: solving is mindless application of heuristics/solving rules & the challenge is not to complete the puzzle but to do it in minimal moves/time.
The author's puzzle is too hard to solve mindlessly & then doesn't generate goodwill the way a hand-crafted stumper does in the puzzlescript-type games
My strategy for generating puzzles was island based. I had a board checker that would scan through the grid and place all empty spaces that could be reached contiguously into a single “island.” I would then pick a random island (the first island was always the full grid), pick a random tile in the island, pick a random number with a max value of either the puzzle’s max (up to 8), and then drunk walk outward. In the event the drunk walk got “stuck” it would just pick a different starting tile within that island.
Recompute islands and repeat until there are no spaces left. Island with only 1 square are “dead” and just get filled in with blocker tiles.
Each puzzle had many solutions, but because there was always a “right” pregenerated solution we could give hints based on the canonical solution.
"A common theme for positive comments has been about how the puzzles always feel like there's a clever gotcha in there."
I have tried generating fun minesweeper boards, where 'fun' is moves requiring multiple pieces of information to progress.
The boards I initially generated tended to be annoyingly difficult because the last moves required reasoning about 4 mines left. Assigning funness to moves requiring too many pieces of information turned out to be too difficult for humans (or me at least) to solve and thus became un-fun.
https://github.com/shaungallagher/cheryls-murder/blob/master...
As with the procedural puzzle generator, it takes a bit of sifting to find puzzles that are both possible and challenging to solve. But it gets you most of the way there!
I wonder whether omitting the grid was a conscious decision, I feel the images would be more clear with a grid of some sort.
I do agree that coming up with them by hand and designing puzzles with intent and possibly a theme is still probably for the best, but I think a hybrid approach, where you can use these generators to help give you ideas or starting points or fill in some gaps can be useful.
It describes various strategies for proceduarly creating mazes. Perhaps many puzzles can be mapped to a maze, as the search tree for solving them would essentially be a maze?