Toledo NanoChess is originally a killer chess engine because it is the smallest one in the world ! The quality of the code within so few bytes is totally incredible.
This UCI version is a derivative work of the library Toledo NanoChess released in 2013 for JavaScript. It has some benefits :
- Play with a desktop application through the modern UCI protocol.
- Undo the last move without losing your game.
- With pyChess' slider, select the strength of the AI when you start a new game (6 is a good value).
- Toledo plays both White and Black.
- Play Chess960 with unsupported castling.
- Information about the analysis : processing time, nodes, nodes per second...
Despite it was coded and tested in just three days, this UCI port doesn't aim to be the smallest one in the world... ;-)
First, install NodeJS.org which is the host application to run the script.
For pyChess, just add toledo-uci.js
to the list of engines.
For WinBoard, add this new line in the engine list :
"Toledo NanoChess UCI" -fcp 'C:\full-path-to\node.exe "C:\full-path-to\toledo-uci.js"' -fn "Toledo NanoChess UCI" -fUCI
For the command line, execute node toledo-uci.js
.
Refer to the header of the main JavaScript file to know more about the license.
uci
setoption name Skill Level value (number)
where (number) is a level between 1 and 20isready
ucinewgame
position startpos
position startpos moves (string)
with as many moves written in UCI format (likee2e3
) as neededposition fen (string)
where (string) is a complete position in FEN formatposition fen (string) moves (string)
debug
displays Toledo NanoChess' internal variablesdebug move (string)
where (string) is a move to perform written in UCI format (likea2a1q
)debug board
displays the internal boarddebug quality
executes the automated quality checkgo
go depth (number)
where (number) is the forced depth to reach (it temporarily overrides the current strength of the AI)quit
Any other command is unsupported (like stop
) or partially ignored (like go infinite
).