DeveloperCreated Friday, March 27th 2015 @ 14:08:15
Hi dear coders,
Warlight AI Challenge 2 is finally out of Beta. This means that we will no longer actively make changes to the game, but we'll still fix bugs when necessary of course.
Most importantly, we've made the engine source code available on our Github page. This engine has been adapted so you can use it immediately on your own computer. Just follow the README file. The mapgenerator is not included with the engine, but you can play on any map by going to a game on the website and add '/map' to the end of the url to get the JSON representation of that map. Simply add this to a file and pass that file when running the engine.
Greets and have fun coding!
- Created Friday, March 27th 2015 @ 20:02:08
- Updated Saturday, March 28th 2015 @ 00:33:51
Thanks, I just let my bots play a couple hundred games against each other. Bot1 always gets first pick but this can be changed. I haven't looked into the details but for some reason I ran into serious memory issues with the played games (fullPlayedGame, player1PlayedGame, player2PlayedGame) after about 60 games played (as if there were still references to those garbage variables) but I could just delete all assignments there since they are not necessary for the engine to determine the winner.
- Updated Saturday, March 28th 2015 @ 01:31:15
I like the feature 'Challenge this bot', however now the player who gived a dare always has first pick. It's should be random here, as in regular games..
- Created Saturday, March 28th 2015 @ 10:27:54
I also like the "Challenge this bot" feature.
But: I notice that these games count for the ranking. I don't think that is fair. It can easily be abused to get a higher ranking, by challenging bots of which you know you can easily win.
I think the results of these games should not count for the ranking.
Furthermore, it would be nice to see in the games list which games were started from this feature, and which bot challenged the other one.
- Updated Saturday, March 28th 2015 @ 11:38:53
Agree, howevery maby just forbid creation of games with low level players, by exmpale with rating < current-bot-rating - 200. And in range 200 elo's its aways possible to lose.
- Created Saturday, March 28th 2015 @ 11:52:25
What, come on. This is a playground and the leaderbord gets reset anyways..
Old times: Nobody is interested in 99% of the games played. Players interested in their bot get a game every 1-2 hours. I even uploaded my bot multiple times just to get more games against the testmatch bot to see how my new features play out.
New times: Players wanting to see how their bot plays out immediately get a game.
- Created Saturday, March 28th 2015 @ 12:08:39
@Norman: I agree that it is a playground. I want to see immediate results of my changes against a real bot, in some cases against one very specific bot. The testbot is not of much value for some types of changes. That's why this is nice feature. But because it's a playground, the result should not count in the ranking.
@GreenTea: I don't agree with forbidding challenging games against lower ranked players. That defeats the whole purpose of challenging.
Anyway, maybe challenging will not be abused in practice. I just wanted to point out that it is possible. Maybe I'll prove that some day, just for fun:)
- Created Sunday, April 5th 2015 @ 13:17:01
Now that we are out of beta, is there a closing date for the competition? I have just joined and while looking into this competition, I was trying to find out when it would end (don't want to join a competition that's about to finish). Is there any timeline for how long we will have to work on our bots before the finals? Even just something rough because it could be anywhere between a few days (unlikely) or a few months. Is there a date that we can be certain the finals will be "no sooner than"?
DeveloperCreated Sunday, April 5th 2015 @ 13:42:23
The exact dates for the finals will be announced later, but expect them in 2-3 months
- Updated Sunday, April 5th 2015 @ 21:06:27
Great, thanks for the update.
For anyone who is into the Maven ecosystem I have quickly whipped up a forked version of the engine that can be built with maven. Will try and get my maven repository online soon.
Also done a PR if you're interested in using the maven ecosystem. If you are let me know as there are a few improvements and niceties that can be provided with the maven ecosystem.
Will be uploading a maven archetype for the starter bot as well to help people get started with a project and I have plans for a maven plugin to run some tests on your bot locally.
- Updated Sunday, April 12th 2015 @ 16:32:15
I can't get the engine to operate.
When i run: java -cp lib/java-json.jar:bin com.theaigames.game.warlight2.Warlight2 realmap.txt 'node ../Bot.js' 'node ../Bot.js' 2>err.txt 1>out.txt
err.txt is blank, and out.txt is: setting up game Starting game... stopping... winner: player2 Saving the game...
Actually I'm noticing if I use some of my older bots I get 'writing to bot failed' over and over again in err.txt. If I redirect input from the example input using only node, the bot works fine (ie. sampleinput > node Bot.js).
Wait... does the engine need every bot to have that stupid __main__ comment?
- Updated Sunday, April 12th 2015 @ 17:25:41
I'm rusty on Java, but I did more digging with the older bots and noticed the error I'm getting is stream closed. Googling seems to suggest you've closed the stream too early... hmmm... what version of java did you test this with?
I'm looking at the code, and it almost looks like it's incomplete. out.txt simply gives some random output messages set in the code. Do we need to manually write Java to get the information we want?
Ok writing my own Java, I got it to print out the game based on perspective, but I still don't have the output of my bots. Why didn't you include any instructions in the readme for actually getting the output?! Seeing who won, isn't very useful, obviously we'd want both the game output and the bot output.
For anyone else in the dark. So far: - to get an output of the entire game with no fog of war see the method saveGame and getGamePlayed. You should put your code in saveGame, and the output of getGamePlayed(winner) well get you the output you want. The second parameter gives you the option of player perspective. - It appears in the Engine class you have ioplayers, those contain the IO of the players, you can call getStdout or getStderr to get your bots out and err, I think... I haven't gotten this far yet. This is annoying, because engine isn't exposed anywhere in the game, so you'll need to shove those calls somewhere in the engine, rather than the game.
- Created Saturday, May 23rd 2015 @ 20:09:46
@funkjunky: I am facing the same problem. I dont get the output of the game but setting up game Starting game... stopping... winner: player2 Saving the game... Done.
I am also getting the stream closed error:
Exception in thread "Thread-0" Exception in thread "Thread-2" java.lang.RuntimeException: java.io.IOException: Stream closed
Did you suceed here?
- Created Wednesday, July 15th 2015 @ 08:30:32
Is the engine biased in anyway? I've ran this engine on the same version of my bot for hundreds of games and it seems like there is a 60/40 bias for player 1. Anyone else have this problem or am I just doing something dumb?