← Back to context

Comment by oessessnex

2 years ago

I implemented a partial generator based on the idea in my previous comment. It was quite a fun challenge.

At each step it determines the reachable squares for the given piece, that are not occupied or block past moves, and chooses one at random, then it computes the shortest path to that square. This procedure is repeated until there are no squares available.

Only pawns, knights and kings are supported so far.

https://gist.github.com/oessessnex/bc617095675da44f857216f98...

Great game btw :)

Glad you enjoyed the game - and the generator metagame. Thanks for pitching in and sharing your partial gen implementation!

> the reachable squares for the given piece, that are not occupied or block past moves

The last part is key. There's a similar discussion related to level generation here: https://news.ycombinator.com/item?id=37334186

If you do check it out, I'd be curious to hear your thoughts on the Linjat approach and the limitation around trivial solvability of gens without an optimizer step of some sort. Still unclear at this stage where the debate of ML vs deterministic solvers will land on this one, though there are already several insights discussed that can be meaningful for puzzle design in general.

Let me know if you end up expanding the code and/or going through the 'forward solver' tangent debate. Thankful for your efforts in taking a stab at this challenge!