Welcome, Guest. Please Login or Register.
Apr 26th, 2024, 8:23am

Home Home Help Help Search Search Members Members Login Login Register Register
Arimaa Forum « Arimaa Engine Interface (AEI) »


   Arimaa Forum
   Arimaa
   Bot Development
(Moderator: supersamu)
   Arimaa Engine Interface (AEI)
« Previous topic | Next topic »
Pages: 1 2 3 4  ...  7 Reply Reply Notify of replies Notify of replies Send Topic Send Topic Print Print
   Author  Topic: Arimaa Engine Interface (AEI)  (Read 21590 times)
Janzert
Forum Guru
*****



Arimaa player #247

   


Gender: male
Posts: 1016
Re: Arimaa Engine Interface (AEI)
« Reply #15 on: Jul 6th, 2009, 9:50pm »
Quote Quote Modify Modify

End of the week turned into 2 months later but finally I've added opponent and game rating status reporting to the gameroom interface.
 
Janzert
IP Logged
Janzert
Forum Guru
*****



Arimaa player #247

   


Gender: male
Posts: 1016
Re: Arimaa Engine Interface (AEI)
« Reply #16 on: Aug 4th, 2009, 1:43pm »
Quote Quote Modify Modify

I have a draft for an updated protocol document that can be found here. Most of the changes are simply clarifications from the previous version. The primary change, added after Omar's encouragement, is the addition of a message (protocol-version) from the engine to the controller telling the controller what protocol version the engine expects. This will allow future controllers to remain compatible with old engines.
 
There are two more additions I would eventually like to make. The first is a way for engines to tell controllers what options it supports (similiar to UCI "option" message). The second is a standard method to tell an engine to only search certain moves from a position. But both of those will probably wait till a later version.
 
If there is anything else that you see needing clarification or changing please speak up now, I want to make a real release soon so it will be easily available for developers working on bots for the 2010 CC.
 
Janzert
IP Logged
jdb
Forum Guru
*****



Arimaa player #214

   


Gender: male
Posts: 682
Re: Arimaa Engine Interface (AEI)
« Reply #17 on: Sep 28th, 2009, 5:41am »
Quote Quote Modify Modify

on Jul 6th, 2009, 9:50pm, Janzert wrote:
End of the week turned into 2 months later but finally I've added opponent and game rating status reporting to the gameroom interface.
 
Janzert

 
I am working on adding this into clueless. Something is not working.
 
In the gameroom.py file, line 303 starts a block that sends the rating and opponent name info to the engine. There is a similar block starting on line 324. They are not the same. When I cut and pasted to make them the same, everything worked properly. Is this a bug, or am I doing something wrong?
IP Logged
jdb
Forum Guru
*****



Arimaa player #214

   


Gender: male
Posts: 682
Re: Arimaa Engine Interface (AEI)
« Reply #18 on: Sep 28th, 2009, 5:59am »
Quote Quote Modify Modify

The AEI sends a message to the engine telling if the game is rated or not. It sends the message right after the game has been opened in the gameroom and no one has joined the game yet. This works fine if the opponent is playing in rated mode. If the opponent is playing in unrated mode, the server forces the game to be unrated. This currently happens after the message has already been sent to the engine. Is it possible to have the AEI handle this situation?
IP Logged
Janzert
Forum Guru
*****



Arimaa player #247

   


Gender: male
Posts: 1016
Re: Arimaa Engine Interface (AEI)
« Reply #19 on: Sep 28th, 2009, 10:29pm »
Quote Quote Modify Modify

Thanks for the bug report and fix, revision 35 should include the fix.
 
Regarding unrated mode; I had pretty much forgotten about that mode again (I think my mind instinctively blocks it out since I dislike it so much :/). I'll have to look at when the server unrates the game and move the report to after that or possibly report it again when it changes. Although I'm not sure there is much utility in the latter1.
 
The rated status of the game is currently reported at line 829 copying/moving that line to the two sections you found where the ratings are reported would probably also give the correct status. But I don't have time to test it at the moment.
 
Janzert
 
