Author |
Topic: Arimaa Engine Interface (AEI) (Read 22124 times) |
|
Janzert
Forum Guru
Arimaa player #247
Gender:
Posts: 1016
|
|
Re: Arimaa Engine Interface (AEI)
« Reply #15 on: Jul 6th, 2009, 9:50pm » |
Quote 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:
Posts: 1016
|
|
Re: Arimaa Engine Interface (AEI)
« Reply #16 on: Aug 4th, 2009, 1:43pm » |
Quote 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:
Posts: 682
|
|
Re: Arimaa Engine Interface (AEI)
« Reply #17 on: Sep 28th, 2009, 5:41am » |
Quote 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:
Posts: 682
|
|
Re: Arimaa Engine Interface (AEI)
« Reply #18 on: Sep 28th, 2009, 5:59am » |
Quote 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:
Posts: 1016
|
|
Re: Arimaa Engine Interface (AEI)
« Reply #19 on: Sep 28th, 2009, 10:29pm » |
Quote 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:
Posts: 682
|
|
Re: Arimaa Engine Interface (AEI)
« Reply #20 on: Sep 29th, 2009, 1:39am » |
Quote 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
Gender:
Posts: 5928
|
|
Re: Arimaa Engine Interface (AEI)
« Reply #21 on: Sep 29th, 2009, 5:26am » |
Quote 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:
Posts: 1016
|
|
Re: Arimaa Engine Interface (AEI)
« Reply #22 on: Sep 30th, 2009, 7:06pm » |
Quote 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:
Posts: 1016
|
|
Re: Arimaa Engine Interface (AEI)
« Reply #23 on: Nov 2nd, 2009, 8:40pm » |
Quote 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:
Posts: 1003
|
|
Re: Arimaa Engine Interface (AEI)
« Reply #24 on: Nov 5th, 2009, 8:36am » |
Quote 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:
Posts: 27
|
|
Re: Arimaa Engine Interface (AEI)
« Reply #25 on: Dec 19th, 2009, 11:39am » |
Quote 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:
Posts: 1016
|
|
Re: Arimaa Engine Interface (AEI)
« Reply #26 on: Dec 19th, 2009, 12:08pm » |
Quote Modify
|
Unfortunately the error messages are usually pretty unfriendly tracebacks, sorry. 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:
Posts: 27
|
|
Re: Arimaa Engine Interface (AEI)
« Reply #27 on: Dec 19th, 2009, 12:21pm » |
Quote 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:
Posts: 605
|
|
Re: Arimaa Engine Interface (AEI)
« Reply #28 on: Mar 25th, 2010, 6:19am » |
Quote 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:
Posts: 1016
|
|
Re: Arimaa Engine Interface (AEI)
« Reply #29 on: Mar 25th, 2010, 10:40am » |
Quote 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 |
|
|
|
|