Tactical puzzle builder

A pipeline that reads game collections, finds real tactical moments and rates how hard each one is.

Years
Ongoing
Built with
C#, .NET 8, UCI engines, PGN

Most puzzle collections are picked by hand. This pipeline does the picking: it reads PGN game collections, runs positions through an engine and keeps only moments where a tactic actually decides the game.

How it decides

  • Detection — a set of fourteen triggers looks for sacrifices, skewers, forced mates and other patterns, including geometric cases that naive attack detection misses.
  • Difficulty — each puzzle gets a rating combined from three independent sources, so a quiet move that wins is not mistaken for an easy one.
  • Repertoire — the same machinery drives an automatic repertoire builder that turns a player’s games into a ready-to-train opening tree.

Output feeds directly into ChessPM’s training modes.

Back to all work