Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Extensible Chess Interface (XCI) : updated draft

Author: Russell Reagan

Date: 11:21:20 03/14/05

Go up one level in this thread


On March 14, 2005 at 12:45:22, Michael Yee wrote:

>The protocol proposal has been updated to reflect several good
>comments/suggestions.
>
>(1) There is now a table of what commands are valid in each state. This makes
>the protocol clearer and even look simpler than it did before (at least to me
>:). Thanks to Harald for this suggestion.
>
>(2) New commands from GUI to engine : getstartpos, getmovelist, getresult
>
>This enables the protocol to be truly extensible since variants that aren't
>officially supported by the GUI can still be supported by letting one engine be
>the "referee" or "arbiter". This interesting idea came from Reinhard (also the
>source of the move and position formats for officially supported variants
>FRC/CRC).
>
>(3) New command from engine to GUI : error
>
>------
>
>Even if people are dead set against introducing a new protocol into the mix, I'm
>curious what UCI fans think about some of the extensions. Specifically,
>
>- describing what options mean,
>- custom thinking output, and even
>- getstartpos, getmovelist, getresult
>
>could be added without too much fuss (while maintaining the core philosophy of a
>stateless engine)...
>
>Thanks,
>Michael

Your protocol is starting to sound more like Dann's database idea where the
engine can get the information it needs using database queries. Your idea just
sends text commands through standard pipes instead of using database queries.
Here are some ideas. Maybe the GUI could maintain a database of relevant game
info: start position, move list, opponent name, opponent rating, opponent type
(human, computer, etc), clock left, and so on. The GUI could send a broadcast to
the participating engines that there is new information (and possibly specify
which information is new, so it doesn't have to get all new information). If you
tagged each command from the GUI (ex. numerically), the engine could request
"all updates since command N", where N is some tag number. All transactions
could be done using text commands, like email protocols.

http://www.catb.org/~esr/writings/taoup/html/ch05s03.html



This page took 0 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.