# SME (SAN Kit Minimal Engine)

Minimal CECP engine based on SAN Kit.

A small, standalone CECP (xboard/WinBoard) chess engine, built on
top of a portable Linux build of Steven J. Edwards's 1993/1994 SAN
Kit chess library.

It plays known lines instantly out of an optional opening book
(`white.txt`/`black.txt`, plain text, in the working directory), and
otherwise a genuine, if deliberately simple, alpha-beta search
within a 0.5s-per-move budget: negamax with iterative deepening, a
purely material evaluation (no positional terms), and a quiescence
search extending that evaluation through any further captures and
promotions, so it's never taken in the middle of an exchange.
Checkmate, being mated, and leaving a piece hanging all fall
naturally out of that search rather than needing their own
special-cased rules — see `engine/README.md` for the full
explanation of how it works, the opening book's own file format,
and for two genuine bugs in the underlying 1994 library it works
around along the way (a checkmate-result inversion, and a false
"draw" claim once a fixed-size internal move-history array fills
up).
