An engine for the board game Tak. As of December 2025, it is likely the strongest Tak playing engine on consumer hardware. On fast time controls (10+0.1), it performs well against the GPU-based TakZero, scoring +344-222=98, +64 elo [+39, +89] with 4 threads against a 3080 GPU.
- Clone the repository
- Download the Topaz network (quantised.bin) from the most recent directory of the following Google Drive. Copy the quantised.bin file into the src directory
src/quantised.bin. - With a Rust compiler, run
cargo build --release
The program will launch by default in tei mode. This mode can be used for analysis in conjunction with ptn.ninja. Alternatively, single positions can be analyzed using ./topaz analyze [tps]. Additionally, the program includes a proof-number solver for Tinue positions, which can be run using ./topaz tinue [tps]
The primary battleground for Tak engines has been 6x6 Tak with 2 Komi for black. Currently, the engine is only optimized for these settings, although 5x5 and 7x7 Tak are playable with weaker search and evaluation functions.
Topaz uses an efficiently updatable neural network trained on roughly 1 billion Tak positions generated from self-play using randomized opening positions.
- Negamax with alpha-beta pruning
- Null Move Pruning
- Principal Variation Search
- Late Move Reductions
- Forward and Reverse Futility Pruning
- History Move Orderings
- Static Evaluation Correction History
- Automated tuning
- Multithreading with LazySMP
- Multipv Support (Limited)
- tei protocol
- playtak.com server support (Limited)