Posted: Wed Sep 05, 2012 9:15 pm Post subject:
Ares AI Issue
Subject description: Just what it says on the title.
I could've got on the RenProj IRC to talk about this issue I guess, or I could have filed a bug report (which I might do either way later on), but I'll instead make use of this forum now.
Basically, the AI of my mod displays peculiar behaviour when playing with Ares enabled (so far I've tested it with Fatman and 0.2 RC1, both with same results). To put it simple, it builds teams, but does not always execute their scripts. Additionally, it sometimes locks into building one VehicleType whilst ignoring structure and for most part infantry production as well. This also definitely racks up the lag on games with more AI's, as their bases become clogged with units that are not doing anything, except maybe attacking enemy units that wander into the base.
Demonstration pictures follow.
AI base after some time in the game passed. Not always this bad, though.
An example of AI only building one type of vehicle.
Fact sheet:
- Issues like these do not occur while playing mod on YR 1.001.
- Whether or not AllowParallelAIQueues is set to yes or no does not matter.
- Whether or not the new AI base defense system is used or not does not matter.
What I am looking for, is help in attempt to solve what causes this problem, as it's making my mod unplayable (atleast if AI's are involved) with Ares enabled right now. _________________ QUICK_EDIT
I don't think it's an issue with my AI coding or anything considering it works fine without Ares. And yes, I tested it on YR 1.001 with only so much mod features stripped out that it works without crashing (which isn't a lot really), and AI worked just fine.
Doing what you suggested with the .inj file does not seem to help. Was worth trying anyways. _________________ QUICK_EDIT
Joined: 22 Nov 2010 Location: Iszkaszentgyorgy, Hungary
Posted: Thu Sep 06, 2012 3:22 pm Post subject:
50928C, HouseClass_Update_Factories_Queues_SkipBrokenDTOR, 5 or 55B502, LogicClass_Update_UpdateAITeamsFaster, 5 are the ones which could also affect AI in Misc/Bugfixes.cpp.
I am just shotting in the dark tho... but there's not much else I could do. _________________ "If you didn't get angry and mad and frustrated, that means you don't care about the end result, and are doing something wrong." - Greg Kroah-Hartman
=======================
Past C&C projects: Attacque Supérior (2010-2019); Valiant Shades (2019-2021)
=======================
WeiDU mods: Random Graion Tweaks | Graion's Soundsets
Maintainance: Extra Expanded Enhanced Encounters! | BGEESpawn
Contributions: EE Fixpack | Enhanced Edition Trilogy | DSotSC (Trilogy) | UB_IWD | SotSC & a lot more... QUICK_EDIT
My mod seems fine, possibly send Graion a private copy of your mod, find out what's up? _________________ MIdAS - Turning wages into beer since 2002 QUICK_EDIT
I run into the same AI congestion issue myself. Doesn't happen with vanilla YR, just Ares. I've tried to fix it by modifying the AI's attack frequency and setting all TeamTypes to Recruiter. But it's not helping much. They just clog up their base and chug the game. Still better than ZH though... _________________ KGR | AT
AZUR
Discord: theastronomer1836
Steam QUICK_EDIT
I don't have any problems with DD, neither with if small or big teams. However, I do know that this happened in some missions in MO.
Might be that some AI settings are now more sensitive/restrictive than without Ares. So, what worked fine in 0.1 Ares and without Ares at all will cause problems with 0.2 Ares.
I don't really have a clue which specific tags could affect this, but since it appears to be AI team related code that was modified, perhaps modifying team related tags in RulesMD.ini could solve the problem. QUICK_EDIT
might be some usefull information to someone: i use Ares 0.2 had a similar problem. if the AI were Soviets the ai wouldnt build anything it would just sit there and build its base. However i fixed this problem by using a AImd from another mod (dont judge me )... no problems so far
And i had NOT used any Ares new ini strings...only eddited the Ares.ini from Launch Base
Changed The Surface.$surface.memory all to VRAm
and did same thing for Surface.$surface.force3D QUICK_EDIT
might be some usefull information to someone: i use Ares 0.2 had a similar problem. if the AI were Soviets the ai wouldnt build anything it would just sit there and build its base. However i fixed this problem by using a AImd from another mod (dont judge me )... no problems so far
You probably went and increased the MinimumAIDefensiveTeams values in rulesmd.ini. If AI does not have enough base defense teams to satisfy those conditions (and YR Soviet AI barely has for the usual value of 1), it will behave just as you desribed.
Has nothing to do with my issue, though. _________________ QUICK_EDIT
You probably went and increased the MinimumAIDefensiveTeams values in rulesmd.ini. If AI does not have enough base defense teams to satisfy those conditions (and YR Soviet AI barely has for the usual value of 1), it will behave just as you desribed.
And idea when your awesome mod will be available for download? What does it require? (Ares / Launch / both / more?) Last edited by devil614 on Sun Sep 23, 2012 9:03 pm; edited 1 time in total QUICK_EDIT
starkku is right this
MinimumAIDefensiveTeams
is NOT the problem.
Starkku your right it really is very odd thing.
***
Just pondering
Q 1. The size of the team and delay's in attacking?
(in that case i wouldn't worry)
Q 2. if its just sitting around doing nothing do you think it would be start team? (doubt it though)
Q 3. does your AI have consant set of teams its suppose to build?. If so, how many?. (might not have effect in this case, but it could be one of the many problems) ; not in rules as in AI team
Q 4. does your army return to its base if its not all destored?
Sorry i'm not helping am i ?. i'm just so puzzled by this problem.
The only real solution is to reveal the map and just watch the AI building its base then make your judgement from that. I'm not 100% positivily sure that the problem is delays or recuritment, perhapps none of these. but my mind can't really put a finger on it.
IF only renegade or Pd where here. these men are one hell of a brain box. _________________ Link to a document to see what mods i have and/or working on or working with
Click QUICK_EDIT
But I replied to this in another thread. I had the very same problem at some point when developing RockPatch using the default YR AI, so it's not an issue in anybody's AI coding. This was one unsolved mystery; I never found what was wrong and put my money on AlexB now to hopefully find it.
The disassembly should be much better known these days than 4 years ago when I was still on it. I would guess that it's as simple as debugging and having a good luck at the stack traces to find out what's wrong.
But if I remember right, this was a little tough to reproduce in the first place. In that case, maybe it would help AlexB if somebody could try and make a minimal as possible mod that reproduces the issue reliably, and send it to him. In the process, keep a very detailled change log. That'd be my approach now. QUICK_EDIT
Yeah like I told in another thread, I also encountered same problem as others, but I never complained because I am using ,,borrowed" aimd.ini _________________
Yeah my attempts to track down the cause have all been unsuccessful so far. Shame.
devil614 wrote:
And idea when your awesome mod will be available for download? What does it require? (Ares / Launch / both / more?)
Probably not for a very long time if this pace keeps going on. Time constraints and development setbacks of all kinds. Fun stuff. Not.
Dubzac wrote:
Q 1. The size of the team and delay's in attacking?
Q 2. if its just sitting around doing nothing do you think it would be start team? (doubt it though)
Q 3. does your AI have consant set of teams its suppose to build?. If so, how many?. (might not have effect in this case, but it could be one of the many problems) ; not in rules as in AI team
Q 4. does your army return to its base if its not all destored?
Team sizes and team construction delays don't really have anything to do with this issue as far as I've managed to figure out. Higher team delays (more time spent between construction of teams) makes the issue less apparent at first glance, though.
It builds teams, all the time, just like usual. It's just that most of those teams do not execute their attached scripts. Maybe it's because the teams do not actually get completed for some reason.
Yeah, it does. Every damn AI in this engine does. Just how consistently it constructs a particular team depends on the AI trigger weighting. Altough, probably due to this issue, AI sometimes just keeps building a single unit for a very, very long time, sometimes till the end of the game. I don't really think that has anything to do with the weighting, however.
I don't think AI has ever done that kind of stuff, i.e retreating it's units. AI usually just sends the units to complete their script and they attempt to do that or get destroyed in the process. Of course your own units do that if you command them to do so.
Quote:
But if I remember right, this was a little tough to reproduce in the first place. In that case, maybe it would help AlexB if somebody could try and make a minimal as possible mod that reproduces the issue reliably, and send it to him. In the process, keep a very detailled change log. That'd be my approach now.
I could probably do that, actually. As in, make a stripped down version of my mod without as much of things in it (like all the additional graphics, sounds & music) and send it to AlexB for debugging purposes. But I'd only do that if it's actually going to be of any help. _________________ QUICK_EDIT
I don't think it an ARES issue. I can't be sure when I encountered the same problem, if it was with vanilla, Rock, Npatch, or ARES. I had a script that made 2 more MCV, when the 2nd mcv was built and deployed the troops I made hanging around the base would move to the new MCV. My problem was more with engineers/transport. They would not go out and try capture bases. I did have a few tank attack squads that wouldn't go out either. I tried copying the original coding for engineers scripts and pasting them into mine just changing the name and ended up with the same results. _________________ I am authorized to send out the TMP Studio, PM ME IF YOU WANT IT And check this out, these were sent to me for help with terrain and zdata help along with TMP Studio/Builder
If you had actually read the damn starting post carefully enough, you would have noticed that I told that the exact same setup WORKS on vanilla YR and NPatch - but NOT on Ares. So following a common logic, Ares does atleast play some part in this. I don't think it's universal, though, since many mods which are using Ares do not apparently suffer from this. _________________ QUICK_EDIT
wow, dont have to get snippy. did you reorder the buildings or just place you stuff at the end? _________________ I am authorized to send out the TMP Studio, PM ME IF YOU WANT IT And check this out, these were sent to me for help with terrain and zdata help along with TMP Studio/Builder
wow, dont have to get snippy. did you reorder the buildings or just place you stuff at the end?
I've reordered the BuildingTypes list. All faction stuff at the beginning. List length still below 512. All scripts that use BuildingTypes list indices do use correct values, however, so that shouldn't be a problem. _________________ QUICK_EDIT
i did the same thing, i was thinking that might be the problem. i haven't moved my items to the bottom yet. Though looking at DDay's rules, some how mig got it to work....odd _________________ I am authorized to send out the TMP Studio, PM ME IF YOU WANT IT And check this out, these were sent to me for help with terrain and zdata help along with TMP Studio/Builder
Only thing I can think is setting your bigger teams to allows member to be recruited, and make a half-size team that allows recruiting. if that fails, then it's a game issue, if not, your AI doesn't allow enough time to build, or you can't build enough units. _________________ MIdAS - Turning wages into beer since 2002 QUICK_EDIT
Only thing I can think is setting your bigger teams to allows member to be recruited, and make a half-size team that allows recruiting. if that fails, then it's a game issue, if not, your AI doesn't allow enough time to build, or you can't build enough units.
which rules code are you talking about changing _________________ I am authorized to send out the TMP Studio, PM ME IF YOU WANT IT And check this out, these were sent to me for help with terrain and zdata help along with TMP Studio/Builder
Only thing I can think is setting your bigger teams to allows member to be recruited, and make a half-size team that allows recruiting. if that fails, then it's a game issue, if not, your AI doesn't allow enough time to build, or you can't build enough units.
which rules code are you talking about changing
It's an option in the teamtypes section, you can make them recruit from any "pool" team, or teams that have been dissolved. _________________ MIdAS - Turning wages into beer since 2002 QUICK_EDIT
I remember a post stating what to change to make the AI better, I have the info some where. I havent touched the rules in sometime, but this is helpful to when i get back to it _________________ I am authorized to send out the TMP Studio, PM ME IF YOU WANT IT And check this out, these were sent to me for help with terrain and zdata help along with TMP Studio/Builder
My mod doesn't suffer from this problem, but could you try adding these 2 tags?
DissolveUnfilledTeamDelay=6000;"or more"
AISafeDistance=30;"20 or more"
M theory Below:
I know that the ai always default to a scripted action of gathering their forces at a cell "and cannot run "attack script" until all team members "have been " close to this cell, as a result base clogging can result in ai not following scripts and sticking in base because the team was not able to group before attacking. A similar phenom can be seen when you blow up a bridge right before ai go over a bridge. They get stuck and will not correct the ai path follow error. What result sis they sit there and are eventually forgotten or stuck on a path finding error, until its fixed.
Ai safe distance prevents clogging by sending built units out of base and reduces chances of path finding errors by moving the gather cell of attack waves.
DissolveUnfilledTeamDelay gives ai more time in constructing the team, if a team does not get proper funding or takes to long to build it can just be abandoned. When you make teams recruit-able, only some scripts will ever recruit. For instance a fire sale, will recruit them.
Money is also important, when running tests make sure to give ai infinite money to indicate weather or not money is a factor. This can telkl you if its a cost issue why they cannot satisfy team builds.
For testing sake, try setting all teams in a fake copy of aimd to 1 and increase creation rate and amount of teams:
TotalAITeamCap=50,40,30;"more then this" _________________ Grab my Map Logic Expansion Pack 5.2 here!
Adds random weather patterns into maps.
More disabled navalyards.
Preplaced Neutral buildings.
Additional new features.
um.....i have to try this...thanks for the info _________________ I am authorized to send out the TMP Studio, PM ME IF YOU WANT IT And check this out, these were sent to me for help with terrain and zdata help along with TMP Studio/Builder
AISafeDistance=20 ;gs cell distance the AI will consider in Gathering outside enemy base (from center of enemy base)
I'd say Westwood definition of AISafeDistance kinda gives different impression and as far clogging is concerned, its benefits are doubtful as it is counted in cells FROM the ENEMY base, not yours, else nice thought.... thus increasing the value merely groups the army farther away from enemy base together for final attack move. QUICK_EDIT
Ok, you seem to know a bit about the rules. I found these somewhere either here, renengade, or some other known RA2 site. What is your thought about the numbers:
CloseEnough=
Stray=
RelaxedStray=
GuardModeStray=
TeamDelays=
AIHateDelays=
MultiplayerAICM=
AIVirtualPurifiers=
AISlaveMinerNumber=
MinimumAIDefensiveTeams=
Minimum number of IsBaseDefense=yes
IsBaseDefense=yes
MaximumAIDefensiveTeams=
TotalAITeamCap=
AIIonCannonxxxValue=
AIIonCannonConYardValue= Value of buildings with ConstructionYard=yes
AIIonCannonWarFactoryValue= Value of buildings with WeaponsFactory=yes
AIIonCannonPowerValue= Value of buildings with Power= above 0
AIIonCannonTechCenterValue= Value of BattleLabs
AIIonCannonEngineerValue= Value of Engineers
AIIonCannonThiefValue= Value of Thiefs (Logic still present in RA2)
AIIonCannonHarvesterValue= Value of Harvesters
AIIonCannonMCVValue= Value of MCVs
AIIonCannonAPCValue= Value of Transporters
AIIonCannonBaseDefenseValue=Value of buildings with IsBaseDefense=yes
AIIonCannonPlugValue= Value of buildings with IsPlug=yes-if you give IsPlug=Yes to for example, SWs,this is their value. Of course, you must delete the comment first, or you get an IE.
AIIonCannonHelipadValue= Value of buildings with HoverPad=yes. Deleting the comment fixes HoverPad SW targeting IE.
AIIonCannonTempleValue= Value of buildings with IsTemple=yes. Same as with Plug. Tip- use for SWs,refineries or with Purifiers/Vats/Plants.
AIBaseSpacing= ;This is average space AI will leave between its buildings. Increase only if you have only few buildings or replaced maps with some that have more space for bases,or in map files. _________________ I am authorized to send out the TMP Studio, PM ME IF YOU WANT IT And check this out, these were sent to me for help with terrain and zdata help along with TMP Studio/Builder
ApolloTD aisafedistance also controls gathering point from your own base, see modeenc. _________________ Grab my Map Logic Expansion Pack 5.2 here!
Adds random weather patterns into maps.
More disabled navalyards.
Preplaced Neutral buildings.
Additional new features.
This problem might be gone in the latest Fatman build, which is available now.
DCoder found a faulty comparison, which looks like the reason for this. Instead of using the largest possible value as a dummy and then finding the lowest real value, Ares tried to find a larger number. As there is no larger number than the dummy value, the dummy value was used as final result. Quite abstract. _________________ QUICK_EDIT
This problem might be gone in the latest Fatman build, which is available now.
DCoder found a faulty comparison, which looks like the reason for this. Instead of using the largest possible value as a dummy and then finding the lowest real value, Ares tried to find a larger number. As there is no larger number than the dummy value, the dummy value was used as final result. Quite abstract.
As I've said before on IRC, it does not disappear for me completely unless I also remove that one hook (55B502 = LogicClass_Update_UpdateAITeamsFaster, 5) from the inj file as well. If I don't. AI still keeps doing some stupid things like spam tons of jumpjet units in the base.
Latest Fatman build + removing that hook results in AI working like it should. But only in case both conditions apply. Just the fixes in the latest build alone or trying to remove that hook while playing with older builds do not do any good. _________________ QUICK_EDIT
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum