Page 1 of 2

Barbarossa bot

Posted: Fri Jul 16, 2010 10:58 pm
by Barbarossa
I hope I'm not too late to this bot craze. Yesterday I was finally able to basically get the original bot C++ code to compile.. Then I realized that the default bot is not a conversion of the games default AI.. The games default AI always beats the "original bot" by massive amounts of points. There are many things not even coded in the bot that is included, which makes it a terrible opponent for the CPU and default original bot plays at the level of literally a five year old.. (probably five year old play better than that! lol)

I haven' t even looked at doing heat maps, dynamic silo synchronizations, getting bombers to do the wave, etc... OnEvent (or the equivalent) will be very userful, as will GetShots (if it actually worked or was implemented correct..)

But right now at this moment I have created an ultrasimplistiic bot that only plays the very limited constrained scenario of Asia vs North America (with the bot playing Asia and the CPU or human being North America) It is able to consistently beat the CPU even though it would get creamed by a human player.. because of its predictability.

Image

Uploaded with ImageShack.us

http://barbarossa.110mb.com/Barbarossa.dll

Posted: Sat Jul 17, 2010 10:14 am
by smc
Nice, and welcome to the bot-party :)

Posted: Sun Jul 18, 2010 12:55 am
by Barbarossa
smc wrote:Nice, and welcome to the bot-party :)


Thanks. Anyway I rechecked and reconfirmed and it seems the code of the Introversion Original Bot that Robin Baumgarten ported over to the API is actually not even on par with the default AI in the Defcon. He claims it is "modelled after the original bot included in Defcon" but I don't think that is true. For one thing I've played dozens of games with the "Introversion Original Bot " .dll and never once will it launch any fighters or bombers from the airbase for any reason.. This alone puts it at a sever handicap .. there are many other smaller details too. I don't mean to sound ungrateful or anything, but it appears at this point the "Introversion Original Bot" is far weaker than even the default AI.

In this article here: http://aigamedev.com/open/articles/defcon-bots-api/ he mentioned toward the bottom:

"Also, the original AI from DEFCON will be ported, which can serve as a good starting point for modifications. "

I assume he's speaking of the Introversion Original Bot included here?: http://wwwhomes.doc.ic.ac.uk/~rb1006/_m ... t_v0.9.zip

Well the included API bot plays nothing like the real AI in-game.. its a pity because I was hoping to get my hands on some code that was actually stronger than the default AI and not far inferior to it!


UPDATE:

I also realized why Robin Baumgarten will not release the source code to his super smart AI bot that was mentioned in this thesis. That bot wasn't created with the API and instead created directly with the Defcon source code itself (access to stuff deep within Defcon) so therefore he cannot release the code to that bot.. Even so, I must say he kept mentioned of a 75% odds of winning to the default AI/CPU in Defcon.. Maybe it is just me, but I consider myself an absolute beginner player to defcon and even I can consistently beat the CPU in a many varieties of 1v1 play well over 75% of the time..

For all the talk and implementations of artificial neural network, Reinforcement Learning, Case-Based Reasoning, Simulated Annealing, Dynamic Scripting, Minimax Decision Trees, Influence Maps, Evolutionary Based Plan Generation, Metafleets algorithms, etc .. I would have thought it could beat the default AI CPU 99% of the time.. I'm sure most expert players could beat the default CPU more than 90% of the time on average.

Posted: Sun Jul 18, 2010 10:39 am
by trickser
The whole API thing sounds a bit more promising then its actually is. I guess, its an university project , which was abandoned when it exceeded its planed time frame. There are some flaws and bugs in the API as well, but at least it might actually be possible to write a bot with it.

Posted: Sun Jul 18, 2010 8:54 pm
by Ace Rimmer
Barbarossa wrote:I'm sure most expert players could beat the default CPU more than 90% of the time on average.

Any 'expert' player should be able to beat the CPU 100% of the time.

