Jump to content
Sign in to follow this  
vilas

bug with silenced weapons

Recommended Posts

Below is a simple test mission that clearly shows this behaviour...

http://keycat.no-ip.com/files/ArmA_115b_AI_Silent_kills_impossible.zip

To test do the following:

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">

1. Load this simple test mission in the editor.

2. You start as an SF a couple of meters behind an enemy infantry soldier (E1).

3. Do _NOT_ move! Just select your M9 SD pistol.

4. Aim for his neck/head and kill him with a _SINGLE_ headshot.

5. Whitin a few second you will hear the alarm go off indicating your action/presence has been detected by another enemy soldier (E2) standing ~100 m S of your position with no line of sight to you or the soldier you just killed.

6. Move enemy soldier E2 around and test different scenarios.

The info box shown in the upper left corner shows the distance to the other enemy infantry soldier (E2, not in the same group) and also shows his current heading.

I tested a couple of positions in this particular test mission (indicated by road cones on map) and had similar results if the distance to E2 was ~80-100 m and he was looking in your direction (but still without LOS).

The skill (I used 0.50 in the test) of enemy soldier E2 does seem to matter somewhat as well as his direction, if he turns approx +/- 50 degrees either side he will not detect you at the same distance.

Also to eliminate the ammo of the equation I made a simple test addon (KEY_SD_ammo.pbo) and all that does is making the M9 SD ammo 100% silent and without any mussle flash (you can test this by firing a M9 magazine beside the soldier and he won't hear you if you are using the KEY_SD_ammo.pbo).

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">

class B_9x18_SD: BulletBase

{

visibleFire = 0;

audibleFire = 0;

visibleFireTime = 0;

};

class B_9x19_SD: BulletBase

{

visibleFire = 0;

audibleFire = 0;

visibleFireTime = 0;

};

Re-running the same test mission with KEY_SD_ammo.pbo shows no difference and the enemy AI (E2) is able to magically detect when you shot his friend with a single headshot.

To eliminate any arguments that "he can hear the body/weapon fall etc." run the same test mission again and instead of shooting him this time just press "0-0-1".

This kills enemy soldier E1 by script (E1 setDamage 1) and this time there is no magic detection so I guess that argument is gone.

Even if silenced weapons arent totally silent having enemy AI detecting a single shot with a M9 SD pistol from ~100 m away is probably not very realistic, maybe within ~5-10 m but not ~100 m!

I do understand that it's impossible to simulate the human ear (and all other senses) 100% realistic and it has to be a compromise in a sim like this, but this particular AI behavior makes it impossible to make proper stealth missions in ArmA since you really have no way to silently kill sentrys in a base for example, without beeing magically detected!

I guess only the BIS devs can tell if this indeed is a bug or by design.

If it's a bug I hope this discussion helps them isolate the problem and that it is easy enough to fix before next final patch!

If it's by design I really hope it will be gone in ArmA II!

If you try the test mission please share your observation/thoughts here.

EDIT: I have no idea if this AI behavior is new to 1.14/1.15 B since I first tried it out with 1.14. vilas indicates above that he didn't experienced it in 1.12. Maybe someone still have 1.12 (or earlier) installed and willing to test it?

EDIT2: In case it matters my test above was done with the following settings in my .ArmAProfile...

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">

skillFriendly=0.920000;

skillEnemy=0.920000;

precisionFriendly=0.530000;

precisionEnemy=0.530000;

EDIT3: Sorry for my lousy grammar tounge2.gif

/KC

Share this post


Link to post
Share on other sites

Bravo KC - very impressive.. And a very valid point smile_o.gif

Let's hope that someone over at BIS takes a look at this - this is very well documented after all.

Share this post


Link to post
Share on other sites

Very very impressive! a lot of work invested for this bug - but its worth it (hopefully).

This is clearly a bug, no question.... damn cheater AI again.....

Share this post


Link to post
Share on other sites

I reported this to patch 1.15 feedback. wink_o.gif

Share this post


Link to post
Share on other sites

5. Whitin a few second you will hear the alarm go off indicating your action/presence has been detected by another enemy soldier (E2) standing ~100 m S of your position with no line of sight to you or the soldier you just killed.

Don't understand after kill him No alarm go ON ? why a few second later you will hear the alarm go off !!!

Share this post


Link to post
Share on other sites
5. Whitin a few second you will hear the alarm go off indicating your action/presence has been detected by another enemy soldier (E2) standing ~100 m S of your position with no line of sight to you or the soldier you just killed.

Don't understand after kill him No alarm go ON ? why a few second later you will hear the alarm go off !!!

could it be that the AI commander checks the status of his men every few min to see if everything is fine?

he checks everyone status and one guy doesnt respond, so he takes it as thoe the man is either missing or dead, and theres a breach of security some where.

at least thats how i see it.

i have noticed that killing one soldier over another could mean the difference between the alarm going off, and you moving on to the next target undetected.

an example of this would be - i kill a soldier in a two man team who is not the commander, then i kill the commander befor he checks the status of his comrade. i get no alarm and move on with my mission.

it's like when im playing an airsoft night game in the forest. everyone in my group has a radio and every few min we sound off to the commander. when someone is killed the commander will know on the next sound off. and depending on who it was that didnt call in on the sound off we know more or less what area an attack on an intruder is coming from.

maybe BIS should increase the time spacing on when the commanders check their group status.

Share this post


Link to post
Share on other sites
Don't understand after kill him No alarm go ON ? why a few second later you will hear the alarm go off !!!

Actually, in this simple test mission the alarm sound goes off almost instantly after you shot E1 so the text may be a bit missleading...

I just used the "detected by OPFOR" trigger here to showcase that the enemy AI (E2) magically detects when you shot his friend (E1) even if he is to far away to hear it and have no LOS.

@Dynamax: The two soldiers (E1 and E2) are not grouped so no one is commanding.

/KC

Share this post


Link to post
Share on other sites
I repeat after  i kill him No alarm, not detected  banghead.gif

Then you probably use different "skillEnemy" settings in your .ArmAProfile, try move E2 a bit closer or change "skillEnemy" to 0.920000.

/KC

Share this post


Link to post
Share on other sites

Ok E2 a bit closer 80m Alarm and detected

This is clearly a bug

Thanks

Share this post


Link to post
Share on other sites

Did some modifications to your mission there, won't post it here since it's so easy to make yourself. Anyway, the basic thingamajig of it is:

E2 does not actually know you're there. This is a bug in the Detected By trigger, not in AI behaviour. If you use KnowsAbout with E2 upon the alarm going off, you'll find it only goes up to 1.5, 4 being maximum. This means that the AI, at most, "heard" or "sensed" (whatever, smelled, felt his spider sense tingling :P) something awry - you will notice the AI is not actually reacting in any way.

How to "fix" this? Well, just use a generic OPFOR present trigger, and change the condition line to:

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">{_x knowsabout Player > 2} count thisList > 0

Now, whenever the "knowsAbout" goes above 2 for any OPFOR inside the trigger area, the alarm is tripped. You might want to use e.g. 4 for less itchy guards, but it works.

Also, add a couple of seconds to the Timeout section (randomly, if you want) --> If the condition is no longer true by the end of the countdown, it won't trigger (thus allowing you to, for instance, kill a whole group within say 5 seconds without it triggering an alarm).

You're entirely right - the AI does 'spot' you a little too early, but before knowsAbout goes up to 4, they don't really know where you are smile_o.gif IMHO, the Detected By trigger shouldn't trigger before knowsAbout hits 4 - maybe this is what they've changed in one of the patches?

Anyway, do not despair. With some semi-clever scripting it's still very possible to make stealth missions. smile_o.gif

Regards,

Wolfrug

Share this post


Link to post
Share on other sites

Nice catch Wolfrug! Will have to investigate that more tomorrow...

/KC

Share this post


Link to post
Share on other sites
E2 does not actually know you're there. This is a bug in the Detected By trigger, not in AI behaviour.

I still think it's an issue with the AI behaviour...

I modified my mission to also show knowsAbout as well as nearTargets for E2 and ran a couple of more tests.

You are right that the E2's knowsAbout value about you only goes up to 1.5 but he do know you are there after you kill E1 and instantly and correctly classifies your type (Man), your side (WEST) as well as the subjective cost (100000, positive for enemies). However, he does not get your exact position, see pictures below...

Pic 1: This is just before I shot enemy (E1) with one headshot.

ArmA_115b_issue_01.jpg

Pic 2: This is just after I shot him and as you see I'm now in the list of E2's nearTargets and he his well aware about me.

ArmA_115b_issue_02.jpg

Pic 3: This is where E2 think I am (i.e his perceived position of me) and this changes every time. I use the red flag marker on map and the flagpole in 3D world to show where E2 think I am.

ArmA_115b_issue_03.jpg

I also tested above with my 100% silence "test SD ammo" and the result was the same so it doesn't seem to be tied to the ammo sound level. I'm just guessing here but it seems that it is somehow tied to the AI's hit (or maybe killed) event.

Below is the link to my updated mission if you wanna try...

http://keycat.no-ip.com/files....le2.zip

Still very curious if this problem are new to 1.14/1.15 Beta? If anyone still have 1.12 (or earlier) installed please run this simple test mission and share the result.

/KC

Share this post


Link to post
Share on other sites

I seem to remember something that Suma said about "centers" at some point, and how they influence AI behaviour. The idea being that each side has a center (like a command centre) which constantly informs all groups on the same side about various things - such as that a Shilka has exploded, and that there are probably enemies somewhere close by, 'alerting' nearby groups. The alert however does not mean that they actually know exactly who did it, just that something has been done.

So that might be what's happening, somehow. Like...the center called in to the dead guy, didn't get a reply, and told everyone in the area that this guy is dead, watch out. Of course - this is not something that stealth-mission makers want, but I don't know...it's not like the AI isn't stupid enough anyway, and the situation you're setting up here is quite artificial - in an actual stealth mission, wouldn't it be noticed that patrols aren't showing up where they're supposed to, that guard posts have gone missing and so on?

Ah well, no more apologetics - you're quite correct that this behaviour is not entirely kosher, and might need some corrections. HOWEVER, it is still more than possible to make stealth missions, as long as you avoid the Detected By trigger I guess?

Nice work with nearTargets - I always forget that command exists. Interesting finds, however!

Regards,

Wolfrug

Share this post


Link to post
Share on other sites

That was a really great experiment you guys conducted. It was very educational to read.

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
Sign in to follow this  

×