Jump to content
nkenny

LAMBS Improved Danger.fsm

Recommended Posts

We've been using this a lot on the Casual Arma Players server and I have to say, we have not enjoyed the AI this much in years. We use to use other ai mods out there--none of which are bad by the way--but the moment we used LAMBS for the first time, we were all like "this is it....this is the one". The AI have this wonderful way of letting you build up a lot of ego and self-confidence and promptly squatting all over it. We've been out-flanked and surrounded so many times, it was awesome! Like I said, other ai mods out there are also pretty good and its creators are incredible. I liked aspects like ASR where if the AI don't have NVG's at night you can kinda sneak up behind them. Or like VCOM where ai can make use of their anti-personnel mines or deploy static mg's (and i think mortars? not sure) if they have the backpacks....little things like that. But overall, it feels like LAMBS has really changed the way the AI and the game feels. And we absolutely love it!

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites
2 hours ago, PTV-Jobo said:

We've been using this a lot on the Casual Arma Players server and I have to say, we have not enjoyed the AI this much in years. We use to use other ai mods out there--none of which are bad by the way--but the moment we used LAMBS for the first time, we were all like "this is it....this is the one". The AI have this wonderful way of letting you build up a lot of ego and self-confidence and promptly squatting all over it. We've been out-flanked and surrounded so many times, it was awesome! Like I said, other ai mods out there are also pretty good and its creators are incredible. I liked aspects like ASR where if the AI don't have NVG's at night you can kinda sneak up behind them. Or like VCOM where ai can make use of their anti-personnel mines or deploy static mg's (and i think mortars? not sure) if they have the backpacks....little things like that. But overall, it feels like LAMBS has really changed the way the AI and the game feels. And we absolutely love it!

Indeed @PTV-Jobo

 

LAMBS sure is a game changer! I suggest you also include LAMBS_Turrets, LAMBS_Suppression and LAMBS_RPG from https://steamcommunity.com/profiles/76561197962792796/myworkshopfiles/?appid=107410 for the ULTIMATE Arma 4 like experience!

 

All what @nkenny needs to figure out is how to make Ai under LAMBS more responsive to player/Zeus commands and this will be the best Ai mod PERIOD!

  • Like 3

Share this post


Link to post
Share on other sites

Awesome mod 🙂 I have a short question:

 

Can I disable this mod for specific factions or groups? We have some BLUEFOR Guards in our base and they should hold the position (disableAI Move). But when shorts are fired they start running and leaving there positions.

 

It would be cool to disable the mod for own units like BLUEFOR.

  • Like 1

Share this post


Link to post
Share on other sites
4 hours ago, Knight81 said:

Awesome mod 🙂 I have a short question:

 

Can I disable this mod for specific factions or groups? We have some BLUEFOR Guards in our base and they should hold the position (disableAI Move). But when shorts are fired they start running and leaving there positions.

 

It would be cool to disable the mod for own units like BLUEFOR.

 

Put this in their init:

 

_this setVariable ["dangerAIEnabled",false,true];

 

or this in init.sqf

 

{ _x setVariable ["dangerAIEnabled",false,true]; } forEach [Ai_1, Ai_2,  Ai_3];

 

PS: You need to replace Ai_1, Ai_2,  Ai_3 for the real name of the units you wish to disable LAMBS on.

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites
On 1/28/2020 at 12:47 AM, LSValmont said:

Indeed @PTV-Jobo

 

LAMBS sure is a game changer! I suggest you also include LAMBS_Turrets, LAMBS_Suppression and LAMBS_RPG from https://steamcommunity.com/profiles/76561197962792796/myworkshopfiles/?appid=107410 for the ULTIMATE Arma 4 like experience!

 

All what @nkenny needs to figure out is how to make Ai under LAMBS more responsive to player/Zeus commands and this will be the best Ai mod PERIOD!

I agree because when AI commands a unit, often the unit follows orders but not the CO! ex. Combined Arms showcase where your unit is supposed to exfil via helo, everyone boards except your sergeant!

Don't get me wrong; I love this AI mod but its a shame when certain missions halt because certain sequences fail to trigger

  • Like 1
  • Thanks 2

Share this post


Link to post
Share on other sites

Thank you very much LSValmont. 🙂

 

Is that possible to initialize all BLUEFOR units? Means all helicopters, vehicles, persons etc. from this faction within this forEach? Because we have a lot of missions and units and it would be such a big effort to find any name etc. I'm searching for a generic way which works in each init.sqf without finding/typing all unit names.

Share this post


Link to post
Share on other sites
1 hour ago, Knight81 said:

Thank you very much LSValmont. 🙂

 

Is that possible to initialize all BLUEFOR units? Means all helicopters, vehicles, persons etc. from this faction within this forEach? Because we have a lot of missions and units and it would be such a big effort to find any name etc. I'm searching for a generic way which works in each init.sqf without finding/typing all unit names.

 

easy:

{
	if (side _x isEqualTo west) then {_x setVariable ["dangerAIEnabled",false,true];}
} forEach allUnits;

