Computer Chess Club Archives


Search

Terms

Messages

Subject: XCI (Extensible Chess Interface) new draft

Author: Michael Yee

Date: 17:32:08 03/18/05


The updated proposal is here:

http://web.mit.edu/myee/www/chess/xci1e.html

I tried to put the command syntax in EBNF form to make it more precise.

- "|" means a "or"
- (...)+ means 1 or more
- (...)* means 0 or more
- [...] means optional

However, I also tried to provide examples to illustrate most/all forms of each
command.

Major changes include:

(1) "go continue" (to support transition from PONDER to THINK)
(2) "go analyze" (to signal thinking in analysis manner)
(3) "level" allows separate white/black levels; also signals if pondering will
be allowed or not (since this seems related to time control)
(4) "claimdraw" (claims optional 3-fold rep or 50-move draw before sending move
that creates the draw; this seems pretty close to FIDE rules)
(5) "button" option type can request input from user and also provide output
(6) translation/localization mechanism:
- options are stored in options.xci file (with ids, no translations)
- translations are stored in options.en, options.de, etc.

Minor changes include:

(1) "position" no longer supports movelists
(2) "go undo" (the inverse of "go move")
(3) "get pieceplacement" (gets resulting board position after a move so GUI can
at least give some visual feedback during a variant it doesn't understand)
(4) "message comment"
(5) "message error"
(6) "info hashpv" (for portion of pv extracted from hash)
(7) "filename" option type
(8) "searchpath" option type
(9) some new standard options/ids (e.g., XCI_OpponentRating)

Unfortunately, the protocol doesn't look very simple anymore (although it seems
pretty general). I think it will benefit the user most, not be too tricky for
engine programmers (while adding several new possibilities), but be more
"challenging" for GUI programmers.

Thanks for all the comments/suggestions so far. Feel free especially to ask
about my reasons behind any changes from UCI (e.g., why no UCI_AnalyseMode).

Next week I have some free time during which I might attempt to add preliminary
XCI support to crafty (if it's okay with Bob :).

Michael



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.