[phpBB Debug] PHP Warning: in file [ROOT]/ext/introversion/badges/event/topic_renderer.php on line 79: Invalid argument supplied for foreach()
[phpBB Debug] PHP Warning: in file [ROOT]/ext/introversion/badges/event/topic_renderer.php on line 79: Invalid argument supplied for foreach()
Introversion • DEFCON AI BOT API
Page 1 of 4

DEFCON AI BOT API

Posted: Wed Jan 07, 2009 4:24 pm
by Mark
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!

Posted: Wed Jan 07, 2009 4:27 pm
by Ace Rimmer
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?

Posted: Wed Jan 07, 2009 5:13 pm
by rus|Mike
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.

Posted: Thu Jan 08, 2009 3:04 am
by Pox
I am eagerly awaiting a Linux-compatible API while staring at the archaicness of the mailing list.

ai bot

Posted: Sat Jan 10, 2009 7:37 pm
by ryanemm
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 :)

Posted: Sun Jan 11, 2009 7:47 pm
by martin
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.

Posted: Tue Jan 13, 2009 5:28 am
by Tripper
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

Posted: Tue Jan 13, 2009 12:40 pm
by martin
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.

Posted: Sat Jan 17, 2009 11:58 am
by tllotpfkamvpe
.

Posted: Sat Jan 17, 2009 9:10 pm
by Guest
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.

Posted: Sat Jan 17, 2009 9:11 pm
by martin
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

Posted: Sun Jan 18, 2009 10:28 am
by krmgkt58
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...

Posted: Sun Jan 18, 2009 5:24 pm
by martin
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"

Posted: Mon Jan 19, 2009 2:08 am
by Wasgood
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.

Posted: Mon Jan 19, 2009 4:38 am
by Tripper
[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!