AI Ladder, 0.5 - Page 17

AI Ladder, 0.5

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

Moderators: hoijui, Moderators

User avatar
hughperkins
AI Developer
Posts: 836
Joined: 17 Oct 2006, 04:14

Re: AI Ladder, 0.5

Post by hughperkins »

Anyway, very little is going to change without some active botrunners ;-)
User avatar
hughperkins
AI Developer
Posts: 836
Joined: 17 Oct 2006, 04:14

Re: AI Ladder, 0.5

Post by hughperkins »

Hey hoijui, just saw there are looooaddd of commits from you to springheadless over the last few days. Cool!
User avatar
hoijui
Former Engine Dev
Posts: 4344
Joined: 22 Sep 2007, 09:51

Re: AI Ladder, 0.5

Post by hoijui »

:D
thanks.. but well.. its really nothing compared to what you did in the same time on the AI Ladder, good work there! also, part of my commits are actually from aegis, he jsut gave em to me for committing (the big stubs adjustment commit eg).

am currently working on the Java AI Interface more again
User avatar
hughperkins
AI Developer
Posts: 836
Joined: 17 Oct 2006, 04:14

Re: AI Ladder, 0.5

Post by hughperkins »

Just for info, aegis and I are working on getting the botrunners running on his cluster at the moment, and there are lots of bugs that need fixing in the botrunner code ;-) so the springgrid git master repository is rather unstable at the moment ;-) I'll update this thread once it's stabilized, with what's changed/fixed.
User avatar
hughperkins
AI Developer
Posts: 836
Joined: 17 Oct 2006, 04:14

Re: AI Ladder, 0.5

Post by hughperkins »

aegis and I got a couple of botrunners working on aegis' cluster.

There are a bunch of bugfixes and feature enhancements in springgrid git master from that:
- replay filename is determined now by looking at infolog
- infolog is now uploaded, and available from the springgridstaging website
- we had to hack the name of the replay since it is wrong in infolog if spring crashes :-O
- a few stability enhancements to botrunner, some crash bug fixes

http://manageddreams.com/springgridstag ... results.py
User avatar
KaiserJ
Community Representative
Posts: 3113
Joined: 08 Sep 2008, 22:59

Re: AI Ladder, 0.5

Post by KaiserJ »

out of curiousity, how hard would it be to implement something like "flashspam AI" or "rocket truck AI" or "comdrop AI" ?

or an AI that randomly picks between the three?
User avatar
hoijui
Former Engine Dev
Posts: 4344
Joined: 22 Sep 2007, 09:51

Re: AI Ladder, 0.5

Post by hoijui »

KaiserJ:
even doh this is totally the wrong thread for your question ;-) ...
it would be very easy (if what i think these AIs do is correct).
You can send a (Cheat-)Command to the AI callback to create a unit, then give a move command to the unit.
for hte switching, you could make an AI Option with a list item that lets you select between the three, though you could also make 3 different ones.
User avatar
hughperkins
AI Developer
Posts: 836
Joined: 17 Oct 2006, 04:14

Re: AI Ladder, 0.5

Post by hughperkins »

KaiserJ wrote:out of curiousity, how hard would it be to implement something like "flashspam AI" or "rocket truck AI" or "comdrop AI" ?

or an AI that randomly picks between the three?
HughAI allows this. I assume others do too. At least , it's possible to create two workflows, one for flashspam, and one for rocket truck spam, and it can choose randomly between them.

comdrop would need a dedicated/specialized control module, which I would have to write, or you could write, or someone could write. In any case, that module doesn't exist in HughAI at this point ;-)
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Re: AI Ladder, 0.5

Post by AF »

NTai and XAI could do that too
User avatar
hughperkins
AI Developer
Posts: 836
Joined: 17 Oct 2006, 04:14

Re: AI Ladder, 0.5

Post by hughperkins »

Updates to git/ staging websites

Spring grid

Reminder: Spring Grid is in charge of managing the match request queue for the botrunners, handing out requests to the botrunners, and storing the results. It is now separate from AILadder.

Changes:

Visible:
- search and replaced 'ailadder' replaced with 'springrid'

Under the hood:
- added 'mapexists' and 'modexists' methods to api_webservice
- added unique constraints to tables (in git only, not patched into tables on staging website yet)
- added non-null constraints to tables (in git only, not patched into tables on staging website yet)

aegis has two botrunners on his cluster that have been up since yesterday, and seem stable. He's got them in a try... except loop, so if they do crash, they should restart automatically again (and crash again most likely ;-) but still, for now: they are up!)

http://manageddreams.com/springgridstag ... runners.py

