Page 5 of 38
Re: A new artificial intelligent opponent - E323AI
Posted: 29 Aug 2009, 12:56
by Error323
Agon wrote:I updated the rpm package with your latest source and it works great with XTA. But I started CA for a fast testing (it was selected before) and it crashed directly after the start. I dont think it is a good idea to crash on an Mod which it does not support. Maybe its related to CA only I dont know.
Hey Agon,
Thanks for the rpm update!! About the crash in CA (or any mod not being BA or XTA) here is the problem: It is a truly daunting task to test for every mod after each feature/bugfix I make.
For most mods however, the crashes are a result of the
inaccurate generated configfiles which a skilled player needs to update for that mod. So you can try to compare it to the BA/XTA config files and see where it messes up.
Re: A new artificial intelligent opponent - E323AI
Posted: 29 Aug 2009, 12:59
by Error323
Umrug wrote:xyz - you have to copy .lua files from "2.81\data" folder to "281\" folder so lobby can see them
I can't f@#$ing believe that. It currently plays better then 1/2 of silver star players imo. I'm stunned. You didn't just solve economy problem, you solved it in a way that gives AI advantage over human players!!! (I'm talking about wait commands to assisting com)
Tested on 3 maps - crossing4final, darkside, altair (why those maps btw? I notice that AI's usually perform well on them). E323AI crashed quite fast on crossing4final and altair, on darkside it raped RAI like a baby.
So, solve the crash (i couldn't find some clear reason for it, the logs end in "[CTaskHandler::remove] remove task BUILD(#)"), release new version, and have fame forever.
Ah, yeah, and the .lua files should be in version dir as mentioned above.
YAY.
I believe I have solved the crash now (it works on crossing4final). And fixed the data/ directory issue. I will do some more testing and then publish a new version. Also, you made my day :D
Griffith wrote:AIOptions and AIInfo are in C:\Program Files\Spring\AI\Skirmish\E323AI\2.81\data in the version 2.81.
I put them in C:\Program Files\Spring\AI\Skirmish\E323AI\2.81 like it was in 2.54 and it works
Very good AI, nice work Error323

Thanks!
Re: A new artificial intelligent opponent - E323AI
Posted: 29 Aug 2009, 14:23
by FaerieWithBoots
Something else wich you might look into is that the AI doesnt take the metal map into account when placing non-metal extractors. I have seen it build windmills/solars/labs on metal spots by accident. (in the provided screen shot it wasnt a problem, but on maps with smaller mex-radius it is)
Another thing. Sometimes on darkside remake the AI builds a mex and does nothing anymore afterwards. I have no idea where this behaviour comes from. Also, on darksideremake, it builds 3 solars before starting its lab.(and wasting a lot of E in that time) I thought this behaviour was imposible with your new economy model.
keep up the good work and hope these remarks are of use to you.
Re: A new artificial intelligent opponent - E323AI
Posted: 29 Aug 2009, 15:31
by Smiff
hi this is really promising, saw it play great once, however it nearly always crashes when we're trying to play (1 or 2 humans vs 1 of these bots). approx 2-4 minutes into the game, on the first action really.
here is the end of the log, does this help at all?
spring v0.80.2, bot ver 2.81 (both current)
WinXP SP2
happens similarly on two computers.
Code: Select all
[ 5811] Spring 0.80.2.0 (0.80.2-0-ged79d6b{@}-cmake-mingw32) has crashed.
[ 5811] Exception: Access violation (0xc0000005)
[ 5811] Exception Address: 0x17b10f1c
[ 5811] DLL information:
[ 5811] 0x00400000 spring
[ 5811] 0x7c900000 ntdll
[ 5811] 0x7c800000 kernel32
[ 5811] 0x10000000 DevIL
[ 5811] 0x77c10000 MSVCRT
[ 5811] 0x003e0000 ILU
[ 5811] 0x77dd0000 ADVAPI32
[ 5811] 0x77e70000 RPCRT4
[ 5811] 0x77fe0000 Secur32
[ 5811] 0x68b20000 GLU32
[ 5811] 0x5ed00000 OPENGL32
[ 5811] 0x77f10000 GDI32
[ 5811] 0x7e410000 USER32
[ 5811] 0x73760000 DDRAW
[ 5811] 0x73bc0000 DCIMAN32
[ 5811] 0x76c90000 IMAGEHLP
[ 5811] 0x6fbc0000 mingwm10
[ 5811] 0x7c9c0000 SHELL32
[ 5811] 0x77f60000 SHLWAPI
[ 5811] 0x71ab0000 WS2_32
[ 5811] 0x71aa0000 WS2HELP
[ 5811] 0x6e940000 libgcc_s_dw2-1
[ 5811] 0x01ba0000 SDL
[ 5811] 0x76b40000 WINMM
[ 5811] 0x7c340000 MSVCR71
[ 5811] 0x66fc0000 freetype6
[ 5811] 0x61b80000 zlib1
[ 5811] 0x6ed80000 glew32
[ 5811] 0x6b180000 vorbisfile
[ 5811] 0x63e00000 vorbis
[ 5811] 0x01bf0000 ogg
[ 5811] 0x01c10000 OpenAL32
[ 5811] 0x773d0000 comctl32
[ 5811] 0x5d090000 comctl32
[ 5811] 0x5ad70000 uxtheme
[ 5811] 0x02b40000 YzShadow
[ 5811] 0x02d50000 RocketDock
[ 5811] 0x76bf0000 PSAPI
[ 5811] 0x02f90000 taekwindowhooks
[ 5811] 0x69500000 nvoglnt
[ 5811] 0x76c30000 WINTRUST
[ 5811] 0x77a80000 CRYPT32
[ 5811] 0x77b20000 MSASN1
[ 5811] 0x72d20000 wdmaud
[ 5811] 0x72d10000 msacm32
[ 5811] 0x77be0000 MSACM32
[ 5811] 0x77bd0000 midimap
[ 5811] 0x774e0000 ole32
[ 5811] 0x73f10000 dsound
[ 5811] 0x77c00000 VERSION
[ 5811] 0x76fd0000 CLBCATQ
[ 5811] 0x77050000 COMRes
[ 5811] 0x77120000 OLEAUT32
[ 5811] 0x73ee0000 KsUser
[ 5811] 0x04450000 wrap_oal
[ 5811] 0x71a50000 mswsock
[ 5811] 0x662b0000 hnetcfg
[ 5811] 0x71a90000 wshtcpip
[ 5811] 0x61a40000 AIInterface
[ 5811] 0x17af0000 SkirmishAI
[ 5811] 0x59a60000 DBGHELP
[ 5811] Stacktrace:
[ 5811] (0) E:\Games\spring_0.80.2\AI\Skirmish\E323AI\2.81\SkirmishAI.dll [0x17B10F1C]
[ 5811] (1) E:\Games\spring_0.80.2\AI\Skirmish\E323AI\2.81\SkirmishAI.dll [0x17B043FF]
[ 5811] (2) E:\Games\spring_0.80.2\AI\Skirmish\E323AI\2.81\SkirmishAI.dll [0x17AF2AB2]
[ 5811] (3) E:\Games\spring_0.80.2\AI\Skirmish\E323AI\2.81\SkirmishAI.dll(handleEvent+0xda) [0x17B019AA]
[ 5811] (4) E:\Games\spring_0.80.2\spring.exe [0x0083AFF6]
[ 5811] (5) E:\Games\spring_0.80.2\spring.exe(skirmishAiCallback_Unit_CurrentCommand_getTag+0xbbca) [0x008586AA]
[ 5811] (6) E:\Games\spring_0.80.2\spring.exe [0x008688E9]
[ 5811] (7) E:\Games\spring_0.80.2\spring.exe(skirmishAiCallback_Unit_CurrentCommand_getTag+0xf798) [0x0085C278]
[ 5811] (8) E:\Games\spring_0.80.2\spring.exe [0x00406A76]
[ 5811] (9) E:\Games\spring_0.80.2\spring.exe [0x0041FFAD]
[ 5811] (10) E:\Games\spring_0.80.2\spring.exe [0x0042398C]
[ 5811] (11) E:\Games\spring_0.80.2\spring.exe [0x007E75EA]
[ 5811] (12) E:\Games\spring_0.80.2\spring.exe [0x007EE3E7]
[ 5811] (13) E:\Games\spring_0.80.2\spring.exe [0x007E6415]
[ 5811] (14) E:\Games\spring_0.80.2\spring.exe [0x007E68E6]
[ 5811] (15) E:\Games\spring_0.80.2\spring.exe [0x0086AEE8]
[ 5811] (16) E:\Games\spring_0.80.2\spring.exe [0x0040124B]
[ 5811] (17) E:\Games\spring_0.80.2\spring.exe [0x004012B8]
[ 5811] (18) C:\WINDOWS\system32\kernel32.dll(RegisterWaitForInputIdle+0x49) [0x7C816FD7]
edit: sorry, this is XTAPEV9585, on SmallDivide
Re: A new artificial intelligent opponent - E323AI
Posted: 29 Aug 2009, 15:55
by Error323
What map and mod was this? And how many players were ingame exactly? I've only tested 1v1's.
Re: A new artificial intelligent opponent - E323AI
Posted: 29 Aug 2009, 18:08
by Error323
UPDATE v2.83 Sat Aug 29 17:58:53 CEST 2009
Version 2.83 (Ultralisk) is out, changelog:
- Fusions baby!
- Idle worker fix (though sometimes still happens, due to buildpos blocked which I cannot detect)
E323AI SO/DLL:
E323AI-Ultralisk-v2.83
E323AI SRC:
E323AI@github
!!Update those configfiles!!
Here are the remaining issues that I know of:
- Tech 2 engagement requires massive army with current model
- Enemy units on the very edge of the map are not detected
- Sometimes combat units stop attacking and are idle
- Sometimes the commander walks (temporarily) to the upperleft (zerovector)
Ps. I've been crosscompiling the windows DLL myself so please let me know if it worked :)
Re: A new artificial intelligent opponent - E323AI
Posted: 29 Aug 2009, 21:32
by Smiff
just tried the new ver and it played really well.. for a few minutes, then it crashed. :/ here's the log:
http://pastebin.com/m5f3e18f4
thanks.
i see you're not running windows? which is probably something to do with why you're not seeing this?.. i'd love to see this bot complete a round, the start is very promising :)
Re: A new artificial intelligent opponent - E323AI
Posted: 30 Aug 2009, 23:19
by Error323
Hi Smiff,
The pastebin isn't very usefull unfortunatly, all it tells me is that it crashed somewhere in E323AI

. What map / mod did you play? I'm now working on a much more extensive logging system which will help me debug in the future when people attach it.
Re: A new artificial intelligent opponent - E323AI
Posted: 30 Aug 2009, 23:27
by imbaczek
if you build with debug symbols and use strip --only-keep-debug, you can use addr2line locally for crash debugging. that's how buildserv works btw.
Re: A new artificial intelligent opponent - E323AI
Posted: 30 Aug 2009, 23:35
by Error323
Ah thnx, so the pastebin is usefull afterall then.
Though wouldn't that require me to have windows? Or can I debug dll's like that on linux?
Re: A new artificial intelligent opponent - E323AI
Posted: 30 Aug 2009, 23:46
by imbaczek
you should be able to use normal addr2line, or at least the one that comes with mingw. buildserv runs on linux and it does this, so it's 100% possible.
Re: A new artificial intelligent opponent - E323AI
Posted: 31 Aug 2009, 00:55
by Smiff
thanks guys..
the map/mod info is in the pastebin log
i'll be happy to test windows builds when you have the new logging in.. i am surprised no one else has reported this problem since its easy to recreate (actually impossible not to, for me unfortunately - i get a crash every time i play. but i've only tried BA and XTA, and a few common maps). my systems are otherwise stable. this bot could be the best thing to come along for Spring in many months so please keep at this!
Re: A new artificial intelligent opponent - E323AI
Posted: 31 Aug 2009, 10:57
by Umrug
Saw excellent games vs other ais and me in 80.2, today will make and upload config for BA, and test in 80.4
Re: A new artificial intelligent opponent - E323AI
Posted: 31 Aug 2009, 16:57
by xyz
Smiff wrote:i am surprised no one else has reported this problem since its easy to recreate (actually impossible not to, for me unfortunately - i get a crash every time i play. but i've only tried BA and XTA, and a few common maps).
Well, what's the point of flooding this thread with the same bug report copied over and over again? It is crashing for me also with the same log.
As for the AI, grate job, the only thing i don't like about it (and the other ai's) is that it is cheating (it knows the position of the enemies without exploring first, or building a radar) and that is annoying. And also for now it doesn't spend any resources on defense, so if you just build a LLD to defend your base and then just send some scouts and destroy its energy the AI will lock, it will stop building anything.
Thanks again.
Re: A new artificial intelligent opponent - E323AI
Posted: 31 Aug 2009, 17:08
by Error323
Hey,
Ok that crash will be fixed, does that also happen with a previous version? Or just the latest?
As for the cheating, let me assure you that a non cheating AI won't be fun at all

. I'd work on that when I can create an invincible cheating AI (except cheating on resources, that's well... too easy).
About the defense, this is TODO and will be in the next major release. First, however all bug fixes such that it is completely stable with respect to BA and XTA.
Re: A new artificial intelligent opponent - E323AI
Posted: 31 Aug 2009, 20:42
by Smiff
i have been trying this AI from only v2.5x to 2.83 and found them similar crash-wise.
(sorry if the issue was already reported, i only skimmed the thread and didn't see it in known issues which got me worried!).
good to hear you want it stable before more features :)
Re: A new artificial intelligent opponent - E323AI
Posted: 31 Aug 2009, 21:00
by Achilla
Hi, will you be looking into compatibility of mods such as CA, AA and NOTA later or is it BA/XTA-centric AI? Other than that I will be very glad to try it out, when it gets more stable.
Otherwise, I have a few questions since this AI got me interested:
a) how does the AI compose it's land army under BA? Does it produce useless AA land units who can't hit ground units when enemy has no air units, or does it switch to build some AA units when that happens?
b) how are the air attacks of the AI? Do they accompany land/sea army or just pick random targets at random times? Or maybe there are too few air units and it needs a boost?
c) is AI aggressive at sea with hovercraft and ships? Does it get the balance right between AA ships, submarines and artillery ones?
Re: A new artificial intelligent opponent - E323AI
Posted: 31 Aug 2009, 23:10
by AF
Error323 wrote:As for the cheating, let me assure you that a non cheating AI won't be fun at all