1 Except for allowing me to harbor fantasies of spitting out a message telling the player "This bot refuses to participate in unrated mode games." and leaving the game.
« Last Edit: Sep 28th, 2009, 10:32pm by Janzert » IP Logged
jdb
Forum Guru
*****



Arimaa player #214

   


Gender: male
Posts: 682
Re: Arimaa Engine Interface (AEI)
« Reply #20 on: Sep 29th, 2009, 1:39am »
Quote Quote Modify Modify

on Sep 28th, 2009, 10:29pm, Janzert wrote:
Thanks for the bug report and fix, revision 35 should include the fix.
 
Regarding unrated mode; I had pretty much forgotten about that mode again (I think my mind instinctively blocks it out since I dislike it so much :/). I'll have to look at when the server unrates the game and move the report to after that or possibly report it again when it changes. Although I'm not sure there is much utility in the latter1.
 
The rated status of the game is currently reported at line 829 copying/moving that line to the two sections you found where the ratings are reported would probably also give the correct status. But I don't have time to test it at the moment.
 
Janzert
 
1 Except for allowing me to harbor fantasies of spitting out a message telling the player "This bot refuses to participate in unrated mode games." and leaving the game.

 
I'll try it out.  
 
Edit: Tried it, looks like its more complicated than I can figure out.
« Last Edit: Sep 29th, 2009, 5:13am by jdb » IP Logged
Fritzlein
Forum Guru
*****



Arimaa player #706

   
Email

Gender: male
Posts: 5928
Re: Arimaa Engine Interface (AEI)
« Reply #21 on: Sep 29th, 2009, 5:26am »
Quote Quote Modify Modify

on Sep 28th, 2009, 10:29pm, Janzert wrote:

1 Except for allowing me to harbor fantasies of spitting out a message telling the player "This bot refuses to participate in unrated mode games." and leaving the game.

Why not do that, or use the random-setup strategy?  It seems to me developers should have the right to choose between rated and unrated games as much as their opponents.
IP Logged

Janzert
Forum Guru
*****



Arimaa player #247

   


Gender: male
Posts: 1016
Re: Arimaa Engine Interface (AEI)
« Reply #22 on: Sep 30th, 2009, 7:06pm »
Quote Quote Modify Modify

First thing I should note is that I had forgotten to announce that I set up a real project for AEI on launchpad and the latest code can now be found at https://code.launchpad.net/~janzert/aei/trunk or if using bzr directly "bzr branch lp:aei" will get it.
 
The interface now will resend the games rated status after the opponent joins. This should be the status the game stays unless the player unrates it after the game. By keeping track if the status changes the engine can also tell if the game was started unrated or if unrated mode is being used.
 
on Sep 29th, 2009, 5:26am, Fritzlein wrote:

Why not do that, or use the random-setup strategy?  It seems to me developers should have the right to choose between rated and unrated games as much as their opponents.

 
I had the impression that cutting off the game was considered very anti-social by the community.
 
Janzert
« Last Edit: Sep 30th, 2009, 7:10pm by Janzert » IP Logged
Janzert
Forum Guru
*****



Arimaa player #247

   


Gender: male
Posts: 1016
Re: Arimaa Engine Interface (AEI)
« Reply #23 on: Nov 2nd, 2009, 8:40pm »
Quote Quote Modify Modify

AEI site now up at http://arimaa.janzert.com/aei/.
 
I also put up a 1.0beta release there. I don't expect any more changes in the protocol before the final release. Mostly I need to get a lot more documentation before the final 1.0 release. Hopefully I can also do some code clean up in the implementation.
 
Janzert
IP Logged
omar
Forum Guru
*****



Arimaa player #2

   


Gender: male
Posts: 1003
Re: Arimaa Engine Interface (AEI)
« Reply #24 on: Nov 5th, 2009, 8:36am »
Quote Quote Modify Modify

Thanks for all the effort you've put into this project. I know having this will make thing much easier for bot developers. I have updated the pages which guide new bot developers to recommend using the AEI. I would strongly recommend that all bot developers start transitioning to use the AEI instead of the Bot Interface Kit.
« Last Edit: Nov 5th, 2009, 8:38am by omar » IP Logged
Polyfractal
Forum Senior Member
****



