Jump to content
saddle

Enemy AI Options For Stealth-Gameplay? Zeus

Recommended Posts

Hello everyone,

 

and thank you for taking the time.

I am an experienced Arma Zeus and like the title of this topic says, I am looking at options when it comes to the enemy AI in order to generate as seamless of a stealth gameplay as possible for players.

Been looking around a whole lot and not managed to find any answers so far, any tip or input is very appreciated!

 

On it's own, the game is hardly an ideal game for stealth gameplay? It can be very sensitive and fidgety in how AI works and scripts too.

So the idea is that I regulate all of this manually as the Zeus for the players. Even making the AI a bit dumbed down, to give the players a sneaky chance to pick people off.

How I currently do it is that I turn the enemy faction into an ally for the duration of stealthing, that way the AI will not do anything strange or go alert, until I choose to .. which I switch the AI back into hostile relation again.

All of that works perfectly - but when players kill the 'friendly' ai, they lose standing and become eventually renegades and traitors. So players will have issues getting into vehicles ect with some traitors on the squad, and eventually the AI even if friendly in relation will still open up on the player that ends up becoming renegades.

 

How I have tried to resolve this is; to increase all players standing and rating constantly throughout the operation, but eventually this will not work out or be viable.

I have also set all players to max rank of Colonel.

 

If there was such a function like making all AI on one side, currently spawned in, not engage or go alert until I press a button or so that would been good but I doubt this exists?

 

Anyone have any ideas or pointers for how to run manually controlled stealth gameplay like this as Zeus?  Or other work arounds or options?

It is far too much work to manually press pockets of spawned units, and run an init line on all of them everywhere, and then run an init line to activate them again ect. Things are happening too fast for that.

Share this post


Link to post
Share on other sites

Hi saddle! There are several ways to achieve this but it will require some experimentation. 

 

The "intended" way to dumb down AI would be to lower the skill like so:

_unit setSkill ["spotDistance", 0.01];
_unit setSkill ["spotTime", 0.01];

If you want to prevent AI from spotting anything at all: 

_unit disableAI "CHECKVISIBLE";

Setting side relation to friendly is the nuclear option. I wouldn't recommend it unless that is the true relation as in the AI side genuinely starts as friendly and players are meant to betray them.

Nonetheless, it's easy to avoid the renegade issue by giving players a large rating at the beginning:

player addRating 100000;

If you care about the rating, you can use the HandleRating event handler to simply ignore any rating deductions.

 

Regarding running the init lines, as you noticed it doesn't scale well. You're much better off setting up a script that runs in the background and applies modifications to all units in the game. If you need something to happen on demand, you can use addAction to set up a little list of commands for yourself. The simplest and most flexible option: you can run code directly in debug console though you need to be comfortable with scripting otherwise you'll flood everyone with error popups.

Share this post


Link to post
Share on other sites

Also take a look at my AI compilation list

Look under the category:

AI Accuracy, Skill, & Spotting/distance

Share this post


Link to post
Share on other sites
23 hours ago, _foley said:

 

The "intended" way to dumb down AI would be to lower the skill like so:


_unit setSkill ["spotDistance", 0.01];
_unit setSkill ["spotTime", 0.01];

 

 

Hey foley!

Thanks for the tip! I run the VCOM AI script/mod and despite trying to change the skill settings, it seems to reflect none what so ever in the actual execution of the AI behavior when I am in game and running things as Zeus.

 

23 hours ago, _foley said:

Nonetheless, it's easy to avoid the renegade issue by giving players a large rating at the beginning:


player addRating 100000;

 

 

I used to add 2000 in rating to all the players over and over. Perhaps that number is low and runs out quickly during an operation.

Perhaps this will be resolved if I give them a large rating, indeed. Cheers.

 

23 hours ago, _foley said:

If you care about the rating, you can use the HandleRating event handler to simply ignore any rating deductions.

 

 

Not sure how this one works or if I can implement it in a good way, globally as Zeus?

 

23 hours ago, _foley said:

Regarding running the init lines, as you noticed it doesn't scale well. You're much better off setting up a script that runs in the background and applies modifications to all units in the game. If you need something to happen on demand, you can use addAction to set up a little list of commands for yourself. The simplest and most flexible option: you can run code directly in debug console though you need to be comfortable with scripting otherwise you'll flood everyone with error popups.

 

A script that runs in the background and applies modifications to all units in the game, would be awesome but I have limited coding experience.

Not sure how that would work with addAction to list myself commands.

 

 

19 hours ago, Gunter Severloh said:

Also take a look at my AI compilation list

Look under the category:

AI Accuracy, Skill, & Spotting/distance

 

Thanks Gunter I will look it over again.

You are golden for making these lists for the community. 

  • Like 1

Share this post


Link to post
Share on other sites

@saddle Hello there!

So as I understand, you're bothered by the (overly sensitive) detection of AI units. I feel your pain. I myself was able to compensate a lot of it for a cooperative "sniper" mission by scripting a very low (<0.1) camouflage coefficient (using https://community.bistudio.com/wiki/setUnitTrait) for the players. 

There's a popular script that upgrades and changes this value in response to player behavior. You could check it out:

There are also others in the Steam Workshop.

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

×