NTai XE10.1b - Page 72

NTai XE10.1b

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

Moderators: hoijui, Moderators

User avatar
DJ
Posts: 355
Joined: 17 Jan 2007, 13:26

Post by DJ »

I tried it with netbeans running the Mingw make and that's what gave me the error. I think i'm missing some packages or something cos the make file also had errors in it for making directories and stuff, alot of it was linux syntax.
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

If you goto properties it is likely to show lots of folder paths specific to my machine which need changing.

Perhaps I should make an AI sdk by taking the appropriate classes out of the spring engine and packaging them up so all that's needed is an AI.h
User avatar
DJ
Posts: 355
Joined: 17 Jan 2007, 13:26

Post by DJ »

I changed all the paths in the config XML file, its not netbeans which is the problem its the actual mingw make program on my pc as it gives the same error from the command line.

Loads of people reported the error on google but i can't find any solution, it looks like

Running "make -f Makefile CONF=Debug"

! Unexpected
make: *** [.validate-impl] Error 127
Build failed. Exit value 2.

like I said i'm a total noob at this so chances are i'm doing something insanely stupid

An SDK would be quality, i'd like to be able to add simple stuff like that patrol keyword for nano towers...
User avatar
1v0ry_k1ng
Posts: 4656
Joined: 10 Mar 2006, 10:24

Post by 1v0ry_k1ng »

im confused, because sometimes the ultra spikes dont occour, then other times they attack for massive damage
User avatar
DJ
Posts: 355
Joined: 17 Jan 2007, 13:26

Post by DJ »

hmmmm look at things that don't occur that often todo with building like solo and single builds, is there any pattern?
imbaczek
Posts: 3629
Joined: 22 Aug 2006, 16:19

Post by imbaczek »

I tried profiling, unfortunately the only function that shows up is _DTOR_LIST__, which doesn't say a lot.

I'll try a full profiling build.
User avatar
zwzsg
Kernel Panic Co-Developer
Posts: 7052
Joined: 16 Nov 2004, 13:08

Post by zwzsg »

Well, turns out the version you gave me today still has lagspike, where game freeze for a couple seconds, which corresponds in the "B" figures to "Global AI" reaching well over 150%.

(Still testing on "Kernel Panic single player easy", and at around the 8mins mark.)

Also, I just noticed NTai.dll won't create the /Learn/ folder if it isn't already there and that all those time I was playing without one. However, this doesn't seem to make any difference for those lagspike.
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

Well that isnt particularly helpful zwzsg unless you can associate those lag spikes with something.

Whatsmore I cant reproduce them, and untill I can reproduce them this is officially a speculative bug, which means either its ana ctual bug and youve not provided clear enough steps to reproduce it or its specific to your machine.

Whatsmore if I cannot reproduce a bug then I cannot determine the cause.

So, I dont want to hear anyone complaining about lagspikes in Kernel panci from now on. Discussion about determining the source of the lag spikes, yes, details on reproducing or fixing the spikes, yes, complaining no.

I simply havent got enough information to solve this problem or even verify that it exists on all machines as I havent crystal clear steps to reproduce them (steps involving downloads bigger than 5MB do not count).
User avatar
Peet
Malcontent
Posts: 4384
Joined: 27 Feb 2006, 22:04

Post by Peet »

AF wrote:I havent crystal clear steps to reproduce them (steps involving downloads bigger than 5MB do not count).
"Run Kernel Panic with NTAI and play for 5 minutes." <--- 50 bytes.

http://pastebin.ca/671836 <----63301 bytes
Note frames 5384 and 5385, the lag spikes started to occur around 3 mins in.

replay <--- 62919 bytes.

All <5 mb :)

Also, an unrelated bug: looking at the ntai log player list vs the replay, I noticed that ntai always reads spring\script.txt, even if spring is run with a different script (as it is with the KP sp missions).
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

