Arimaa Forum (http://arimaa.com/arimaa/forum/cgi/YaBB.cgi)
Arimaa >> Bot Development >> Planning AEI changes
(Message started by: Hippo on Sep 16th, 2012, 6:07am)

Title: Planning AEI changes
Post by Hippo on Sep 16th, 2012, 6:07am
I am planning to make more changes to gameroom.py. I would probably end with adding some primitives to AEI making new version of it.

I have discovered problem with time management form gameroom.py ... as my bot makes slow initialisation during first move of the game, the time for move given to bot is wrongly longer by the time the AEI was replaying game till the current move. This is why the bot typically times out. Problem especially appears when the bot is restarted during an on-line game.

I would try to make the bot more immune against connection problems. Both these changes don't require changes of the protocol.

Changes to the protocol are required due to start of eee games.
The "2" command and probably "1", "3" and "4" as well would be added to allow limiting the number of steps the engine could use on the following turn (obviously with 4 be the default).

The changes would include "chat" command as well.

... my TODO list grows ...

Title: Re: Planning AEI changes
Post by Janzert on Sep 16th, 2012, 3:28pm
I don't think it should need or use protocol level changes for any of this.


on 09/16/12 at 06:07:03, Hippo wrote:
Changes to the protocol are required due to start of eee games.
The "2" command and probably "1", "3" and "4" as well would be added to allow limiting the number of steps the engine could use on the following turn (obviously with 4 be the default).


For this use a setoption command, specifically something like:


Code:
setoption maximum_steps 2


It should probably be a static setting and not just applied to the next move. With the controller manually changing it back to 4 when the bot should return to playing with the full four steps.


Quote:
The changes would include "chat" command as well.

... my TODO list grows ...


The chat command should just be a specially formatted log response, e.g.:


Code:
log Chat: Hi, I'm a bot.


Good luck on the TODO list, I've never found a way to make one shrink. ;)

Janzert

Title: Re: Planning AEI changes
Post by Hippo on Oct 9th, 2012, 9:44am
You can see, my TODO lists explodes, but sometimes it shrinks as well. As my bot plays turnament postal games from the comp I have difficulty to access, and I want to be informed about the state of the game, I was looking at the tables. Unfortunately there is 2 turns delay so I have to log as bot to see the current game state.
This made the bot losing session and it started rethinking the move.
One branch was to make gameroom.py be prepared for resending the computed move even when first attempt failed.
The other branch was to let the bot inform me about state of the game itself so I don't have the incentive to log to the gameroom as the bot.

Now it seems both branches are succesfully debugged.
Both are important as now I am testing new versions on  my laptop while the bot plays the postals, so the "sendmove error recovery" applies. And the other branch makes watching postals more funny.

Here radicheta (http://hrosi.dyndns.org/arimaa/radicheta.html) is an example of the e-mail content automatically sent to me.
I have created gmail account for my bot for this purposes. With a gmail account it is now configurable in gameroom.cfg.

Hmmm, I can see gameroom.py again is not perfect as it does not resent postmove chat in the move case :(.
(Feature implemented recently ... asked by Asger)



Arimaa Forum » Powered by YaBB 1 Gold - SP 1.3.1!
YaBB © 2000-2003. All Rights Reserved.