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

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

I think you've just found one of my biggest complaints about the GTP protocol. There's no way for the bot to give free text comments in response to commands. What you've outlined is effectively giving the bot a chance to chat back after every move on the board. Don't get me wrong, I'd love to see the functionality however I get it!

I like the small user name changes. Maybe the @'s and _'s are the best way but I agree that such distinctions would be good to have.

Aloril wrote:
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>
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.


computer-go mailing list