This blog post describes the level generator for my puzzle game Linjat. The post is standalone, but might be a bit easier to digest if you play through a few levels. The source code is available; anything discussed below is in src/main.cc. A rough outline of this post: Linjat is a logic game of covering all the numbers and dots on a grid with lines. The puzzles are procedurally generated by a combination of a solver, a generator, and an optimizer. The solver tries to solve puzzles the way a h...