Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: new autoplayer interface standard

Author: Roberto Waldteufel

Date: 14:19:30 09/15/98

Go up one level in this thread



On September 15, 1998 at 10:57:31, Robert Hyatt wrote:

>Below is some excerpts from the current xboard/winboard interface standard
>that can serve as a jumping-off point for developing an autoplayer that should
>finally be able to connect windows and unix boxes together using serial or
>network connections.
>
>========================================================================
>Chess Engine Communication Protocol
>========================================================================
>
>1. Commands to the engine
>
>All commands from the interface to the engine end with a newline (\n), even
>where that is not explicitly stated.  All your output to the interface must
>be in complete lines; any form of prompt or partial line will cause
>problems.
>
>draw
>  The engine's opponent offers the engine a draw.  To accept the draw,
>  send "draw".  To decline, ignore the offer, or send "decline".
>  Note that it's possible for the draw offer to have been withdrawn by
>  the time you accept it, so don't assume the game is over because you
>  accept a draw offer.  Continue playing until the interface tells you the
>  game is over.
>
>    [snip]

Hi Bob,

In fact, the laws of chess are very specific about draw offers.

1) It is only allowed to offer a draw when it is your turn to play, not while
your opponent is thinking (or searching).

2) Having made a draw offer, you do not have the right to retract it. The
opponent may think as long as his clock permits before either accepting the
offer or making a move. Once he makes a move and presses his clock, he loses the
right to accept your draw offer (unles you make a new draw offer).

I think that this actually simplifies the task for an autoplayer compared to
what you suggest, since the program that has been offered the draw does not need
to check if the offer has been rescinded, since that would be illegal. Although
it is only a minor point of the FIDE laws, I do think it is important to get
this sort of thing right at an early stage, otherwise in years to come it will
remain an embarrasing anomally once multiple programs support the standard. This
is how we come to rely on arrangements that ignore rare but important situations
like underpromotions, for example.

Can you explain how the engine and the interface communicate in the set-up you
propose? I imagine it would be quite simple, but I don't really know anything
about communications programming, so I'm not quite sure what extra code the
engine needs.

Best wishes,
Roberto



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.