- Jan 30, 2013
-
-
judge authored
Not that anyone cares, but I thought I should probably actually commit these. Congratulations Peter N Lewis See the mailing list archives for more information.
-
- May 05, 2012
-
-
Sam Moore authored
Celsius 1.2 by David Gow (in directory 'celsius') (The old one is under celsius1.1) I don't know what was happening before, but it didn't get added.
-
Sam Moore authored
Finally. BLERGH.
-
Sam Moore authored
If an AI sent a bad move and then crashed, a SIGPIPE would be reported rather than the AI's bad move. NOTE: There is an issue with Program::Running, because the segfaulted AI still returns 'true', which leads to confusion in handling SIGPIPE. Should probably handle segfaulting AIs better. Then again, people should probably not make segfaulting AIs. [SZM]
-
Sam Moore authored
Just in case...
-
- Apr 28, 2012
-
-
Sam Moore authored
Could be a good idea basic_python will be removed from rounds 2 and 3
-
Sam Moore authored
And then I made them all floats FUCK FUCK FUCK FUCK FUCK
-
Sam Moore authored
Done in simulate.py Will now run two rounds to complete the three rounds of the first Preliminary round. Round and round the something bush, the monkey chased the weasel...
-
Sam Moore authored
Used in Preliminary Round to show stuff on the projector. Needs to be re-run when it finishes.
-
Sam Moore authored
Credits: -------- celcius - David Gow (sulix) ramen - John Hodge (tpg) peternlewis - Peter N Lewis Samples: basic_python basic_cpp (NOT COMPETING) basic_java (NOT COMPETING) asmodeus vixen hunter All samples are provided by Sam Moore The preliminary round is worth 10%; scores in simulate.py have been weighted accordingly Good luck!
-
Sam Moore authored
-
Sam Moore authored
Primary blue looks like shit on the projector
-
Sam Moore authored
sulix: Oh dear god, my eyes, my eyes Preliminary Round 1 starts at 6:00pm tonight... for anyone who actually reads this. [SZM]
-
Sam Moore authored
The arguments stuff has been causing errors for everyone. No one uses arguments for their AI, so I removed it. sulix now beats vixen, so I have patched it to not make illegal moves. hunter uses the same sort of idea as vixen, but seems to do slightly better. Enjoy [SZM]
-
- Apr 09, 2012
- Mar 17, 2012
-
-
Sam Moore authored
I was using threads for timing out messages. But apparently everyone knows you can just use select(2)
-
Sam Moore authored
-
-
Sam Moore authored
-
Daniel Axtens authored
-
Sam Moore authored
If there are no arguments passed to an AI, pass execv NULL for the arguments. Passing it a pointer to an array of size zero... is not good.
-
- Mar 16, 2012
-
-
Sam Moore authored
-
Sam Moore authored
In KillUnit: I was using Vector.remove(Object), but I realised that this doesn't compare references, instead it uses "compareTo". Which meant the AI deleted every unit as soon as the first one died. Fun. I discovered gcj, which lets you compile a Java program. This is much easier than trying to convince the java interpreter to run.
-
Sam Moore authored
I was using Vector.remove(Object), but I realised that this doesn't compare references, it calls the "compareTo" method. See KillUnit Java AI is still using Buffered IO and so hasn't been tested with the manager program yet.
-
- Mar 15, 2012
-
-
Sam Moore authored
Just makes random moves Can't work out how to unbuffer stdio yet. The java interpreter doesn't like absolute path names, which is annoying.
-
- Mar 04, 2012
-
-
Sam Moore authored
-
Sam Moore authored
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.
-
- Mar 03, 2012
-
-
Sam Moore authored
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.
-
- Mar 02, 2012
-
-
Sam Moore authored
simulate.py wasn't setting the "gameID" variable correctly, meaning all games were logged to "red.vs.blue.1.1" Bug in vixen found by [SLX]; it attempts to move outside the board. Usually when losing. Path finding algorithm (path.py) shouldn't move outside the board. But somehow it is. Hacky fix at the moment by checking for moves outside the board in vixen's score calculation, and allocating -100 to these moves.
-
Sam Moore authored
I made the graphical board draw function reveal pieces that had been involved in combat. But I didn't reflect this in the printed board, until now. Pointed out by [SLX]
-
Sam Moore authored
I had added some extra log messages for testing the networking functions, and forgot to remove them, hence replaying a logged file (with the -f option) was failing.
-
- Feb 26, 2012
-
-
Sam Moore authored
Thanks to David Gow (sulix) for this patch. I was aware of the limitation, but decided to wait until someone complained before fixing it (I also overestimated the effort required to fix it). So I'd like to congratulate David for being the first person to actually try and use the manager program! I'll have to allocate a prize for that.
-
- Feb 02, 2012
-
-
Sam Moore authored
-
Sam Moore authored
-
Sam Moore authored
Why did I make it black????
-
Sam Moore authored
Probably should have committed immediately after I did whatever the stuff was? Not several weeks later? I appear to have improved the vixen AI slightly Aha, I remember! Altered manager program so that two ports are used (4560 and 4561) instead of just one. This means you can use network controllers for both players, not just one.
-
- Jan 21, 2012
-
-
Sam Moore authored
Wasn't thinking straight with the initial approach Basically: - Each stratego program is running ONE AI program locally -> That AI's responses need to be sent accross the network to the other stratego program -> Each stratego program keeps state seperately and sends instructions to its local AI, so actual instructions (ie: "Its your turn") aren't sent - A special controller is needed to recieve the responses So we have NetworkSender, which wraps around an AI_Controller and simply sends its responses (exactly as they are) to the network and NetworkReceiver which waits for responses from the network. As far as networking itself is concerned, its not that important who is the Client and who is the Server. If an IP address is specified, then Client is used, if no IP address is specified, Server is used. NOTE: It isn't possible to use networking for both AI programs yet. (ie: stratego @network @network) will fail when the Blue server attempts to bind the socket already used by the Red server. I may consider fixing this at some point. Going to test on mufasa. I've just thought, if the stratego programs have different timeout sequences, there may be problems. Oh well.
-
- Jan 19, 2012
-
-
Sam Moore authored
Erm, now what?
-
Samuel Moore authored
Derp
-