9. kgsGtp and Bot Access to KGS
The stuff below came off a computer go mailing list wishlist for fixes to kgsGtp. --jhouse
As most of the wishes are around 5 years old, it would be fine, if one of the programmers could actualize this list (and e.g. add the actual date to the wishes)
|Table of contents|
No easy way to tell kgsGTP to exit once the current game is finished.
You could always supply the name to your bot via PM.
HelloCoder? I think this is a wise decision. You don't want the human user distracted or psyched out by a dialog with the bot.
On the other hand, you can chat with HelloBot via private message. Try asking for the score. (I can tell it to resign if you are way ahead.)
Allow bots to connect to games and observe them. The bot would (upon joining a room) get a list of all games and be able to join them via a GTP command, and then receive the moves already played, captures, and new moves via the standard GTP play command.
This would be great to be able to watch live games, and at the same time see how an engine's analysis algorithms are looking at a given position. Overall, this would help advance go a little towards the level of chess engines, where you can get interactive analysis of positions with a list of 'good' moves to play.
Change kgsGtp to keep the "list_commands" list of commands in memory. When KGS sends a message to the engine and the engine doesn't know the command, kgsGtp will intercept the message and not forward it to the engine. If this is implemented, the sysout log will be freed of a lot of unnecessary, repetitive error messages.
Support for Computer Go Engines with long thinking time (and other possibilities):
engine can connect to the kgs server and start a game with a _specific_ user/other engine that is also logged in, and which is offering a game currently (i don't know whether this is already possible???)
These two features make new things possible: The computer go engine would set up a game with a "pseudo user" called "Opponent"/"Human Player"/"You" (a special bot) which chooses its move from the public user/observer comments it gets.
Several modes are possible:
Computer go programmers can test their engine, which takes 5-30 minutes to calculate for one move (instead of 20-30 seconds), and because no human player would have so much patience to finish a whole game, another player (or players) can finish the game.
Say, if the player, which made the last move, doesn't make his next move within 1-5 minutes, then the engine accepts the next move from any KGS-Player with a rating <10 kyu (for example), and he is allowed to continue the game.
Perhaps there is another way to implement this (in which the player can click, instead of having to type in the coordinates), but this is the simplest way.
kgsGtp shows a slow memory leak. The total available memory gradually goes down when running kgsGtp over an extended period of time.
kgsGtp freezes under Ubuntu on a laptop when left alone for a long period of time.