[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [computer-go] Wishlist for playing programs on KGS

On Wed, 2005-10-12 at 12:02, William M. Shubert wrote:
> After thinking it over, I have decided that maybe the best solution is
> one that would give the most flexibility to the engine authors, at the
> expense of some complexity to them. This solution I'm about to propose
> is something that has been requested before for other reasons, and it
> may be useful in general.
> My solution:
>      1. Whenever a user talks to the engine at all, forward the text as
>         a KGS-specific command. Something like "kgs-chat <username>
>         <text>"

What about 2 additions:
If game opponent talks, then prefix username with @, ie in game between
Foo-SomeGnu it would be "kgs-chat @Foo hi".
Reason: Allows chatting with opponent, even if limited.

After each move by opponent before genmove send empty chat:
Reason: Can teach opponent, for example if in game IdiotBot-Newbie
Newbie fills eye, it could say something like "Not good idea to fill
your eyes, if you continue that I can capture your group".
Sometimes really new players do proceed to fill their unconditional
territories until there is only 1 empty point left.

Also send this command after its genmove has returned result.
Reason: Then it can in computer Go tournaments chat analysis into game

I wonder if it would be good idea to differentiate betwen in game chats
and private chats? Maybe some prefix to username in private chats, maybe

In game chat by opponent:
kgs-chat @Foo hi! 

In game chat by watcher (hmm.. if bot gets enough intelligent then this
might be bad ;-)
kgs-chat Bar nice.

Private chat
kgs-chat _Owner quit

After play and genmove commands just in case bot has something to say.

>      2. If the response to this command to the engine is a success and
>         includes text after the "=", then the text of the response will
>         be sent back to the user who sent the chat.
>      3. When a game ends, the engine will get a clear board request.
>         Since clear boards never appear in-game (as long as you support
>         the undo command that is!), an engine can treat this command as
>         a "the game is over" signal. When the engine exits, kgsGtp logs
>         out, so if an engine decides though chat or any other mechanism
>         that it should log out when the game ends, it can simply exit
>         when it gets the next clear board request (or exit right now if
>         the last request that it received was a clear board).

No need to support chat at all for this to work.
User can just create file quit.flag which existence bot checks when it
gets clear_board command.

Aloril <aloril@xxxxxxxxxxxxxxxxx>
computer-go mailing list