AILadder

Reminder: AILadder no longer manages botrunners. Or maps, or mods. It just proxies requests about those through to the configured spring grid website, which you can now see at the bottom of each web-page.

AILadder manages handing requests to Spring Grid to pit ais in controlled battles each other, and interpret the results.

Changes:

Visible:
- added link to springgrid that is being used at the bottom of each page
- added viewconfig page ('View Global Configuration')
- added viewoptions page -> can create new AIOptions now
- league match scheduler takes into account league and ai options now:
-- only AIs with at least the same options as a league will play in that league
- added link to schedule matches to hte bottom of 'view request counts per league page'
- view request counts per league page now show both the request counts and the finished counts
- match scheduler migrated to use springgrid, and works again now

Under the hood:
- added unique constraints to tables (in git only, not patched into tables on staging website yet)
- added non-null constraints to tables (in git only, not patched into tables on staging website yet)

http://manageddreams.com/ailaddergrid/s ... malldivide

Addendum:
- ok, results of those matches are in:
-- both KAIK and RAI completed their matches successfully
-- KAIK beat RAI consistently
- need some more AIs really, otherwise it's not really interesting :-D
- candidate AIs:
-- E323AI .... but need to be able to distinguish between 'cheating' and 'non-cheating' AIs otherwise it's not really fair.
-- Java AIs
-- add functionality so AI devs can register AIs themselves
Last edited by hughperkins on 26 Oct 2009, 05:22, edited 1 time in total.
User avatar
aegis
Posts: 2456
Joined: 11 Jul 2007, 17:47

Re: AI Ladder, 0.5

Post by aegis »

where can I get the other AIs?
User avatar
hughperkins
AI Developer
Posts: 836
Joined: 17 Oct 2006, 04:14

Re: AI Ladder, 0.5

Post by hughperkins »

aegis wrote:where can I get the other AIs?
Well, there is a sticky here:

http://springrts.com/phpbb/viewtopic.php?f=15&t=19583

Hmmm, doesn't seem terribly 'sticky' any more.... but it exists.

Edit, by the way, to schedule matches:
- go to http://manageddreams.com/ailaddergrid
- login (admin/admin)
- go to 'Coniguration' | 'View AIs'
- for each AI that you want to participate in the current leagues, click on it, and add the 'operationalai' option (this is to distinguish them from the various nullais available)
- go to 'Runner' | 'View request counts per league' (need to rename that really...)
- select 'ba704 on comet catcher' or 'ba704 on smalldivide', and 'reload'
- at the bottom of the form, click on 'click here to schedule matches'

The match scheduling doesn't use multicall, so it makes one xmlrpc request per match, so it thinks about it for a while, but it gets there in the end, and if it times out, just F5 until it finishes completely.
User avatar
hughperkins
AI Developer
Posts: 836
Joined: 17 Oct 2006, 04:14

Re: AI Ladder, 0.5

Post by hughperkins »

You know, someone could create a site, or a client app, that pumps through a series of requests like:

Code: Select all

for each ai:
   for each mod:
      for each map:
          for i in xrange(5):
             play( ai vs itself, mod, map)
... and that would provide runs/doesn't run data that could feed into something for this thread:

http://springrts.com/phpbb/viewtopic.php?f=12&t=20546

Edit: most likely, a site, and the site can provide:
- a webpage to run any new AIs through (needs authentication etc)
- a downloadable xml file that contains a list of working mod/map/ai combinations (that the lobby could use)
- a webpage that shows for each ai (selectable from a dropdown for example), the maps and mods that work for it
User avatar
aegis
Posts: 2456
Joined: 11 Jul 2007, 17:47

Re: AI Ladder, 0.5

Post by aegis »

I was suggesting you do a similar thing with springgrid when I said to focus on making a really good interface for running matches :P
User avatar
hughperkins
AI Developer
Posts: 836
Joined: 17 Oct 2006, 04:14

Re: AI Ladder, 0.5

Post by hughperkins »

Yes.... Hmm, we should probably think about splitting this thread into two: this thread stays AILadder, and we create a new thread for SpringGrid. Not sure where to put the thread though. In AI? Development? Somewhere else?
User avatar
hughperkins
AI Developer
Posts: 836
Joined: 17 Oct 2006, 04:14

Re: AI Ladder, 0.5

Post by hughperkins »

Created a dedicated springgrid thread here:

http://springrts.com/phpbb/viewtopic.php?f=15&t=20830
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Re: AI Ladder, 0.5

Post by AF »

*bump to prevent forum burial*
Post Reply

Return to “AI”