That will only work for units present at mission start if you place it on the init.sqf.

 

But if you run it from the console as GLOBAL it will work for all the BLUFOR units alive at the time of the execution.

Share this post


Link to post
Share on other sites

Looks easy, thank you. I will try it out 🙂

  • Like 1

Share this post


Link to post
Share on other sites
On 1/28/2020 at 12:27 PM, LSValmont said:

_this setVariable ["dangerAIEnabled",false,true];

 

I think this is not functioning since 2.0.

To disable LAMBS on a group you open the group attributes on 3DEN, scroll down to LAMBS properties and you have the option to Disable AI for that group and a Radio option too.

 

Amazing work @nkenny, @jokoho482 and @diwako!

  • Like 1

Share this post


Link to post
Share on other sites
9 hours ago, RCA3 said:

 

I think this is not functioning since 2.0.

To disable LAMBS on a group you open the group attributes on 3DEN, scroll down to LAMBS properties and you have the option to Disable AI for that group and a Radio option too.

 

Amazing work @nkenny, @joko and @diwako!

 

How about script spawned groups?

Share this post


Link to post
Share on other sites
On 2/3/2020 at 2:34 PM, LSValmont said:

How about script spawned groups?

 

Exactly. Couldn't do it yet. I'm sure it's somewhere on their Github.

 

Edit:

From Steam:

joko dont ask me anything  [author]
(...) the variable names changed with the change to the CBA framework they are now "lambs_danger_dangerAIEnabled". (...)

 

Edit2:

Correct (unofficial) variable to disable LAMBS:

_unit setVariable ["lambs_danger_disableai", true];

Edited by RCA3
Corrected to local as per Ryko's comment below. Also, simpler example.
  • Thanks 2

Share this post


Link to post
Share on other sites
5 hours ago, RCA3 said:

_x setVariable ["lambs_danger_disableai", true, true]

Is there a particular reason for the second true statement (which synchronizes the variable across all clients)?  Assuming the server is running the FSM, this is just needlessly spreading data across the network.

I could see a case for it if the MP session is using a headless client.

  • Like 1
  • Thanks 2

Share this post


Link to post
Share on other sites

I am not quite sure, when this happens, but I am quite confident it happens occasionally:

 

When the player is a member of a group lead by an AI, sometimes the movement commands from the AI leader seem to override player control.

I.e., your avatar suddenly decides to walk the highway to hell without your doing 😜

 

Besides that, I really enjoy the mod a lot! Many thanks to Lambs & the team for making it!

 

Edit: As an afterthought, this might be related to switching control to another playable unit.

Share this post


Link to post
Share on other sites

Hi everyone, 

 

Thank you for the kind words 🙂 After a winter hiatus the team is working on delivering the next version of the mod. We will first concentrate on bugfixes and quality of life improvements before we move onto adding new features.  Some of the things to look forward to in version 2.0.3 are toggles for the AI to hide from aircraft and tanks, a revisited vehicle AI, and some changes to low level movement skills. While we will be revisiting waypoints and Zeus interaction at a later stage-- expect some changes that might make the AI a little more responsive and less prone to focus endlessly on buildings.

 

The bug described by @oldy41 has proven elusive. I also suspect it is related to unclear player status in single player games, particularly when switching between units. To be fair, it isn't the environment the mod was developed in and for.  That said, we are rolling out a fix. On a similar note: I readily realise that not everyone plays Arma the same way. If you have videos of bugs or annoyances or even just cool moments from your own sessions-- feel free to drop me a private message. This sort of feedback is immensely valuable for maintaining a universally compatible enhancement to the AI. 

Disabling parts of the AI can be done in a few different ways. It is possible to turn off both the individual and group or leadership AI. The individual AI handles such things as entering buildings, the reaction state to combat, panicking and various other core lambs danger.fsm features.  The group, or tactical assessment component covers such things as calling for artillery, coordinated building assaults, hiding from tanks or airplanes, remanning static weapons, scanning with binoculars, and additional levels of extra-group communication. I suspect that turning off the group AI will give groups using ZEUS based play styles better control of soldiers. I'll say that again : If you are a ZEUS player, you might want to turn off the group AI to retain more strategic control and have less autonomous group leaders!


The above posts have been very helpful in listing the variables, I will repeat them here to avoid any confusion.  Note that it is possible to turn off individual AI by finding the relevant checkbox in unit properties in 3DEN. Doing so will create a mod requirement.

<unit> setVariable ["lambs_danger_disableAI",true]; 
Run on individual units this will switch off all FSM enhancements. 

<group> setVariable ["lambs_danger_dangerAI","disabled"];

<group> setVariable ["lambs_danger_disableGroupAI", true]
Run on groups this will toggle all group level decision and responses. 

If you need fine control of an AI, toggle the first option. If you need an AI less reactive to tactical concerns-- toggle the second option. 

