eleeye_engine — a chess program engine to communicate with its user interface


eleeye_engine is a command-line client for UCCI (based on UCI) protocol. It
provides full support of basic UCI command, such as position, go, banmoves or
bestmove and much more.


The Universal Chess Interface (UCI) is an open communication protocol that enables a chess program engine to communicate with its user interface.

It was designed and released by Rudolf Huber and Stefan Meyer-Kahlen, the author of Shredder, in November 2000, and can be seen as a rival to the older XBoard/WinBoard Communication protocol. Like the latter, it is free to use without license fees.

Customarily, UCI assigns some tasks to the user interface that have traditionally been handled by the engine itself. Most notably, the opening book is usually expected to be handled by the interface, by simply selecting moves to play until it is out of book, and only then starting up the engine for calculation in the resulting position. (UCI does not specify any on-disk format for the opening book; different UIs -- user interfaces -- usually have their own, proprietary formats.) Also, the user interface may handle endgame tablebases if the engine does not support it itself, although this is often better handled in the engine, as having tablebase information can be useful to consider a possible future position.


Written by www.elephantbase.net


Universal Chess Interface Protocol: <http://wbec-ridderkerk.nl/html/UCIProtocol.html>

Universal Chinese Chess Interface Protocol: <http://www.elephantbase.net/protocol/cchess_ucci.htm>


Free use of this software is granted under the terms of the GNU General Public License (GPL).