Recently I bought a book with about 1000 chess puzzles. But many puzzles were just incorrect. It is frustrating to spend alot of time to find a solution and later you recognize there is no solution. Then I got the idea to write a program that generates correct puzzles from a game database. But what makes a good chess puzzle? In my opinion a position is a good chess puzzle if
- the best move is clearly the best, that means
- the best move is winning and the second best move is not winning
- or the best move is not losing and the second best move is losing
- the best move is not abvious, that means
- the best move was not played in that game
- and the best move is not found by a chess engine at very low depth
To decide which move is winning or losing Stockfish is used.
Surprisingly with these simple rules I could find only one puzzle in about 200 games. Nevertheless my program generated already many thousends of puzzles.
I decided to create a simple Webapp on top of this puzzle database. The link is