I dont think spring has an API to tell NTai which script.txt its loaded.

Peet, thats unlikely to eb the cause of the spike as thats likely to be caused by an assembler building a socket/window inside a kernel.

zwzsg logs dont agree with this hypothesis either and neither do mine.
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

I can sort of reproduce the problem however I have no tools with which to diagnose it.

Debuggers will only tell me when it crashes or reaches a breakpoint.

I have no profilers. I can compile NTai and tell it to profile when ran but it spits out a file thats binary and unreadable. Codeblocks wont profile dll projects. Netbeans wont even debug dll projects.

Once again lack of debugger and profiler has struck again!

(does nobody notice a rather horrific pattern here crippling this project and stifling it?)
User avatar
zwzsg
Kernel Panic Co-Developer
Posts: 7052
Joined: 16 Nov 2004, 13:08

Post by zwzsg »

AF wrote:I can sort of reproduce the problem
Well, that's already an important step forward!
Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Post by Tobi »

AF wrote:I dont think spring has an API to tell NTai which script.txt its loaded.
It has

Code: Select all

#define AIVAL_SCRIPT_FILENAME_CSTR       14 // data points to char buffer of sufficient size

Code: Select all

case AIVAL_SCRIPT_FILENAME_CSTR:{
			strcpy((char*) data, gameSetup ? gameSetup->setupFileName.c_str() : "");
			return true;
		}
User avatar
1v0ry_k1ng
Posts: 4656
Joined: 10 Mar 2006, 10:24

Post by 1v0ry_k1ng »

NTAI is playing up.
mod; spring 1944
ie, the commander is a building.

the building has a tasklist of stuff to make, but for some reason, the factory will only make a single unit and then NTAI will cancel the build list and not use the building anymore.

http://spring.unknown-files.net/file/3525/NTAI_logs/

theres a replay but you'll need latest 1944 version so maybe check with 1944 devs.

I tried fiddling around with every variable like antistall etc, no effect
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

Right now the whole s44 business is a horrible affair of get the latest version! no no no you need this patch ontop of that, no that patch needs a patch too, EEEEEEEEEK

First off

A) I do not watch replays

B) If a file is less than 1MB that means I expect to be able to go to it with 1 single mouse click and skimread it and get a good idea. Uploading it as a file inside a folder inside a rar file is bad enough, nm uploading it to UF which requires even more UI friction than rapidshare or yousendit.

C) If you're going to give a report about a config and I havent seen the config then the give -70% hit to chances of any bug being fixed. You uploaded a rar, why couldnt you include the config?
User avatar
1v0ry_k1ng
Posts: 4656
Joined: 10 Mar 2006, 10:24

Post by 1v0ry_k1ng »

s44 uses SVN now so its very easy to update once your set up
User avatar
1v0ry_k1ng
Posts: 4656
Joined: 10 Mar 2006, 10:24

Post by 1v0ry_k1ng »

ive found a partial fix for now; if you order the NTAIs factory to wait, then unwait, it resumes building with no further issues

edit: if a unit has the ability to build, can it not be used as an attacker, even if it has no tasklist?
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

A unit can be used as a builder and atatcker at the same time however the task system and the attacker system are mutually exclusive, they will interfere with eachothers actions, leaving half built buildings or building things they shouldnt at the frontline.

I believe I may have found the cause of the problem with the strting unit factories. The initial task never ends as the engine does not send a UnitIdle call.
User avatar
1v0ry_k1ng
Posts: 4656
Joined: 10 Mar 2006, 10:24

Post by 1v0ry_k1ng »

ok, well atm NTAI dosnt treat s44 infantry as attackers (it works fine with tanks) even though they have the attacker tag and no tasklist, so im guessing it must be linked to being capable of building

as for the solution, thats good :-) any luck finding the source of the lag spieks?
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

Without a profiler the chances of finding the cause currently stand at 2% (aka blind luck)
Post Reply

Return to “AI”