Wait a moment. Why isn't the group setting a Boolean (true or false) value? I am glad you asked.  The reason for this is because current thinking is to create AI packages. A package is a set of scripted behaviors which will make it possible emulate certain types of troops:  recon troops that prefer hiding,  dumb charging miltia, or even canny insurgents that try to hide their weapons. This approach is currently being explored and may see changes in future versions.  For now the variable will remain stable. 

Thanks for reading 
Ken 



 

 

 

 

  • Like 9
  • Thanks 2

Share this post


Link to post
Share on other sites

@nkenny I can confirm that the disabling the 'group' for zeus AI groups and BOTH 'group' and 'AI' for player groups (if you have AI in the player group) seems to work well.
Looking forward to future versions. 

 

  • Thanks 1

Share this post


Link to post
Share on other sites
5 hours ago, ribera1945e said:

Hello.

Are you planning to add a CBA setting to disable the sharing function?
Thanks you.

Seconded. I'm testing this mod with one of my own missions and the sharing function doesn't seem to respond to given settings, causing every AI within 1500m to aggro, regardless of how I set the CBA settings.

 

I am also experiencing a problem where vehicles inside a friendly-occupied town go active and start shooting up buildings occupied by their own side's troops. The building-targeting feature is cool, but is there a way to prevent this behavior in situations where the tank crew is surrounded by friendlies?

  • Like 1

Share this post


Link to post
Share on other sites

@rangerpl
Thanks for the report. I will look into the information sharing aspects. In regards to vehicles. Yes! It is a fairly major problem that I've experienced in our own sessions. Something must have gone wrong in the latest versions, because it hasn't been a problem before. I hope to push a hotfix soonish. 

Just need to finish a scenario for our Tuesday session first.  Ahhh,  the life of mission making in Arma. ^^

@Machiya
You might just gone and found the 'forced animation' culprit! Thanks

Ken 

Share this post


Link to post
Share on other sites

@Devastator_cm
Which ones? I think all scripts are present in the release. Unless you are talking about lambs_suppress and lambs_rpg which I want to continue having distinct for reasons of compataiblity and scope. 

Incidentally the waypoint scripts can be called from anywhere. Generally these follow the same pattern of use. They may be called on group or unit. Secondary argument is optional and sets range in meters

[group1, 500] spawn lambs_wp_fnc_taskRush;

Rushing script to the default 500 meters. 

[group1, 700] spawn lambs_wp_fnc_taskCreep;

[group1, 300] spawn lambs_wp_fnc_taskHunt;

And so on. 
https://github.com/nk3nny/LambsDanger/tree/master/addons/wp/functions


---

Task assault differs somewhat in use. It makes groups rush heedlessly of danger with a BOOLEAN toggle to make the unit flee instead. 

* Arguments:

* 0: Unit fleeing <OBJECT> or <GROUP>

* 1: Destination <POSITION>, <OBJECT>, <GROUP>, <MARKER>

* 2: Forced retreat, default false <BOOL> 

* 3: Distance threshold, default 10 <NUMBER>

* 4: Update cycle, default 2 <NUMBER>


[group1, loc1, false] call lambs_wp_fnc_taskAssault;

---

 

Some of task* series scripts still run while/waitUntil loops. These will be written in some future version. The API will remain consistent. 

Ken 

Share this post


Link to post
Share on other sites

I apologize if this has already been reported, but i was playing one of my missions with this script last night, and it appeared to occasionally force my player controlled unit to crawl forward for a few seconds.  It happened 3 times or more while my squad and I were in a fight.  I think I was not the squad leader when it happened.

 

I'm guessing this could only happen if the AI script has code to force a playMove, switchMove, or playAction on a unit.

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites

@johnnyboy
Known issue! We're putting out a nuclear fix quite soon. As a temporary solution disabling group AI on the player led group might work. 

<group> setVariable ["lambs_danger_dangerAI","disabled"]; <-- OLD


<group> setVariable ["lambs_danger_disableGroupAI",true];  <-- CURRENT RELEVANT

  • Like 2

Share this post


Link to post
Share on other sites
On 2/8/2020 at 2:25 AM, nkenny said:

Wait a moment. Why isn't the group setting a Boolean (true or false) value? I am glad you asked.

You're hilarious. That was literally the first thing I thought of when I saw that statement. 🙂 I do like your idea, but I think that particular variable is the wrong place to do this.  I would submit that you need a two variables:

 

<group> setVariable ["lambs_disable_AI",true]; - for disabling the routine completely,

and

<group> setVariable ["lambs_danger_AIprofile","recon"]; - if you had different styles of AI to load into the AI.  If the variable isn't set, it's default (of course, "default" could be a setting).

 

Just my two cents, for greater clarity from a user point of view.

  • Like 2

Share this post


Link to post
Share on other sites

I think it would be better if we could switch all the functions.(e.g. Sharing function, Withdrawal function)

 

Also, with this add-on installed, the vehicle's AI turret will accurately find targets farther away than in the vanilla environment. Is this an add-on feature?

 

Thanks you.

  • Like 1

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×