DEFCON AI BOT API

Come in here to talk about your sky-net style world-destroying super bots!

Moderator: Defcon moderators

User avatar
Mark
Introversion Staff
Introversion Staff
Posts: 98
Joined: Wed May 30, 2001 1:24 am
Contact:

DEFCON AI BOT API

Postby Mark » Wed Jan 07, 2009 4:24 pm

Over the last couple of years I've been doing quite a bit of work with Imperial College looking at DEFCON to see if it is possible to build the perfect Artificial Intelligence bot to destroy the world. We teamed up with Dr Simon Colton and Robin Baumgarten who used a variety of machine learning techniques to build a bot that consistently beat the original Introversion AI. Although we were delighted with this success it got us thinking, is it possible to create an unbeatable bot? Is it possible to make a bot that is more fun then the IV bot rather than simply destroying the player every time? To answer that question we have decided to enlist the help of academics, students and accomplished programmers around the world. You are now able to download an API for DEFCON that will allow you to directly control the behavior of an AI bot and play it against real players and eventually against other AI bots.

We think this is a great opportunity for students interested in game design to use DEFCON as a platform to extend their programming skills and conduct valid research into the ever expanding field of Artificial Intelligence. As a great additional incentive, Imperial College plans to hold a DEFCON competition at the 2009 IEEE Symposium on Computational Intelligence and Games, where the most aggressive AI bots will be pitched against each other in an epic thermonuclear battle! To learn more about this project and to get involved, just visit the project page here. Good Luck!
User avatar
Ace Rimmer
level5
level5
Posts: 10803
Joined: Thu Dec 07, 2006 9:46 pm
Location: The Multiverse

Postby Ace Rimmer » Wed Jan 07, 2009 4:27 pm

It's too bad I don't have the skills necessary and bert doesn't have the time. :cry:

Edit: Perhaps somebody with the necessary skills for creating a Defcon Bot would need somebody with actual game play experience to help them in creating a Bot with decent tactics?
Smoke me a kipper, I'll be back for breakfast...
User avatar
rus|Mike
level5
level5
Posts: 2750
Joined: Thu Jun 28, 2007 5:52 pm
Location: Russia, St. Petersburg

Postby rus|Mike » Wed Jan 07, 2009 5:13 pm

Ace Rimmer wrote:Perhaps somebody with the necessary skills for creating a Defcon Bot would need somebody with actual game play experience to help them in creating a Bot with decent tactics?

Yeah, I can also help with that.
User avatar
Pox
level5
level5
Posts: 1786
Joined: Sat Mar 03, 2007 11:23 am
Location: Melbourne
Contact:

Postby Pox » Thu Jan 08, 2009 3:04 am

I am eagerly awaiting a Linux-compatible API while staring at the archaicness of the mailing list.
ryanemm

ai bot

Postby ryanemm » Sat Jan 10, 2009 7:37 pm

Hey im fairly new to the python scene but adore defcon. is their a python script available to download and tinker with or could someone write one perhaps?
Also any tips from experienced programmers would be greatly appreciated. If you happen to have a python script drop me a line @ :
ryanmcdonagh2k5@hotmail.co.uk

Cheers :)
User avatar
martin
level5
level5
Posts: 3210
Joined: Fri Nov 19, 2004 8:37 pm
Location: ::1
Contact:

Postby martin » Sun Jan 11, 2009 7:47 pm

Who else is writing a bot? I have lots of spare time on the train to and from uni so I'm going to give one a go.
GENERATION 22:The first time you see this, copy it into your sig on any forum and add 1 to the generation. Social experiment.
User avatar
Tripper
level4
level4
Posts: 703
Joined: Wed Jun 13, 2007 12:05 am
Location: Freeeeeeee

Postby Tripper » Tue Jan 13, 2009 5:28 am

Aargh! Terribly exciting sounding _and_ I have PC access (tho rubbish internet) _and_ lots of spare time

but I couldn't program in c++ to save my life

So I guess, similar to Ace and rus|Mike, I'd be happy to help collaborate on sstrategies / debugging ...

Any coders, drop me a PM (which I still occasionally check ...) cheers, Tripper
User avatar
martin
level5
level5
Posts: 3210
Joined: Fri Nov 19, 2004 8:37 pm
Location: ::1
Contact:

Postby martin » Tue Jan 13, 2009 12:40 pm

Since I appear to be the only person writing a bit I guess I'll be getting lots of debugging/strategy help :P

Don't expect anything anytime soon by the way, I have a lot of uni work to do, and several of my own projects just one of which is this bot.
GENERATION 22:The first time you see this, copy it into your sig on any forum and add 1 to the generation. Social experiment.
User avatar
tllotpfkamvpe
level5
level5
Posts: 1768
Joined: Fri Aug 31, 2007 12:04 am
Contact:

