Jump to content

Recommended Posts

...And in the interests of getting back on topic, let's dive face-first into that horrific video :)

One thing that is actually good in the video is that, at around 14s, the AI react quickly and try to shoot the player. It's actually going well up to this point. Without actually debugging the values, I'd guess that:

  1. The AI heard the player approaching
  2. Fired when they knew that the target was an enemy
  3. Continued to fire where they 'guess' they player was, after they lost line of sight
  4. Take out their pistols when they know it's a CQB situation*

One way or another, all 'as designed' so far. It starts to get real ugly when they move and engage. We'll try to get a clean repro of this problem. We've tried to repeat the situation internally, in case you missed the post:

I think AFP is right in highlighting these four issues and, again, if we can get a clean repro of each that demonstrates the behaviour, we can debug that and find out what's going wrong.

We can 'design' AI behaviour in the abstract, at the descriptive level (the given that general situation, the ai should usually react like this'), but we need to debug what's actually going on (these specific inputs resulted in this set of actions).

Bring a programmer a story, his eyes will glaze over; bring him a repro, he can try to teach the AI correct behaviour.

Damn... really tried to insert 'fish' into that sentence. :cool:

Best,

RiE

*which you might disagree with, but it's a simple config value, which determines if and when they'll switch to the side arm - making that a data issue, rather than a program one (hello, Task Force Balance

Re the switch to pistol thing (and if this is a Task Force Balance" thing please can a mod move this comment) I'm reminded of the quote “The only purpose for a pistol is to fight your way back to the rifle you should have never laid down.†Indoor fighting / confined space is one thing but I see know reason other than no primary ammo left or weapon jam why you'd transition to a pistol. It's happened to me a few times on "infantry showcase". I'm sure it's a proximity thing but when it was OPFOR they were easily dispatched and when it was my sole remaining team AI team mate he died pretty quickly too.

I think the AI changes seem to be going in the right direction (the lets crawl huge distances during combat seems to have gone (Thank God).

On doing a similar test to the video I also saw the AI (AI set to max skill) flank around the building which was good to see. The problem seems to be the proximity thing and not prioritising shooting at a seen enemy above all else. As Azzur33 noted - "The problem: one of them just went in front of me, seeing me, then run further trying to get behind the sandbags, which I generously allowed.

The one flanking me from behind, did the same, instead of shooting me while he had the chance, he went searching for cover from the sandbags, then tried to sneak closer, and died." Seen exactly the same behaviour.

Anyway - keep it improving please!

Share this post


Link to post
Share on other sites
Definitely. As I posted earlier (again with the caveat that I know nothing of AI programing) it seems the AI needs an "over-ride" which is "I've seen an enemy, it's less than x metres away, I will not do anything other than fire at that enemy" It can then evaluate it's surroundings etc... I'm sure it's complex etc.. but that one thing would fix sooo much of the experience of an engagement.

Thanks

Agree 100%. Waypoints and cover be damned: if an AI has line of sight to a nearby enemy it should stop, rapidly turn, and try to drop that enemy. While this can be scripted (I know this because I've just done it), it'd be nicer and cleaner to have it implemented into the AI at engine level.

Share this post


Link to post
Share on other sites
The problem seems to be the proximity thing and not prioritising shooting at a seen enemy above all else. As Azzur33 noted - "The problem: one of them just went in front of me, seeing me, then run further trying to get behind the sandbags, which I generously allowed.

The one flanking me from behind, did the same, instead of shooting me while he had the chance, he went searching for cover from the sandbags, then tried to sneak closer, and died." Seen exactly the same behaviour.

Anyway - keep it improving please!

I can confirm this is the behaviour. When they lose LOS with the player, they plan a waypoint to the next coverpoint. (a sandbag or whatever). If they turn the corner, and player is there, they're still moving to the cover point before engaging the target.

An additional problem is, if I kill, say, two guys in a fireteam, the group does appear to flee. When they're fleeing, with a move order, they also aren't engaging the player as one might expect in real life. Both of these issue (which are somehow the same root issue) are readily seen on the video in this thread.

So, we can chat with the programmers on monday about it and consider what would be possible to do in these situations.

Best,

RiE

Share this post


Link to post
Share on other sites

RiE, thanks so much for being so communicative and forthright. And on a weekend too! I'm really glad that you guys are going the extra mile to sort out the AI.

Share this post


Link to post
Share on other sites

once again RIE saves the day

I can confirm this is the behaviour. When they lose LOS with the player, they plan a waypoint to the next coverpoint. (a sandbag or whatever). If they turn the corner, and player is there, they're still moving to the cover point before engaging the target.

An additional problem is, if I kill, say, two guys in a fireteam, the group does appear to flee. When they're fleeing, with a move order, they also aren't engaging the player as one might expect in real life. Both of these issue (which are somehow the same root issue) are readily seen on the video in this thread.

So, we can chat with the programmers on monday about it and consider what would be possible to do in these situations.

Best,

RiE

Share this post


Link to post
Share on other sites
RiE, thanks so much for being so communicative and forthright. And on a weekend too! I'm really glad that you guys are going the extra mile to sort out the AI.

The same... isn't it beer o'clock in Cz?;-)

Share this post


Link to post
Share on other sites
So, we can chat with the programmers on monday about it and consider what would be possible to do in these situations.

If this can and will be fixed, it'll a one Huuuuuuuuuuuuuuuuuuuuge leap forward.

It has been one of the two major problems with AI, which performs pretty well in many other areas.

The another major problem is the vehicle AI in tighter spaces. Vehicles sometimes look like a drunken bull in a china shop, making big corrections and putting pedal to the metal when backing up, and slamming the breaks when the movement should be precise and "small". I know that handling big clumsy machines isn't always that subtle, but at least the lighter vehicles should be able manage that.

Vehicles often get stuck easily against rocks or some other obstacles too. Trying to push forward forever and not even try to back up.

Share this post


Link to post
Share on other sites
if you claim there are AI regressions and these fixes aren't working...

Sometimes when in formation, the AI units won't form up properly and spin in little circles around the place where they're supposed to stand. I remember this issue cropped up in some of the Arma 2 betas (1.59 I think).

Will have a look when I get home and put together a repro for you.

Share this post


Link to post
Share on other sites
I can confirm this is the behaviour. When they lose LOS with the player, they plan a waypoint to the next coverpoint. (a sandbag or whatever). If they turn the corner, and player is there, they're still moving to the cover point before engaging the target.

The AI is limited sometimes, but other times it really does impress me. Its often the disconnect between it making the right strategic moves and some of the limitations up close that really may break the experience.

Take this repro mission for example, which produced this behaviour:

JAC_AI_PREV_1.jpg

  • At the start of the mission, I reveal myself to the enemy by moving up and shooting off a few rounds by their feet
  • I Move back into cover and wait
  • The commander will (most of the time) set up a flanking attack, where he sends the rest of his fire team around the building.
  • He maintains cover on my last known position, ready to blow my head off
  • Little by little, he advances around the corner to check if I'm there
  • He starts shooting quite quickly once he spots me, and I have to turn and kill him

Then.. it goes a bit wrong. :o

JAC_AI_PREV_2.jpg

This is all non-deterministic behaviour based on decision making under uncertain conditions, which is hard to get right. The fact the AI is capable of making the choice to plan an attack based on the information they discover demonstrates the strengths of our AI.

The trouble is in the execution stage, where the clunky planning creates situation where the AI will prefer to finish getting to a coverpoint before engaging the threat (you). This leads to the silly looking video posted earlier in the thread, and a generally accepted narrative that 'the AI is dumb'.

However, that analysis doesn't consider range. If the AI is told to move to a cover point, and he spots an enemy target, say, 300m away, the best choice would be to get to the cover, and fire from this position. The AI shouldn't always break from their path because they spot an enemy in this case. In CQB, the priorities change, if the enemy is 5 meters from you, it makes no sense to move another 10 meters to get into cover before moving.

Since the majority of engagements in Arma are not CQB, the AI will more often than not make the 'correct decision'. The question is whether it is feasible to introduce an (engine-based) decision about moving to coverpoints based on the distance to target; e.g:

[table=width: 500, class: grid]

[tr]

[td]Range[/td]

[td]Priority[/td]

[/tr]

[tr]

[td]<25m[/td]

[td]Engage Target[/td]

[/tr]

[tr]

[td]>25m[/td]

[td]Move to Coverpoint[/td]

[/tr]

[/table]

I'd also add that fleeing behaviour greatly affects the impression of the AI. In the repro mission, if I kill two of the fireteam, the remainder will flee. When fleeing, they completely ignore the player, meaning that even if I shoot at/around an AI - even run with one holding hands while fleeing - they will not choose to engage me.

Anyway, we have something concrete to take to our programmers. There's absolutely no promises, but at least we can isolate behaviours and suggest a way forward.

Isn't it beer o'clock in Cz?;-)

You know, I do believe it is.

Best,

RiE

Edited by RoyaltyinExile

Share this post


Link to post
Share on other sites
The AI is limited sometimes, but other times it really does impress me. Its often the disconnect between it making the right strategic moves and some of the limitations up close that really may break the experience.

Take this repro mission for example, which produced this behaviour:

http://s16.postimg.org/gqtzu1btx/JAC_AI_PREV_1.jpg

  • At the start of the mission, I reveal myself to the enemy by moving up and shooting off a few rounds by their feet
  • I Move back into cover and wait
  • The commander will (most of the time) set up a flanking attack, where he sends the rest of his fire team around the building.
  • He maintains cover on my last known position, ready to blow my head off
  • Little by little, he advances around the corner to check if I'm there
  • He starts shooting quite quickly once he spots me, and I have to turn and kill him

Then.. it goes a bit wrong. :o

This is all non-deterministic behaviour based on decision making under uncertain conditions, which is hard to get right. The fact the AI is capable of making the choice to plan an attack based on the information they discover demonstrates the strengths of our AI.

The trouble is in the execution stage, where the clunky planning creates situation where the AI will prefer to finish getting to a coverpoint before engaging the threat (you). This leads to the silly looking video posted earlier in the thread, and a generally accepted narrative that 'the AI is dumb'.

However, that analysis doesn't consider range. If the AI is told to move to a cover point, and he spots an enemy target, say, 300m away, the best choice would be to get to the cover, and fire from this position. The AI shouldn't always break from their path because they spot an enemy in this case. In CQB, the priorities change, if the enemy is 5 meters from you, it makes no sense to move another 10 meters to get into cover before moving.

Since the majority of engagements in Arma are not CQB, the AI will more often than not make the 'correct decision'. The question is whether it is feasible to introduce decision making about moving to coverpoints based on the distance to target; e.g:

[table=width: 500, class: grid]

[tr]

[td]Range[/td]

[td]Priority[/td]

[/tr]

[tr]

[td]<25m[/td]

[td]Engage Target[/td]

[/tr]

[tr]

[td]>25m[/td]

[td]Move to Coverpoint[/td]

[/tr]

[/table]

I'd also add that fleeing behaviour greatly affects the impression of the AI. In the repro mission, if I kill two of the fireteam, the remainder will flee. When fleeing, they completely ignore the player, meaning that even if I shoot at/around an AI - even run with one holding hands while fleeing - they will not choose to engage me.

Anyway, we have something concrete to take to our programmers. There's absolutely no promises, but at least we can isolate behaviours and suggest a way forward.

Best,

RiE

Thanks for this RiE

I think tpw's excellent LOS script does something similar with the range settings. Look forward to seeing future improvments

Cheers

Share this post


Link to post
Share on other sites

AI when using binoculars or rangefinder don't want to get off them... they just stay standing up or crouch looking through them...

tried changing combat stance through high command but does not do anything.

they should use it for X amount of seconds when looking in a certain direction or something

Share this post


Link to post
Share on other sites
~ GOOD STUFF ~

Best,

RiE

If that lot gets fixed or massively improved upon then I will be a happy man. I mainly play SP / COOP and as you can imagine the AI is the number 1 topic for me personally.

Edited by dale0404
because of Varanon and Old_Painless... :)

Share this post


Link to post
Share on other sites
I'd also add that fleeing behaviour greatly affects the impression of the AI. In the repro mission, if I kill two of the fireteam, the remainder will flee. When fleeing, they completely ignore the player, meaning that even if I shoot at/around an AI - even run with one holding hands while fleeing - they will not choose to engage me.

If only - and this ought to be "simple" in comparison - the AI could signal more clearly that they are indeed fleeing/surrendering (hands up, kneeling etc). That would clear up a lot of misunderstanding of what the (hell) the AI are doing, could probably explain some issues raised on the tracker

Share this post


Link to post
Share on other sites
If that lot gets fixed or massively improved upon then I will be a happy man. I mainly play SP / COOP and as you can imagine the AI is the number 1 topic for me personally.

Not directed at you, dale0404, but since it's been the second time, could you please stop quoting screen-long posts in their entirety while just adding a one-liner below them ?

Share this post


Link to post
Share on other sites
Not directed at you, dale0404, but since it's been the second time, could you please stop quoting screen-long posts in their entirety while just adding a one-liner below them ?

Happy now? :D

Share this post


Link to post
Share on other sites
If only - and this ought to be "simple" in comparison - the AI could signal more clearly that they are indeed fleeing/surrendering (hands up, kneeling etc). That would clear up a lot of misunderstanding of what the (hell) the AI are doing, could probably explain some issues raised on the tracker

Fleeing and surrendering are different things. If fleeing they should be running away from contact as hard as they can until they feel safe.

Share this post


Link to post
Share on other sites

@RIE Could you please ask your AI guys to rethink the use of pistols? The AI should only switch to the pistol if they are

1. inside a building and don't have an SMG

2. out of ammo for their rifle

3. carrying a weapon with very low RPM and high magnification scope (sniper rifle)+ enemy nearer than 40m

AI Switching to pistols has always produced problems in Arma 2 and it is generally better to just go full auto with your assault rifle then to switch your weapon.

Could you also ask them about the enable attack false Stuff to stop commanders sending individual soldiers out of cover and into their sure death idea I had somewhere in this thread?

I would quote it but I'm 1500km away from my PC and doing stuff with my phone is difficult. Maybe someone else can find my post and quote it please?

Share this post


Link to post
Share on other sites

My favourite line the AI ever said when I was playing with them!

"2, target that squad leader at 1000 meters! Target eliminated!"

Share this post


Link to post
Share on other sites
When they lose LOS with the player, they plan a waypoint to the next coverpoint. (a sandbag or whatever). If they turn the corner, and player is there, they're still moving to the cover point before engaging the target.

And another problem, at least in the context of that video, is that they're evaluating or prioritizing cover incorrectly in that situation. The AI comes around the corner and sees the player, yet continues to head for the sandbags 20m away, instead of just going back around the corner which is what any sane person would do (other than engaging).

Share this post


Link to post
Share on other sites

for the Fleeing imo the AI needs to have phase of 'retreat with cover/suppress fire' before going into total panic ...

same shall happen with AI in the open / close combat ...

even while moving to cover the AI shall prefer to fire supressively at the threat (or kill the threat in process)

Share this post


Link to post
Share on other sites

I would like to see a way to prevent the AI for dismounting the vehicle, like something you could add to the init like: PreventDismount true; because there are scenarios were I want them to just keep driving even if a unit driving in front of them or behind them gets taken out.

Share this post


Link to post
Share on other sites

Not sure if this is the right right place to post this but I'll give it a shot.

Jump to the end to skip the story

I was making a mission and was using the old out post as a regroup point for the players team, I set up a team of three blufor recon men for the player to meet but I also spawned an opfor squad of nine men about 20m away from them to take out the recon squad and then get in the building.

I started a preview as a blufor RM 100m north west down the road by the time I got to old outpost everyone was dead I restarted as one of the opfor and found out that all the opfor and blufor men threw their grenades straight away opfor shot and killed all blufor troops then proceeded to walk over the grenades they just threw a few seconds ago after a few retry's the same thing happened over and over again but sometimes a few opfor survived, I changed the position of the ai to fix the problem which took longer then expected but I also forget about the grenade thing until I started reading this thread today but I can't recreate it due to my pc not running at the moment.

Long story short I don't think AI reacts to grenades the enemy's or their own but the last time I played a3 was when apc's were new to development branch (GPU and screen crapped themselves) so I'm not sure weather that's still happens.

Share this post


Link to post
Share on other sites
for the Fleeing imo the AI needs to have phase of 'retreat with cover/suppress fire' before going into total panic ...

same shall happen with AI in the open / close combat ...

even while moving to cover the AI shall prefer to fire supressively at the threat (or kill the threat in process)

This. Ideally either more lateral strafing to cover with gun still oriented on enemy or a flat out sprint.

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

×