OP shamelessly stolen from SA
I was going to post this in the programming thread but I think it's interesting enough to warrant it's own topic.
The Google AI Challenge is a contest where the objective is to make a bot that will fight against other bots in a game of Planet Wars. You are ranked based on how well your bot does.
What is Planet Wars?
Planet Wars is a strategy game set in outer space. The objective is to take over all the planets on the map, or altenatively eliminate all of your opponents ships.
Example of AIs playingMore interesting examples can be found on the site.
Planet Wars is inspired by Galcon, a popular iPhone and desktop strategy game. A huge thank-you goes out to the creator of Galcon, Phil Hassey, for letting us use his idea. You can play Galcon online against other people for free
here.
The game is turn-based. Your bot is a function that takes a list of planets and a list of fleets, and outputs some orders.
When a fleet arrives at its destination planet, one of two things can happen. If the destination planet belongs to your bot, the ships from the fleet land on the planet as reinforcements. If your bot does not own the destination planet, the ships from the fleet are subtracted from the ships that currently occupy the planet. If the result is less than zero, then your bot gains control of the planet. If the result is exactly zero, then control of the planet does not change hands.
Getting Started
There is a 5 minute quick start guide located
here.
There are official starter packs for different languages:
There are also other languages (Haskell, Lisp, etc.) available on the forums with unofficial starter packs.
Timeline
- September 1, 2010: programming materials released to the public.
- Friday Sept 10, 2010: official start date. You will be able to create an account and see your ranking.
- Saturday Nov 27, 2010: submission deadline. No submissions will be accepted after 11:59 PM.
- Wednesday Dec 1, 2010: official results and final rankings will be released. Who will be the winner? Will it be you?!
Community
The AI Challenge has forums located
here and they are available on IRC at
irc.freenode.net/#aichallengeUseful thingsCode for all of the backendAlternate Python kit, which some useful functionsUnofficial server for testing (small and generally more skilled player base, faster matches)Strategy guidePA EntrantsCmdPromptPhyphorThe_Anonymous
Posts
Check out my band, click the banner.
I've entered, now it's time to implement some strategy.
I haven't delved too deep yet, but do you know if your bot can "see" the commands that the opponent has issued? I mean, once they have launched their ships, can you tell what planet they are leaving from and where they are going?
I typed up a big long description of what my overall strategy is going to be, but I deleted it because I don't want to reveal too much yet. Maybe if it moves me up on the leaderboards...
After watching a few matches you can start to pick up on the strategies used by each bot. I imagine that in the top 100 or so there is a kind of crazy metagame of tailoring your bot to beat a range of the most successful competitors.
I dunno, most modern papers on game playing say that opponent modelling is difficult and really not beneficial. Most players either assume that the opponent thinks exactly like you do and assumes the opponent always does the most advantageous thing, or they just hallucinate a bunch of random games very quickly and take the first move that is most likely to lead towards a win for them.
There are games where you actually need to model your opponent to do well, rock paper scissors being the simplest example, but my impression is that this is the exception and not the rule.
There's a huge difference in ability once you climb the ranks. My bot is currently absolutely horrible at long range, open maps and mid to late game in general. In this game I grab an early lead but my barely worked on at all midgame combat routines don't keep up well at all.
I don't think they specifically target for individual bots though, since one of the rules is to not attempt to determine if you're playing a specific bot and act accordingly. You can adjust to general strategy, but not specific opponents.
Seems like the trick is getting land early and determining if your rival is going after large or small land masses.
Seems that "Don't be evil" really is just a cover.
Guys, they're building Skynet!
But seriously, this sounds pretty cool. I'm not a programmer, but I'm interested in how things turn out.
That will be my benchmark now, beating Phyphor at least.
Nice job, btw.
Also if you're competing and would like to share, post a link to your profile and I'll put it in the OP.
Haha, which school is yours?
MUN, no entrants yet
I think this is by far my favourite match, ever
edit: Actuall,y I fought this guy earlier who uses a modified zerg, so you can actually go fairly far with it. I remember a couple of top bots also have a very zerg-like behaviour
See this is what I imagined. I imagined that there'd be three possible scenarios, a zerg, a moderate expansion, and a "wait until I get huge numbers and fuck your shit." Seems he went after the huge ROI planets and just waited you out.
what I will use is Python, because I miss coding in Python. I'll post my stuff up once I get something going.