Minor rule changes simulate.py scores SURRENDER as 0 points for the surrendering AI, 3 points for its opponent. SURRENDER can be sent instead of a normal move. AIs must now place all 40 pieces during setup
Added image output to manager, added plots to results pages Can generate images from manager program with the -I option Can generate a video from these images with the -v option (Note: just runs ffmpeg) These two options only work if the program was built with graphics enabled. Note: You can generate a video from a saved log file by "./stratego -v video -o logfile" So that's cool. Results pages look nicer. Fixed bug with score updating between rounds. Added pretty plots. Most plots end up being straight lines. But its pretty anyway.
Tweaking manager/simulate.py, updating manual and webpage You can now pass arguments to your AI through the manager program. Simply include the path to the AI and arguments in quotation marks. EG: ./stratego "../../agents/foo/bar --debug" ../../agents/other/agent simulate.py was making broken links to log files, fixed. Logging of stderr! If anything is printed to stderr, it is all saved in logfilename.stderr by simulate.py Tried to make the manual page better, probably failed. Updated webpage since we have now changed the date. Also tried to fix vixen again, haven't tested.
Updated manual page for stratego
Trivial changes to webpage
[RULE CHANGE] "NO_MOVE" is no longer a legal Previously AIs could respond with "NO_MOVE" whenever they felt like. Officially, now they can only respond with "NO_MOVE" when they have no mobile pieces left. (That is, only Bombs and the Flag are left). However the game should end by a VICTORY_ATTRITION condition as soon as either player loses its last mobile piece. So technically, "NO_MOVE" can't ever be legally printed, because the game should have ended. If it doesn't, there is a bug. Updated webpage, updated manual, updated README Going to email the list later today. Goodluck! PS: The rule change is due to a mean initial setup, for example: ********** ********** ********** BB**BB**BB ..++..++.. ..++..++.. etc Here, Red has placed Bombs in all three "lanes". Red is unable to move. However, as long as Red can use "NO_MOVE", an unsuspecting Blue will lose most of its pieces on the Bombs. (Unless Blue puts a miner up the front...) But anyway, being able to not move is silly and not allowed in the real game.
[RULE CHANGE] *Victory by "attrition"* + Bug fixes Minor bugs in the manager program fixed. Changed some messages for clarity, can't remember what, look at diff. Added VICTORY_ATTRITION; victory by destroying all of the opponents _mobile_ pieces (ie: Everything except Bombs/Flag) This means we don't get results of DRAW or DRAW_DEFAULT when one AI destroys all the other's mobile pieces. Since those games would last up to 5000 turns, this saves a lot of wasted time. AI should still respond with "NO_MOVE" when they have no mobile pieces. Made timeout value adjustable by an argument switch, '-T' Altered simulate.py to use a timeout variable and supply the switch to the manager program. So now I don't need to recompile and commit the manager program every time I want to test a different timeout value on mufasa! Mufasa is now on game 3 of the test round, out of 12. After FIVE HOURS. This particular game has lasted 1132 turns, with BLUE making "NO_MOVE" for the last 600 or so. The new victory condition will stop this sort of thing :) Merry Christmas!
As suspected, it didn't work Need to also disable linking with the SDL and OpenGL libraries in the Makefile But those libraries must have pulled in pthread, because then I got link errors until I added that to linking. Attempt #2
Added build option to build "stratego" without graphics I need this for mufasa (vm), which doesn't have SDL or OpenGL or even GNOME Besides, it doesn't need it, and attempting to install them did not end well... Still need to test that it actually builds on mufasa
Moved manager manual page