Arimaa player #3241

   


Gender: male
Posts: 27
Re: Arimaa Engine Interface (AEI)
« Reply #25 on: Dec 19th, 2009, 11:39am »
Quote Quote Modify Modify

Just getting around to implementing this.  Perhaps I'm just really dumb, but roundrobin.py does not seem to be running on my system.  Any ideas?
 
This is the output I get:
 
Code:

C:\Zach\DistributedNeuron\aei-1.0beta1>roundrobin.py
Number of rounds:  1
At timecontrol 3s/30s/100/60s/10m
Giving these settings to all bots:
hash: 50
Traceback (most recent call last):
  File "C:\Zach\DistributedNeuron\aei-1.0beta1\roundrobin.py", line 277, in <mod
ule>
    sys.exit(main(sys.argv))
  File "C:\Zach\DistributedNeuron\aei-1.0beta1\roundrobin.py", line 250, in main
 
    gengine = run_bot(gbot)
  File "C:\Zach\DistributedNeuron\aei-1.0beta1\roundrobin.py", line 243, in run_
bot
    engine = EngineController(StdioEngine(cmdline))
  File "C:\Zach\DistributedNeuron\aei-1.0beta1\pyrimaa\aei.py", line 64, in __in
it__
    universal_newlines = True)
  File "C:\Python26\lib\subprocess.py", line 621, in __init__
    errread, errwrite)
  File "C:\Python26\lib\subprocess.py", line 830, in _execute_child
    startupinfo)
WindowsError: [Error 2] The system cannot find the file specified
« Last Edit: Dec 19th, 2009, 11:40am by Polyfractal » IP Logged
Janzert
Forum Guru
*****



Arimaa player #247

   


Gender: male
Posts: 1016
Re: Arimaa Engine Interface (AEI)
« Reply #26 on: Dec 19th, 2009, 12:08pm »
Quote Quote Modify Modify

Unfortunately the error messages are usually pretty unfriendly tracebacks, sorry. Sad
 
In this case it is unable to start a bot using the command line given in roundrobin.cfg. Specifically it looks like the first bot specified in the bots list for the tournament.
 
Janzert
IP Logged
Polyfractal
Forum Senior Member
****



Arimaa player #3241

   


Gender: male
Posts: 27
Re: Arimaa Engine Interface (AEI)
« Reply #27 on: Dec 19th, 2009, 12:21pm »
Quote Quote Modify Modify

Doh!  Silly me, I was thinking the cmdLine option was what you wanted passed to the bot as arguments, not the actual command to start the bot.
 
Fixed and works great now.  Thanks!
IP Logged
rbarreira
Forum Guru
*****



Arimaa player #1621

   


Gender: male
Posts: 605
Re: Arimaa Engine Interface (AEI)
« Reply #28 on: Mar 25th, 2010, 6:19am »
Quote Quote Modify Modify

Hi,
 
Thanks a lot for AEI, I'm just now starting a bot using it!
 
How many of the bots are currently using it? Janzert I suppose your own bots are, so AEI has probably been tested quite a lot.
IP Logged
Janzert
Forum Guru
*****



Arimaa player #247

   


Gender: male
Posts: 1016
Re: Arimaa Engine Interface (AEI)
« Reply #29 on: Mar 25th, 2010, 10:40am »
Quote Quote Modify Modify

Of the current active bots the only two I know for sure are using AEI are Clueless and OpFor.  I have used AEI exclusively since I started developing OpFor. Jdb switched Clueless over from the getmove interface in the last year.
 
One thing I do want to add at some point is a method like UCI has for the engine to tell the controller what options are available. I've felt that this isn't very important or useful until a GUI controller is developed though.
 
Other than that the current protocol has met my needs, but I'd love to hear from others if there are changes or additions that would work better for them.
 
Janzert
IP Logged
Pages: 1 2 3 4  ...  7 Reply Reply Notify of replies Notify of replies Send Topic Send Topic Print Print

« Previous topic | Next topic »

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