Water: A Zig chess library, framework, and engine
6 months ago
- #zig
- #neural-networks
- #chess-engine
- Water is a comprehensive chess suite written in Zig, providing a performant chess engine library.
- It offers both an iterative search engine with Alpha-Beta Pruning and Quiescence, and a neural network-powered engine using NNUE.
- The engine communicates through the UCI protocol and requires Zig 0.15.2 for compatibility.
- Build steps include 'build', 'run', 'perft', 'bench', 'search', 'package', 'test', 'lint', 'fmt', 'cloc', and 'docs'.
- The 'perft' suite is extensive, with around 50,000 tests, and is time-consuming; 'bench' is recommended for quick verification.
- Adding Water as a dependency involves using 'zig fetch' and modifying 'build.zig'.
- Contributors are welcome, with guidelines provided in 'CONTRIBUTING.md'.
- Key references and inspirations include chess-library, zigMemMapper, Chess Programming Wiki, Avalanche chess engine, pawnocchio, Pyrrhic, and Stockfish.