Page 1 of 3

BAI

Posted: 25 Mar 2010, 14:45
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.

Re: BAI

Posted: 25 Mar 2010, 18:21
by AF
I was toying with naming shard BAI lol

Liking the visualisations ^_^

Re: BAI

Posted: 25 Mar 2010, 19:13
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.

Re: BAI

Posted: 25 Mar 2010, 19:44
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.

Re: BAI

Posted: 26 Mar 2010, 08:07
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

Re: BAI

Posted: 26 Mar 2010, 10:01
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.

Re: BAI

Posted: 26 Mar 2010, 10:18
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

Re: BAI

Posted: 26 Mar 2010, 10:25
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.

Re: BAI

Posted: 26 Mar 2010, 12:30
by Gota
Keep working on it.

Re: BAI

Posted: 26 Mar 2010, 13:58
by Jazcash
Is this BAI as in Byeeee! Or BAI as in Balanced Annihilation I! Or both!?

Re: BAI

Posted: 26 Mar 2010, 16:19
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"

Re: BAI

Posted: 29 Mar 2010, 01:57
by Petah
BAI = Balanced Annihilation AI

Re: BAI

Posted: 29 Mar 2010, 10:17
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.

Re: BAI

Posted: 29 Mar 2010, 10:46
by hoijui
still missing the stuff.

Re: BAI

Posted: 29 Mar 2010, 12:21
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!

Re: BAI

Posted: 05 Apr 2010, 20:36
by Neddie
For some reason I can't respond to any polls. Anyway, in your position I would continue to develop it.

Re: BAI

Posted: 05 Apr 2010, 20:45
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.

Re: BAI

Posted: 06 Apr 2010, 07:23
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.

Re: BAI

Posted: 07 Apr 2010, 18:54
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 :)

Re: BAI

Posted: 09 Apr 2010, 03:09
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.