Simon Tatham's remarks [1] on writing friendly (i.e. guaranteed solvable) puzzle games. Of note:
1) a variant of minesweeper that never requires you to guess
2) a pile of proofs in net.c [2], along with tactics to generate uniquely solvable boards for a game you might know as KNetWalk.
3) untangle.c [3], a reimplementation of Planarity [4] with a different graph generation method (see static char * new_game_desc).

Shared publicly