Page 27 of 38
Re: Skirmish AI: E323AI 3.18.0
Posted: 23 Feb 2010, 13:55
by hoijui
that sounds like you played Core. Error fixed that, and the fix should be in 3.18.1 (i guess).
Re: Skirmish AI: E323AI 3.18.0
Posted: 23 Feb 2010, 14:01
by Error323
That is correct and 3.18.1 is located in the springinstaller :)
Re: Skirmish AI: E323AI 3.18.0
Posted: 26 Feb 2010, 13:27
by pingved
change your nickname please
Re: Skirmish AI: E323AI 3.18.0
Posted: 26 Feb 2010, 13:41
by Error323
Ehm what?
Re: Skirmish AI: E323AI 3.18.0
Posted: 26 Feb 2010, 13:49
by submarine
Hi,
I just ran a few tests with AAI vs E323AI and I'm really impressed how E323AI performs - very well done :)
I was wondering if E323AI is cheating or not. As a spectator it looks like E323AI always knows the exact positions of enemy units and calculates a path to avoid contact. Is that correct or do you have a sophisticated
scouting algorithm?
Re: Skirmish AI: E323AI 3.18.0
Posted: 26 Feb 2010, 14:19
by Error323
Hi Submarine,
Thanks! The AI does indeed cheat on the enemies location. This is how it constructs the threat/influence map which it then uses for the annoying but oh so effective rushes :). Its kind of its ability to micro.
Re: Skirmish AI: E323AI 3.18.0
Posted: 26 Feb 2010, 14:57
by submarine
Ok, that means you create a threat-map based on the positions of enemy units (and probably their combat power/weapons range etc.) which is then used to navigate assault units around enemy defences?
How often do you update/recalculate the paths of single units?
Re: Skirmish AI: E323AI 3.18.0
Posted: 26 Feb 2010, 18:08
by slogic
In code terms:
Code: Select all
void CPathfinder::CPathfinder() {
update = 0;
repathGroup = -1;
}
void CPathfinder::updateFollowers() {
unsigned groupnr = 0;
repathGroup = -1;
for (path = paths.begin(); path != paths.end(); path++) {
...
/* See who will get their path updated by updatePaths() */
if (update % paths.size() == groupnr)
repathGroup = path->first;
groupnr++;
}
}
void CPathfinder::updatePaths() {
update++;
if (groups.find(repathGroup) == groups.end())
return;
// repathing goes here for group repathGroup
}
updatePaths() and updateFollowers() are called each 10 frames. updateFollowers() is called next frame to updatePaths().
PS.
And path is updated immediately on assigning a task to non-busy group.
Re: Skirmish AI: E323AI 3.18.0
Posted: 27 Feb 2010, 16:34
by CerealKiller159
After a week or 2 of messing with cmake and gcc, I have finally gotten to the point where I can compile spring without something failing horribly.
I say that is pretty good considering I went from trying to compile the AI source code by itself with gcc -> Finally discovering cmake build variable to make a standard spring build (with about 15 assorted errors in between)
If you need someone to provide windows debug builds, or whatever, I could help if you told me what cmake options need to be changed, and what spring version to use, etc.
I think the AI is really reaching a mature point of being good at everything that it does, and I'm really excited to see more cool advanced tactics added in.
Re: Skirmish AI: E323AI 3.18.0
Posted: 28 Feb 2010, 06:06
by NightSky
Config file question: I took mod BA704 and added a new unit. I renamed the mod and loaded it.
When i try to run it with an E323AI bot, it says no usuable config file found. The renamed mod works with RAI and KAIK bots. I cannot find any other error msg other than no usable config. A template cfg file was generated with the new unit listed.
Any ideas what the problem could be.
Re: Skirmish AI: E323AI 3.18.0
Posted: 28 Feb 2010, 09:40
by hoijui
the config files are currently loaded by file-name of the mod.
there are two config files per mod, the error message tells you how hte file looks (the template), you should then copy the BA704 config file(s) over the created template files.
Re: Skirmish AI: E323AI 3.18.0
Posted: 28 Feb 2010, 14:41
by slogic
Some shit with BA 7.12 occured:
Code: Select all
[00:00] (WW): Could not open AI\Skirmish\E323AI\3.18.1\configs\6808a1c99bd99d6796470493cf070f3d-categorization.cfg for parsing
[00:00] (II): Generated categorizations E:\games\Spring\AI\Skirmish\E323AI\3.18.1\configs\6808a1c99bd99d6796470493cf070f3d-categorization.cfg
[00:00] (WW): Could not open AI\Skirmish\E323AI\3.18.1\configs\6808a1c99bd99d6796470493cf070f3d-config.cfg for parsing
[00:00] (II): New configfile created from E:\games\Spring\AI\Skirmish\E323AI\3.18.1\configs\template-config.cfg
AI does not recognize mod name. That is why manual copying will not work also.
PS. This issue could be in my master (development branch) only.
Re: Skirmish AI: E323AI 3.18.0
Posted: 28 Feb 2010, 15:57
by hoijui
looks like you are using rapid share mode of SpringDownloader, they use hashes as archive file names.
Re: Skirmish AI: E323AI 3.18.0
Posted: 28 Feb 2010, 17:37
by slogic
No, I downloaded BA manually. I have no idea why ai->cb->GetModName() returns a hash for BA 7.12. This is not the case of development version. Released 3.18.0 has same issue also.
Re: Skirmish AI: E323AI 3.18.0
Posted: 01 Mar 2010, 19:21
by jseah
I'm currently trying to make a config file for CA, which the AI refuses to play on, saying there is no suitable config file.
I've gone through it labeling the various energy structures EMAKER and TECHX thinking the AI might have died because of a lack of emakers, but the commanders still selfdestruct on start.
Any help?
DeltaSeige, ca-stable-6921, Vista
Re: Skirmish AI: E323AI 3.18.0
Posted: 01 Mar 2010, 21:11
by hoijui
sounds like it does not find the config file, which would mean your config files have the wrong names or are in the wrong folder.
btw, there is a compile error in current master:
Code: Select all
AI/Skirmish/E323AI/CTaskHandler.cpp:687: error: no matching function for call to 'CThreatMap::getThreat(float3, float)'
AI/Skirmish/E323AI/CThreatMap.h:21: note: candidates are: float CThreatMap::getThreat(float3&, float, ThreatMapType)
Re: Skirmish AI: E323AI 3.18.0
Posted: 01 Mar 2010, 21:35
by CerealKiller159
hoijui wrote:btw, there is a compile error in current master:
Code: Select all
AI/Skirmish/E323AI/CTaskHandler.cpp:687: error: no matching function for call to 'CThreatMap::getThreat(float3, float)'
AI/Skirmish/E323AI/CThreatMap.h:21: note: candidates are: float CThreatMap::getThreat(float3&, float, ThreatMapType)
Also, I dont know if it is just a gcc thing, but I get this, before getting the above error:
CPathfinder.cpp: In member function 'void CPathfinder::updateFollowers()':
CPathfinder.cpp:312: error: '::iterator' has not been declared
CPathfinder.cpp:312: error: '>>' should be '> >' within a nested template argument list
Adding the space fixes it, until the error hoiju mentioned pops up.
Re: Skirmish AI: E323AI 3.18.0
Posted: 01 Mar 2010, 21:40
by slogic
hoijui, prototype is
Code: Select all
float getThreat(float3 ¢er, float radius, ThreatMapType type = TMT_SURFACE);
So update your CThreatMap.h.
Re: Skirmish AI: E323AI 3.18.0
Posted: 01 Mar 2010, 22:15
by jseah
Silly me, I forgot to remove the Template line.
That said, when I tried to play coop with the AI, Spring crashed to desktop when I queued the commander to build a wind generator after the 2nd mex.
Tried 2AIs vs me + 1AI (all E323AI, core/arm each, I was arm).
The AI used raider kbots to raid (good) and spammed AA Kbots for the main attack groups (bad). I let my ally AI win for me after I built a bunch of turrets and sat back to optimize the economy. It came down to two armies of crashers/jethroes staring at each other while the raiders duked it out. Amusing. For one game maybe.
Both times were Delta Seige, CA6921.
EDIT: I checked, Crashers and Jethroes have ANTIAIR.
Re: Skirmish AI: E323AI 3.18.0
Posted: 01 Mar 2010, 22:50
by Zydox
Two new crashes with the 3.18.1 version.
Both fighting 3 humans (1 crappy) against four bots with 30% hcp (or 40%)
infolog, demo & bot logs
http://www.zydox.se/Crash.rar (9.3mb)