On 7/16/07, Don Dailey <[EMAIL PROTECTED]> wrote:

The client itself knows the game is over,  it's just not transmitted to
the engine.

One way to deal with this is to make the client send a quit command.   I
think some program would like to quit and be restarted before and after
each game.

As a quick hack,  it's trivial to add one line to the cgos3.tcl script
to
send gameover by itself - or even gameover with a a reason e.g.

   gameover W+resign

Is that the format of the KGS command?   I really hate to mix and match
GTP extensions - but it's probably ok.   I think what I would do is make
a cgos-game_over command, mimick the KGS behavior and use the kgs
version if the cgos version doesn't exist.



Actually, the kgs-game_over gives no arguments.  It's simply intended to let
the engine know that a game is truly over.  It could be because the opponent
escaped and didn't return in time (5 minutes), or because of a real game
ended.  In some configurations, kgs will send a clear_board command in the
middle of a game (as a way of handling undo, even if the engine doesn't
support it).

The idea is that the engine can shutdown and disconnect cleanly from the
server in response to the command.


Would anyone find it useful to have an option to kill and restart the
engine between games?



I would.  It could even be used as an opportunity to go run on another
server for a bit (discussed previously).  I guess if this option was done,
however, a small delay between the end of the last game and the start of the
next round would be needed.  Otherwise, the two players in the final game
would miss the next round on the server if they take the opportunity to shut
down.


On top of this, I have been intending to add one more GTP extension -
one to send the name and rating of the players.    This can be done on
the client side without any changes to the server.   Here is what I had
in mind:

    cgos_gameinfo  FatMan(1800)  ggmc-x86-1.3Q(2008)

It would be up to your program to parse this. extract the ratings if you
wanted this separate and determine which is the opponent.   This would
be sent on setup,
either at the beginning of a game or after a disconnect and restart.


Personally, I'd prefer the ratings to be separate inputs...  Sticking to the
KISS principle that seems to be used with most other gtp commands.

Is there any way to give an indication of which one is the engine receiving
the command?  If it's not self, opponent, I'd guess it'd be black, white.
In that case, It may be good to pass the color that the engine is to play.
That avoids having to code the engine to detect whatever crazy id strings
the author comes up with down the road.
_______________________________________________
computer-go mailing list
[email protected]
http://www.computer-go.org/mailman/listinfo/computer-go/

Reply via email to