. I'd work on that when I can create an invincible cheating AI (except cheating on resources, that's well... too easy).
You cannot claim you can beat all other AIs at XTA or any mod because your AI cheats, and other AIs do not cheat or do not cheat to the same extent.
Re: A new artificial intelligent opponent - E323AI
Posted: 01 Sep 2009, 00:01
by Smiff
please don't worry too much about how the AI plays against other AIs.. how it plays against humans is more interesting, and important (i think). testing against other AIs might even be counter-productive? (since they themselves play so unlike humans).
Re: A new artificial intelligent opponent - E323AI
Posted: 01 Sep 2009, 07:45
by yuritch
AFAIK AAI does not cheat, at all. And I can't say it's not fun.
As for E323AI and other mods: I tried to run it with my mod (tweaking the config by hand). It kind of works. As in AI builds 1 mex and stops. When I manually took over and ordered an energy structure and a factory built, it resumed operation (factory started producing units, con units went out to cap metal, etc.), but it never attempted to build any more base structures except storage and mexes, and all the mobile units built were of only 2 types - a combat unit (cheapest one at the factory) and a con unit, despite the factory having more unit types available. Of course AAI had beaten it under those conditions, even without cheating. I can provide the mod and config files if you like so you can see that for yourself.
As none of my units are from OTA (BA, XTA, CA, etc.), this kind of proves that the AI can in theory play other mods, but it needs some more work.