Posted: Sun Jul 18, 2010 10:00 pm
by Barbarossa
Ace Rimmer wrote:
Barbarossa wrote:I'm sure most expert players could beat the default CPU more than 90% of the time on average.

Any 'expert' player should be able to beat the CPU 100% of the time.


Yes you are probably right. I was just trying to be conservative on my estimate.. For games like Chess the new Rybka 4 engine can already literally beat 100% of humans 100% of the time.. But games like Defcon I don't think its possible to create a bot that defeats expert/elite players even more than 90% of the time. Even if everything was micromanaged to perfection, it would still lack high level strategy and intuitive tactics.. For example in Robin's thesis he talked about evolution based learning for the AI bot that he created. .. but based on the screenshots I still see the bot placing silos in a spread out manner.. I read somewhere they played like 26,000 different combinations of 30 1vs1 games on a group of computers over a period of a couple of days.. and even then it didn't "learn" to pack silos in six pack fashion or etc..

Posted: Sun Jul 18, 2010 11:34 pm
by xander
Barbarossa wrote:...and even then it didn't "learn" to pack silos in six pack fashion or etc..

Perhaps six packs are non-optimal? My understanding is that they do two things for human players (please feel free to correct me if I am wrong):
  1. six packs make it easier to synchronize launches so that nukes land together; and
  2. six packs provide more cover fire with which to protect themselves and any nearby cities or installations.

Point (1) is irrelevant to a bot, which could synch the landing of nukes no matter where they are launched from. If we knew the underlying code well enough, or could reverse engineer it, it would be relatively trivial to get six silo nukes 30 bomber nukes, and 12 sub nukes to all land at the same time. My understanding is that Ace is currently working out some of the details.

So then point (2) is the only reason to pack silos. But is this really an optimal strategy? Do silos shoot down enough nukes to justify clustering them, or do the clusters actually create a weakness, in that all of the silos are in one place, and more easily scouted? Silo clusters have proven to be very effective against a weak AI and against human players. This does not imply that they are the best solution when an optimized AI is playing.

xander

Posted: Mon Jul 19, 2010 8:11 pm
by smc
One comment - Robin's thesis was about machine learning. In order for the project to have any meaning he needed to start with a bot that was competitive with the existing CPU, but not dominant. Showing an increase in win rate from 50% to 75% is significant, from 99% to 99.5%, not so much.

Posted: Sat Sep 11, 2010 4:02 am
by chali
{spam}

Posted: Sat Sep 11, 2010 6:08 am
by ChemicalRascal
Can't we just ban this one already?

Posted: Sat Sep 11, 2010 3:39 pm
by xander
ChemicalRascal wrote:Can't we just ban this one already?

If you want a bot banned, then you need to report it to a moderator, by sending a private message. NeoThermic would be a good choice. When you report spam, make sure that you let others know that you have reported it, as well. Like this:

Reported.

xander

Posted: Sun Sep 12, 2010 12:52 am
by ChemicalRascal
Ah. I see.

Posted: Sun Jul 22, 2012 2:10 am
by OpenFlow
Actually, now that the source code is out, the Barbarossa is going to finally finish his bot. The incomplete API can be completed now.... and then some.

Posted: Sun Jul 22, 2012 11:31 pm
by xander
OpenFlow wrote:Actually, now that the source code is out, the Barbarossa is going to finally finish his bot. The incomplete API can be completed now.... and then some.

Unless you are Barbarossa, upon what authority can you conclude that he is going to finish the bot?

xander

Posted: Sun Jul 22, 2012 11:32 pm
by OpenFlow
xander wrote:
OpenFlow wrote:Actually, now that the source code is out, the Barbarossa is going to finally finish his bot. The incomplete API can be completed now.... and then some.

Unless you are Barbarossa, upon what authority can you conclude that he is going to finish the bot?

xander


Barbarossa = BGP = OpenFlow