Same problem for me.
NTai XE10.1b
Moderators: hoijui, Moderators
OK tested the bug hunt build
tested on BA4.7 on Altored divide with a hugely simple config that I manually checked for errors.
First thing i noticed is that the testing of build areas does seem to work but it looks as though it skips the item as apposed to trying to find a new location to build it, I understand that you don't want to get into a loop if a building happens to just not fit anywhere but i think it might be worth writing a retry X times function as early game it can be quite critical what dies and doesn't get built.
The b_power and b_xxxx commands don't seem to work any longer (except b_mex). The logs seem to indicate it tries to build them but they never appear (no planned item shown on screen). I've emailed you a log where I ran a config with this at the start of the commanders build list b_radar,b_estore,b_defence,b_factory,armvp, basically waited till it built the vehicle plant then quit to try keep log size down.
The vehicle labs still stop performing their task list after a period of time.
I'll edit this when i've done some more digging
tested on BA4.7 on Altored divide with a hugely simple config that I manually checked for errors.
First thing i noticed is that the testing of build areas does seem to work but it looks as though it skips the item as apposed to trying to find a new location to build it, I understand that you don't want to get into a loop if a building happens to just not fit anywhere but i think it might be worth writing a retry X times function as early game it can be quite critical what dies and doesn't get built.
The b_power and b_xxxx commands don't seem to work any longer (except b_mex). The logs seem to indicate it tries to build them but they never appear (no planned item shown on screen). I've emailed you a log where I ran a config with this at the start of the commanders build list b_radar,b_estore,b_defence,b_factory,armvp, basically waited till it built the vehicle plant then quit to try keep log size down.
The vehicle labs still stop performing their task list after a period of time.
I'll edit this when i've done some more digging
try and put markers in the vehicle plants build list to make it obvious where a task list starts and ends. In the past markers included building 3 DT at the end of every tasklist.
and a word of warning to anyone, in future send logs zipped, I just tried opening the logs you sent me and got a gigantic html file of logs with no line endings making it nearly impossible to read =(
and a word of warning to anyone, in future send logs zipped, I just tried opening the logs you sent me and got a gigantic html file of logs with no line endings making it nearly impossible to read =(
further examination has shown up a big problem.
NTai checks for blocked squares using the slopemap.
To do this it uses UnitDef::movedata::maxslope
But buildings dont have a movedata structure, they just have a null pointer.
As a result this entire check is skipped for buildings, which is a big problem. This drasticlly undermines the building placement algorithm. There is unitdef::maxslope too but I suspect its noncomparable due to scale differences, and nobody in #sy on quakenet is bothering to help me with this.
NTai checks for blocked squares using the slopemap.
To do this it uses UnitDef::movedata::maxslope
But buildings dont have a movedata structure, they just have a null pointer.
As a result this entire check is skipped for buildings, which is a big problem. This drasticlly undermines the building placement algorithm. There is unitdef::maxslope too but I suspect its noncomparable due to scale differences, and nobody in #sy on quakenet is bothering to help me with this.
http://spring.unknown-files.net/file/24 ... ent_build/
new build, please tell me if the build placement problems have improved
new build, please tell me if the build placement problems have improved
I'm trying to get Forboding Angel's EE config to crash with this but I'm not having much luck so far. A couple of things I've noticed:
-It kept building hubs and making them build factories. It never built light reactors as URC and constantly built mexes. The factories never built anything either. This may be a config problem.
-There was a hub with the debug thing saying it was going to build a factory partially in the water but instead it was guarding another hub not doing anything in particular.
-It kept building hubs and making them build factories. It never built light reactors as URC and constantly built mexes. The factories never built anything either. This may be a config problem.
-There was a hub with the debug thing saying it was going to build a factory partially in the water but instead it was guarding another hub not doing anything in particular.
OK checked this out, the build placement doesn't seem much different. The b_radar etc commands still don't work.
I did notice though that the factories stopping building does seem to coincide with the first point at which NTai really comes into contact with the enemy. Its a really sketchy link but the commander seemed to stop building at this point as well. This happened three times on two different maps. If you want the logs i'll send them over.
I did notice though that the factories stopping building does seem to coincide with the first point at which NTai really comes into contact with the enemy. Its a really sketchy link but the commander seemed to stop building at this point as well. This happened three times on two different maps. If you want the logs i'll send them over.
hmm, a lot of the EE config issues result from the way the config was made, and can easily be fixed via toolkit.
Be aware that the AI itnerface is somewhat troublesome, because unitIdle() is somewhat unreliable, units that use SET_MAX_SPEED in their cob scripts screw the AIs over because of a bug in spring. Trepan has a fix for this though which he'll commit to svn soon.
Also I'll look into attacking and units not building again. I encountered this bug while building the task system and fixed it but it seems there're other situations where it cn occur.
Be aware that the AI itnerface is somewhat troublesome, because unitIdle() is somewhat unreliable, units that use SET_MAX_SPEED in their cob scripts screw the AIs over because of a bug in spring. Trepan has a fix for this though which he'll commit to svn soon.
Also I'll look into attacking and units not building again. I encountered this bug while building the task system and fixed it but it seems there're other situations where it cn occur.
AF, on the building placement issue, this may help. For my AI I used the AICallback's CanBuildAt command to detect slope placement problems, and if it returned true, then I fed the resulting location to my building placement algorithm. I made my own CanBuildAt and ClosestBuildSite that check building overlap constraints, as well as metal spot/geo spot overlap constraints. I find this works very well as the AICallback routine works well for the avoiding the slope problems you mentioned above.
Hope this helps!
-QMan
Hope this helps!
-QMan
I could do that but that'd require me to move canbuildAt() into the build algorithm which is an issue because this makes the algorithm extremely slow. And I cant expect all the users to buy twin socket mobos with 2 quad core xeon cpus.
Or I could precache all of this at the start but that'd make for very long loading times, making the person running the AI desync and drop in network games.
Otherwise I'd have to drop the resolution of my blocking map significantly.
Or I could precache all of this at the start but that'd make for very long loading times, making the person running the AI desync and drop in network games.
Otherwise I'd have to drop the resolution of my blocking map significantly.
Tried again by recreating a basic BA config.
1) If you check the "Insert b_rule_extreme_nofact between each item" options Spring crashes just after finishing the first build item.
2) Keywords don't seem to work except for b_mex as DJ mentioned.
3) Set up a basic tasklist for the kbot lab, it never performs any of it. If you add DT to the end, it will try to build them. The logs show the tasklist is being filled for it, it just never builds anything.
1) If you check the "Insert b_rule_extreme_nofact between each item" options Spring crashes just after finishing the first build item.
2) Keywords don't seem to work except for b_mex as DJ mentioned.
3) Set up a basic tasklist for the kbot lab, it never performs any of it. If you add DT to the end, it will try to build them. The logs show the tasklist is being filled for it, it just never builds anything.
Ok let me stress something for those of you who actually upload configs for sharing.
Download lindirs XTA config and see if you can see what he did wrong that everyone else is doing wrong.
I should see:
XTA_BT2.tdf
/configs/XTA_BT2.tdf
instead I see:
/NTai XTA config/XTA_BT2.tdf
/NTai XTA config/XTA_BT2_changelog.txt
This is a problem because I cant use this. In order to be able to do anything with this I have to run NTai and generate a blank config from scratch then replace /configs/XTA_BT2.tdf with the new version from lindir. And I dont mean this for toolkit, NTai requires the same files as toolkit, and it uses the same loading methods as toolkit. If you leave out the root file toolkit opens then neither toolkit or NTai will find a config.
Just packing the file in the configs folder isnt enough, it's like packaging spring up but only including infolog.txt.
Download lindirs XTA config and see if you can see what he did wrong that everyone else is doing wrong.
I should see:
XTA_BT2.tdf
/configs/XTA_BT2.tdf
instead I see:
/NTai XTA config/XTA_BT2.tdf
/NTai XTA config/XTA_BT2_changelog.txt
This is a problem because I cant use this. In order to be able to do anything with this I have to run NTai and generate a blank config from scratch then replace /configs/XTA_BT2.tdf with the new version from lindir. And I dont mean this for toolkit, NTai requires the same files as toolkit, and it uses the same loading methods as toolkit. If you leave out the root file toolkit opens then neither toolkit or NTai will find a config.
Just packing the file in the configs folder isnt enough, it's like packaging spring up but only including infolog.txt.
GlobalAI1: [-] < Frame: 0 >Loading unit data
GlobalAI1: error in Global InitAI, cannot continue
GlobalAI1: [-] < Frame: 0 >error in Global InitAI, cannot continue
GlobalAI1: boost::spirit::parser_error
GlobalAI1: [-] < Frame: 0 >boost::spirit::parser_error
GlobalAI1: Error :: InitAI() in XE9.3 failed, please notify AF at once
GlobalAI1: Error :: http://www.darkstars.co.uk
lindir your config has syntax errors.
GlobalAI1: error in Global InitAI, cannot continue
GlobalAI1: [-] < Frame: 0 >error in Global InitAI, cannot continue
GlobalAI1: boost::spirit::parser_error
GlobalAI1: [-] < Frame: 0 >boost::spirit::parser_error
GlobalAI1: Error :: InitAI() in XE9.3 failed, please notify AF at once
GlobalAI1: Error :: http://www.darkstars.co.uk
lindir your config has syntax errors.