Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: UCI (=universal chess interface)

Author: Stefan Meyer-Kahlen

Date: 13:36:02 11/29/00

Go up one level in this thread


On November 29, 2000 at 13:56:25, David Eppstein wrote:

>On November 28, 2000 at 09:15:30, Stefan Meyer-Kahlen wrote:
>
>>
>>UCI (=universal chess interface)
>>
>>This is the description of a new interface between a chess engine and a
>>graphical user interface called UCI. It was designed by Rudolf Huber and Stefan
>>Meyer-Kahlen and is used in the chess engines SOS 11/2000 and Shredder 5 as well
>>as in the Shredder 5 graphical user interface. Also the new version 6 of Chess
>>Assistant will support this engine interface. The UCI interface is free to use
>>for everyone, so you can use it in your own program without any licence fees or
>>restrictions. If you make any additions or modifications to the interface it
>>might be a good idea to contact me before so we can keep compatibility.
>>
>>The interface is similar to Winboard, keeping its easiness but eliminating the
>>disadvantages of it. It should be not much work to adept an chess engine to UCI
>>especially if it’s already supporting winboard. It is also possible to support
>>both UCI and winboard in the same exe file.
>>
>>What are the advantages of UCI compared to Winboard?
>>
>>·	All engine options can be modified within the graphical user interface so
>>there is no need to deal with ini files.
>>·	Much better capabilities to display search information of the engine,
>>·	Definition of a principal variation is included,
>>·	It’s more robust, the GUI always knows exactly what the engine is doing.
>>·	It’s supporting multi variation mode,
>>·	Support for endgame tablebases
>>·	Flexible time controls,
>>·	The engine can identify itself
>>·	UCI is supporting a copy protection mechanism (for the professionals)
>>
>>
>>The advantages to other engine interfaces are:
>>
>>·	It’s free
>>·	It’s easy to use
>>·	It’s easy to extent
>>·	It’s independent of the operating system
>>·	It’s capable of network play
>>
>>
>>Below is the “formal” definition of the engine interface,  if you have any more
>>question concerning UCI I will try to answer them.
>>
>>Stefan
>>
>>
>>-------------------------------------------------------------------------------------------------
>>
>>
>>* The specification is independend of the operationg system. For Windows,
>>  the engine is a normal exe file, either a console or "real" windows
>>application.
>>
>>* all communication is done via standard input and output with plain text
>>commands,
>
>These two statements contradict each other.  Some of us run operating systems
>without any "pipe" facility (i.e., MacOS versions 9 or earlier).

I bet you have fprintf(stdout, ....) and gets(..), that'll do.

Stefan




This page took 0.01 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.