Using the engine in a chess program
Chess Challenge Engine speaks the UCI protocol, so it works in any chess program that can load UCI engines.
Windows binary
- Download chess-challenge-engine-1.0.0-win64.zip
and extract it to a folder of your choice (for example
C:\Engines\ChessChallenge). - In your chess program, add a new UCI engine and select
ChessChallengeEngine.exefrom that folder:- Arena: Engines → Install New Engine… → choose the .exe → UCI.
- Cute Chess: Tools → Settings → Engines → + → Command: the .exe, Protocol: UCI.
- BanksiaGUI: Engines → Add → choose the .exe.
- The engine is a single self-extracting file, so its first start can take a few seconds.
Programs that wait for
uciok/readyokhandle this automatically.
Time controls and limits
The engine accepts go movetime, go depth, go nodes,
go wtime/btime (with winc/binc and movestogo) and
go infinite followed by stop. It is a pure-Python engine that searches a few
hundred positions per second, so give it generous thinking time.
Running from source
Requires Python 3.11 (64-bit) and python-chess 1.11.2.
pip install -r requirements.txt python uci_engine.py
Then type UCI commands, for example:
uci isready position startpos moves e2e4 go movetime 5000
To load the source version into a chess program that needs an executable, point it at a small batch file such as:
@echo off python "C:\Engines\ChessChallenge\uci_engine.py"
Supported commands
uci, isready, ucinewgame,
position [startpos | fen <fen>] [moves …], go …, stop,
quit. setoption, debug, register and
ponderhit are accepted and ignored. After each search the engine prints one
info depth … score … nodes … time … pv … line and then bestmove.