BAI

BAI

Here is where ideas can be collected for the skirmish AI in development

Moderators: hoijui, Moderators

User avatar
Petah
Posts: 426
Joined: 13 Jan 2008, 19:40

BAI

Post by Petah »

Update
Ive uploaded a replay of 3v3 BAI vs KAI: http://replays.adune.nl/?2474
Note: it is a bit unfair because KAI didn't build AA, and would have won otherwise.

Ive updated the git repository finally with all dependencies, check it out at: http://github.com/Petah/BAI. Ive tested it to be working on the current Spring release.

You can use any part of the under the Creative Commons Attribution License 3.0

If you are going to use the GUI I recommend you run spring in window mode.

Commands:
  • -showgui and -hidegui
  • -savesettings (save the current options to a file)
  • -hi (says hello world, to make sure the AI is still there)
  • -dir (display some debug information about the directories)
  • -allcheat (enables cheating, currently doesn't do anything)
Compiled download:
http://github.com/downloads/Petah/BAI/BAI.zip

Old
I started working on an AI as part of a university project last year.

At its peak the AI performed quite well and would beat every other AI at that point in time.
However since I have recently been employed I havenÔÇÖt had time to continue developing the AI. I plan to come back to it at some stage soon but we will have to wait and see when that is.

IÔÇÖm really just posting this topic to let people know that if they want to look at it they can.
I uploaded the AI to github: http://github.com/Petah/BAI

Some of the feature I was working on include:
  • Multithreading (including caching of most of Spring's data so it can be accessed on other threads)
  • GUI visualisation (including height maps, threat maps, target maps, movement islands, etc)
  • Real time adjustable JavaScript interface
  • Team cooperation
  • Multiple strategies (porc, rush, eco, etc)
  • Resource sharing
An interesting tactic I implemented at one point was in a 3v3 situation (one team being all BAI instances) one AI would concentrate on eco, another would rush tanks or kbots and the other would rush air and go for fast bombers. This in most cases would beat any other AI.

The last time any real work was done of this AI was November 2009.
I plan to continue work on this at a later stage, but in the mean time I thought I would announce the existence of the project.

The AI is specifically designed for BA only. This is because it is easier to develop an AI for one game than to develop a generic AI for multiple games.
It uses the Java AI interface.
Attachments
Pictures.rar
Images of BAI GUI
(1.37 MiB) Downloaded 148 times
Last edited by Petah on 20 May 2010, 10:30, edited 8 times in total.
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Re: BAI

Post by AF »

I was toying with naming shard BAI lol

Liking the visualisations ^_^
User avatar
hoijui
Former Engine Dev
Posts: 4344
Joined: 22 Sep 2007, 09:51

Re: BAI

Post by hoijui »

i would like to try it and possibly keep up to date (not more then keeping it compiling and running with spring master), but it fails to compile:
http://pastebin.com/ZtsFVDWh
looks like it is missing org.petah.common.*. could you possibly add that right into src/ as well?
did not look through all the errors, but that might be the only problem.
User avatar
Petah
Posts: 426
Joined: 13 Jan 2008, 19:40

Re: BAI

Post by Petah »

hoijui wrote:i would like to try it and possibly keep up to date (not more then keeping it compiling and running with spring master), but it fails to compile:
http://pastebin.com/ZtsFVDWh
looks like it is missing org.petah.common.*. could you possibly add that right into src/ as well?
did not look through all the errors, but that might be the only problem.
Ill try and upload that library later tonight.
User avatar
manolo_
Posts: 1370
Joined: 01 Jul 2008, 00:08

Re: BAI

Post by manolo_ »

didnt know this AI, but we should make a contest for the best AI - with several matches on several maps and a *A-mod, i think this could motivate the AI-maker and it would honor their great work
User avatar
hoijui
Former Engine Dev
Posts: 4344
Joined: 22 Sep 2007, 09:51

Re: BAI

Post by hoijui »

we have software for exactlz this purpose, manolo.
hugh wrote it, it includes a headless spring (optional), and an AI ladder system, with game scheduling and result sites, and a small script to let run on hte machine(s) which actually run the games.
it can run games at 120x speed, and ...
search for AI Ladder in this forum.
User avatar
manolo_
Posts: 1370
Joined: 01 Jul 2008, 00:08

Re: BAI

Post by manolo_ »

hoijui wrote:we have software for exactlz this purpose, manolo.
hugh wrote it, it includes a headless spring (optional), and an AI ladder system, with game scheduling and result sites, and a small script to let run on hte machine(s) which actually run the games.
it can run games at 120x speed, and ...
search for AI Ladder in this forum.
yeah i thought i heard something about this, but it should be promoted a lot more, like manoloAI - winner of spring ai cup 2010 or something liek that
User avatar
hoijui
Former Engine Dev
Posts: 4344
Joined: 22 Sep 2007, 09:51

Re: BAI

Post by hoijui »

the thing is, that we have the software, but nobody is running it, so there is nothign to promote. run it, maintain it, promote it. if you have no server, organize one (someone in the community always has a bit of spare space and CPU time they can donate), and set it up.
in short, it does not need dev experience and most likely no money, only time. if you can not supply that ...
you know.
User avatar
Gota
Posts: 7151
Joined: 11 Jan 2008, 16:55

Re: BAI

Post by Gota »

Keep working on it.
User avatar
Jazcash
Posts: 5309
Joined: 08 Dec 2007, 17:39

Re: BAI

Post by Jazcash »

Is this BAI as in Byeeee! Or BAI as in Balanced Annihilation I! Or both!?
User avatar
JohannesH
Posts: 1793
Joined: 07 Apr 2009, 12:43

Re: BAI

Post by JohannesH »

JAZCASH wrote:Is this BAI as in Byeeee! Or BAI as in Balanced Annihilation I! Or both!?
My guess would be "balanced artificial intelligence"
User avatar
Petah
Posts: 426
Joined: 13 Jan 2008, 19:40

Re: BAI

Post by Petah »

BAI = Balanced Annihilation AI
User avatar
Jazcash
Posts: 5309
Joined: 08 Dec 2007, 17:39

Re: BAI

Post by Jazcash »

Petah wrote:BAI = Balanced Annihilation AI
Wouldn't that be BAAI? :P

Btw, the poll is broken for me so I'll just state here that I think you should keep developing this AI.
User avatar
hoijui
Former Engine Dev
Posts: 4344
Joined: 22 Sep 2007, 09:51

Re: BAI

Post by hoijui »

still missing the stuff.
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Re: BAI

Post by AF »

It's a very good thing to have on your CV, especially if your applying for universities. It's a good primer for other kinds of coding.

I say continue development! If it gets too much you can always put it aside and come back later!
User avatar
Neddie
Community Lead
Posts: 9406
Joined: 10 Apr 2006, 05:05

Re: BAI

Post by Neddie »

For some reason I can't respond to any polls. Anyway, in your position I would continue to develop it.
User avatar
Jazcash
Posts: 5309
Joined: 08 Dec 2007, 17:39

Re: BAI

Post by Jazcash »

neddiedrow wrote:For some reason I can't respond to any polls. Anyway, in your position I would continue to develop it.
Same, polls are broken.
User avatar
hughperkins
AI Developer
Posts: 836
Joined: 17 Oct 2006, 04:14

Re: BAI

Post by hughperkins »

hoijui wrote:the thing is, that we have the software, but nobody is running it, so there is nothign to promote. run it, maintain it, promote it. if you have no server, organize one (someone in the community always has a bit of spare space and CPU time they can donate), and set it up.
in short, it does not need dev experience and most likely no money, only time. if you can not supply that ...
you know.
It can be run off Amazon EC2 instances too, which are really cheap per hour, like 9 cents an hour or something ridiculous.

A bit pricey to keep an instance running all the time, but the theory is that you can schedule a bunch of matches, start your own EC2 instance, leave it running for a few hours, then shut it down.

I also became employed, so highly unlikely to have much time to do any new development for the foreseeable future.

Edit:

Relevant threads are:

AILadder: http://springrts.com/phpbb/viewtopic.php?f=15&t=20358
SpringGrid: http://springrts.com/phpbb/viewtopic.php?f=15&t=20830

SpringGrid runs games on botunner servers, eg on an Amazon EC2 instance.

You feed it match requests, AIs, maps and so on, and it pumps out results.

AILadder can take a bunch of AIs, and request appropriate matches from SpringGrid, to figure out which AI is the best.
cranphin
Posts: 136
Joined: 13 Jun 2005, 16:37

Re: BAI

Post by cranphin »

Sweet, looks pretty interesting, and it's Java :D

I ported KAIK to java from c++, so I'm pretty sure I can get it up and running on current Spring :)
But, it seems that atleast the common package is missing ? :D
And the Metalmaker seems to be commented out entirely ^.^

Would be fun to run it against hoijui's pureint branch too :)

Hey, how do you feel about someone stealing bits of code btw. ? ;)
Not saying that I would ^.^

I'd be quite interested to get it up and running tho, even if just to pit it against my kaik port :)

But I miss bits, help? ^_^

Oh, P.S. the poll seems broken :D Doubt you can do anything about it tho :)
I'm sure it would be 100% yes tho ^_^

And also, if you're interested I could try and keep the code up to date with current Spring, since I'm mucking about with my own Java ai port frankenstein thing anyways, and it shouldn't be too hard to keep a second source tree updated :)
User avatar
Forboding Angel
Evolution RTS Developer
Posts: 14673
Joined: 17 Nov 2005, 02:43

Re: BAI

Post by Forboding Angel »

Petah wrote:BAI = Balanced Annihilation AI
You fail at naming.

BAI is Bloodthirsty AI. Conceived for ota by BraveSirRobin and feared by the entire ota community to this day.

BAAI, doesn't inspire the same level of fear.
Post Reply

Return to “AI”