davidlallen Posted March 25, 2016 Author Share Posted March 25, 2016 Thanks for the feedback on mod compatibility. This thread has been a good way for me to learn more about how this works. I still think there are a couple of visible effects, but many people may not care. 1. In the early game, there are "advent only" pods. I am pretty sure that only one mod at a time can affect these; but the interesting mod enemies don't belong in the early game anyway. 2. Suppose mod A adds a leader, and mod B adds a follower. I don't think you can have a single pod with leader A and follower B. "Vanilla" leaders can have followers from all mods, and each mod leader can have its own followers. Since many enemies are available as both leaders and followers, this is probably hard to detect. Link to comment Share on other sites More sharing options...
davidlallen Posted March 27, 2016 Author Share Posted March 27, 2016 I guess the thread title is increasingly less accurate, but I have made a lot of progress on the topic of human opponents. I have four force levels of enemies based on the four standard soldier classes. I have played tactical levels at different force levels, and all the 16 enemies and their equipment at least appear to work in game. Now, my question is about setting up (or hopefully reusing) special purpose AI for these. For example, suppose I have an enemy which is a lieutenant sharpshooter and it has the standard xcom Squadsight and Death From Above abilities. I would like it to seek high ground, and fire using squadsight. Is there any resource about how the existing AI behavior trees work? Has anybody extended them for *soldier* abilities? Each class has some things which may be unique: squadsight, field medic, ranger sword vs shotgun and extra move abilities, grenadier shots that are useful early in the turn. Right now I have simply set strBehaviorTree to AdventTrooper::CharacterRoot for all 16 enemies. The enemies have the following soldier abilities: Grenadier: LaunchGrenade, Shredder, Demolition, HoloTargeting, SaturationFire, RuptureRanger: SwordSlice, Blademaster, Shadowstep, RunAndGun, Implacable, UntouchableSharpshooter: Squadsight, ReturnFire, LightningHands, DeathFromAbove, Serial, KillZoneRevivalProtocol, AidProtocol, FieldMedic, CoveringFire, Sentinel, Restoration The corporal enemy has the first two, the lieutenant enemy has the first four, and the major enemy has all six. What is the best way to make these AI's at least use all the abilities, even if they don't use them very well? Link to comment Share on other sites More sharing options...
davidlallen Posted March 27, 2016 Author Share Posted March 27, 2016 OK, I spent a few hours learning about XComAI.ini, and created some basic BT's for the units. Some assorted questions 1. Once I have written BT's, what is the easiest way to show any output, such as chosen actions during a tactical game? I have seen a few of the skills used against me, but waiting for random numbers to come up so I can test is not very productive. 2. I have used the "advent sniper" AI to use squadsight. I have not seen anything in the BTs about snipers preferring high ground. Are there hooks for that anywhere? If the sniper never prefers high ground, will a skill like Death From Above ever be useful? Would it automatically take effect, if the sniper coincidentally happened to be on high ground? 3. I have not seen anything which attempts to use extra move abilities, in particular run and gun, and implacable. What would be some good starting points to build AI to use these? 4. I see that ThrowGrenade and LaunchGrenade are made equivalent. Clearly one key ability of the grenadier is Launch Grenade. I have given the grenadier a BT which includes TryMoveThenGrenade, and I have been in situations where the AI probably should have used the launcher but it didn't. Is anything extra likely to be needed for the launcher? If my BT is wrong, maybe see #1, but how do I tell? 5. None of the common game units or mod units have any healing. I downloaded the Advent Priest mod to try to understand, and I came across references to TechCommando in Better Advent. But, I am not quite able to understand how I could setup AI to use the gremlin heal properly. (Or "at all".) Any leads? 6. I want to demonstrate to myself that every ability in the list of my previous post can be used. But, perhaps swapping out some tricky abilities for some easier ones may help. Are there some abilities in my list where it may be quite hard for the AI to use? (I'm guessing Run and Gun, and Implacable, but I want to get those working since they are ranger signature moves.) Link to comment Share on other sites More sharing options...
Dragon32 Posted March 27, 2016 Share Posted March 27, 2016 You may have already seen this, and I also don't know if it'll help with your specific problems but I saw this the other day: XCOM 2 Behavior Tree / AI visualizer by amelocik. Link to comment Share on other sites More sharing options...
davidlallen Posted March 27, 2016 Author Share Posted March 27, 2016 (new thread here and reddit)http://forums.nexusmods.com/index.php?/topic/3948655-how-to-writedebug-ai-routines/https://www.reddit.com/r/xcom2mods/comments/4c5wal/techniques_for_debugging_bts/ Link to comment Share on other sites More sharing options...
davidlallen Posted April 4, 2016 Author Share Posted April 4, 2016 The original topic of this thread came back in a reddit post: https://www.reddit.com/r/xcom2mods/comments/4d8njp/request_for_supported_followers_to_excluded/ Is there any drawback to modding away the "supported followers" check of the spawning code, and just relying on forcelevel? That way, a leader from mod A could have followers from mod B, which increases pod variety. I suppose that each modder who wanted their leaders to have any followers from other mods, would need to add this change into their mod, but it ""seems like"" this would be a simple subroutine for each modder to add. Link to comment Share on other sites More sharing options...
Recommended Posts