Postby tllotpfkamvpe » Sat Jan 17, 2009 11:58 am

How long will it take to make these bots?
Guest

Postby Guest » Sat Jan 17, 2009 9:10 pm

well, I have a lot of other week, so a few months I expect. I'll probably get it done over the summer holidays more.
User avatar
martin
level5
level5
Posts: 3210
Joined: Fri Nov 19, 2004 8:37 pm
Location: ::1
Contact:

Postby martin » Sat Jan 17, 2009 9:11 pm

Anonymous wrote:well, I have a lot of other week, so a few months I expect. I'll probably get it done over the summer holidays more.


Oops, forgot to log in
GENERATION 22:The first time you see this, copy it into your sig on any forum and add 1 to the generation. Social experiment.
krmgkt58
level0
Posts: 4
Joined: Sun Oct 01, 2006 5:24 am

Postby krmgkt58 » Sun Jan 18, 2009 10:28 am

It occurred to me while shuffling fighters and bombers around my carrier groups that concepts from linear programming, optimization, military logistics, risk analysis, and such may apply to Defcon. Think of what highly educated military strategist who graduated summa cum laude from Westpoint would do if you told him to play Defcon. However, the game is probably far too fast for a human player to actually apply such methods in the middle of a game, even at real-time speed.

A bot on the other hand...
User avatar
martin
level5
level5
Posts: 3210
Joined: Fri Nov 19, 2004 8:37 pm
Location: ::1
Contact:

Postby martin » Sun Jan 18, 2009 5:24 pm

Indeed, I imagine that the biggest advantage of a bot is that it can micromanage LOTS, however no amount of micromanaging can beat a good player if the bots overall strategy is flawed.
As someone once said "Realtime strategy cannot beat a well planned strategy"
GENERATION 22:The first time you see this, copy it into your sig on any forum and add 1 to the generation. Social experiment.
User avatar
Wasgood
level5
level5
Posts: 1082
Joined: Sat Sep 02, 2006 11:44 am

Postby Wasgood » Mon Jan 19, 2009 2:08 am

I also suppose this could pave the way into simulations. Like what would have happened if the Soviet Union attacked the US in the cold war.
User avatar
Tripper
level4
level4
Posts: 703
Joined: Wed Jun 13, 2007 12:05 am
Location: Freeeeeeee

Postby Tripper » Mon Jan 19, 2009 4:38 am

[quickly diverts game <> simulation thread - not that anyone is active on this forum much as it is]

It occurred to me that grand strategy AI, which as martin says is most important, is going to be very difficult to do "properly". DEFCON is surpassing different from most other computer strategy games; it is not a resource gathering game [maximise resource gathering, build army as quickly as possible, fight, repeat]; and it is not a finite state game like chess [where move trees can be calculated in advance, and as I understand it, the top AIs if not players are basically look-up libraries of past games]. So the AI bot will have to deal with managing a fixed amount of resources in an almost completely free gamestate [the default AI's response to this is to launch all nukes at 1:30:00, and micro at hight speed. Which is more than enough for beginners and depressingly uninteresting to experienced players]

What's worse, the heterogeneous nature of DEFCON territories and indeed the different game styles seem to necessesitate a different fundamental strategy for any given setup [I do, and I'm sure most semi-experienced players do]

And interestingly, there is the interaction between land unit placement (which can only be done once, with minimal information about the opponent) and mobile unit strategy (some people would split this into conventional and nuclear strategy, others treat conventional forces merely as an aid to deploying / countering nuclear forces)

So, thinking out loud here, the most upper-level strategy tree would look something like:

1. Class by game mode [1v1, 2v2, default, survivor, genocide, diplo, premium]
V
2. Class by number of players
V
3. Class by territory (and opponents territories)
V
4. Choose land unit deployment[could be fixed as in Star, or variable if uncertainty is important]
V
5. Choose sea unit deployment [taking into account radar at DEFCON 4 if desired]
/\
V
6. Determine opponent(s) land and sea deployment
V
7. Determine guiding strategy (all out attack, all out defence, skirmishing, diplomacy, etc) -feeding back to step 4
/\
V
8. Implement micromanagement tactics based on guiding strategy - feeding back to step 6

Yikes. I know that is what players do in their heads, but ....

If others agree with these general strategic decision-making levels, maybe they could serve as the basis for separate threads???

Cheers, Tripper

PS - would there be any chance of converting the existing AI code into the Bot language. I'm sure many people would find that most handy as a starting point!

Return to “AI Bots”

Who is online

Users browsing this forum: No registered users and 1 guest