Skip to content

SimpleChess v3.3.0

Choose a tag to compare

@LinkLikesLattes LinkLikesLattes released this 22 Sep 15:12
· 9 commits to main since this release

SimpleChess 3.3.0

MultiPV analysis, 50-move-rule handling in the search, and an Android build. Same network as 3.2.0.

  • MultiPV. MultiPV (default 1, max 256) reports the N best root moves, each with its own principal variation, as info ... multipv I ... lines; each iteration runs one full root search per line, and the move played is the top line. At MultiPV 1 the search is node-identical and bestmove-identical to 3.2.0.
  • 50-move rule: eval damping. A freshly computed static evaluation is scaled toward zero in proportion to the halfmove clock (eval -= eval * clock / 199, roughly half at the draw threshold), so a position shuffling toward the 50-move draw stops reporting an advantage it can no longer force and the search stops chasing it.
  • 50-move rule: mate reclassification. A cached mate score is trusted only if the mate can be delivered before the 50-move draw resets the game; an unreachable one is downgraded to a high non-mate score, so the engine no longer trusts, extends or reports a forced mate the draw counter voids. Reachable mates are unaffected.
  • Android arm64 build. .github/workflows/android.yml cross-compiles a fully static position-independent executable for 64-bit Android — for DroidFish or any UCI front-end — in two variants (arm64, for phone SoCs from about 2018 on, and arm64-generic for older ones), verifies the ELF, run-tests the build under qemu-user with the network, and uploads simplechess-3.3.0-android-<variant>.tar.gz (binary, network, install notes) as a run artifact. The build for this release is under the repository's Actions tab. Credit to Arzam18 for the idea and the NDK recipe.
  • Housekeeping. The Pass* tuning knobs are no longer advertised in the uci option list (setoption still accepts them); make clean, make version and header dependency tracking now work in a source-only checkout.

Source release. Build with make (or make profile-build PGO_NET=nets/SCNNUEv3-2026-09-12.scn5 for the fastest binary); the network ships in the repository. Third-party notices are in NOTICE.