Universal Chess Interface
From Wikipedia, the free encyclopedia
The Universal Chess Interface (UCI) is an open communication protocol that enables a chess program’s 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 and more established 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.
Only a few interfaces and engines supported this protocol, until Chessbase, the chess software company which markets Fritz, began to support UCI in 2002. As of 2007, there are well over a 100 engines that support UCI including Shredder, Rybka, Loop, HIARCS, Toga II, Fruit, Spike and Glaurung.
[edit] See also
[edit] External references
- http://www.shredderchess.com/chess-info/features/uci-universal-chess-interface.html - UCI technical specification
- http://www.superchessengine.com/ Website for Free UCI chess engines to download like Fruit 2.3.1, Rybka 1.0 and Toga 1.3.1
- http://www.playwitharena.com/ - A popular free GUI that supports UCI engines
- http://jose-chess.sourceforge.net/ - an open source interface for both main protocols