[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [computer-go] Slight glitch on "undo" as handled by kgsgtp
Mike,
This is a just a guess, but it seems like you really need to support
undo (or clearboard/play) if you support kgs-genmove_cleanup.
That's because the kgs-genmove_cleanup protocol is to send an undo
to one of the players.
Here is what Bill Shubert's documentation says on this:
If the engine and the human disagree on the status of living and dead
stones at the end of the game, one of two things will happen: If the
game uses non-Japanese rules and the engine supports the
kgs-genmove_cleanup command, then kgsGtp will recommend that the human
press "undo", after which play will continue but the engine will get
kgs-genmove_cleanup commands (in place of genmove commands). In all
other cases, kgsGtp will simply refuse to finish the game unless the
human agrees to the dead stones that the engine listed in its response
to the final_status_list command.
I'm not sure IF it's only the HUMAN player who will have to undo a
move, the paragraph isn't clear on this, only that the human will be
requested to undo a move but it stands to reason that the engine would
have to be kept in sync too and execute the undo. I'm guessing this
protocol is designed to prevent 2 consecutive passes in the "middle"
of a game.
This all makes sense if you consider 2 computers playing a rated game.
If undo isn't implemented, then how can this protocol be implemented?
- Don
then i'll add another one :-) :
- we do not support undo or clear_board. during the game it is
impossible for human to undo, he can, however press undo during the
scoring phase. at this moment we get a kgs-genmove-cleanup command
(which, as has been explained couple of days ago, is sent only in rated
games)! that would not be a big problem as we implement the cleanup
command, however, after a couple of moves we get an illegal move error
just as with the handicap game bug. i have not yet been able to track the
reason for it, so it may be a bug in our cleanup implementation,
but the appearence of this thread has made me want to mention it now...
regards
mike
On Sat, 19 Mar 2005, William M. Shubert wrote:
> Well, I can always tell when new clients start using kgsGtp because they
> find new bugs! There were two found in the past few days:
> * Returning an error to the "final_status_list" command hangs the
> client, found by Lukasz Lew and reported in an earlier email
> * The bug listed below: when you support "clear_board" but not
> "undo", and play as black in a 9x9 handicap game with free
> placement, you don't get the handicap stones sent to you after
> your opponent makes an undo.
> Both will be fixed in the 2.6.10 release. Thanks!
>
> On Sat, 2005-03-19 at 20:51 +0000, john@xxxxxxxxxxxxxxxxx wrote:
>> Just a quick bug report (mainly to wms, but others may have hit this and
>> wondered what went wrong).
>> I don't handle "undo" requests in Dumbbot yet. As I don't advertise this
>> in "list_commands", the kgsgtp wrapper does it for me every time a human
>> loser hits undo during a Free game (2 or 3 times a game isn't rare - it's
>> surprising DB ever gets to win!) It does this by sending a boardsize
>> command which clears everything down, resends komi, time_settings etc and
>> then sends "play" commands to repopulate the board as it was just prior to
>> the "undo" move. All very clever and seems to work fine.
>> However - if the game is a handicap one, the wrapper fails to resend the
>> "place_free_handicap n" command after the "boardsize" command clears the
>> game. This leaves the server out of sync with the engine which eventually
>> comes up with an illegal move; this illegal move causes kgsgtp to dump the
>> engine in disgust ;-)
>> It took me a while to track this one down. I presumed it was another one
>> of the many daft mistakes I've made in DB so far. I've got all the
>> logfile output if needed, but I'm guessing it was one of those
>> unthought-of combinations that slipped through and won't take long to fix.
>> Maybe DB is the only Bot that doesn't honour the "undo" command?
>>
>> HTH
>>
>> John
>>
>>
>> _______________________________________________
>> computer-go mailing list
>> computer-go@xxxxxxxxxxxxxxxxx
>> http://www.computer-go.org/mailman/listinfo/computer-go/
>>
>
> _______________________________________________
> computer-go mailing list
> computer-go@xxxxxxxxxxxxxxxxx
> http://www.computer-go.org/mailman/listinfo/computer-go/
>
_______________________________________________
computer-go mailing list
computer-go@xxxxxxxxxxxxxxxxx
http://www.computer-go.org/mailman/listinfo/computer-go/
_______________________________________________
computer-go mailing list
computer-go@xxxxxxxxxxxxxxxxx
http://www.computer-go.org/mailman/listinfo/computer-go/