Jump to content
Sign in to follow this  
fabrizio_t

[WIP] bCombat infantry AI Mod [SP]

How do you rate your first bCombat experience  

55 members have voted

  1. 1. How do you rate your first bCombat experience

    • Very disappointing
      2
    • Mediocre
      4
    • Average
      2
    • Good
      16
    • Very good
      31


Recommended Posts

i havent had much time to test i tinkered around with that tracking script. I got it work, enough to track at least. dont have much time to post actual feedback. just to say that i notice a change in this version then from v.11bcombat. ai seems to react more fluidly, leader doesnt rambo as much, if at all..

This is noticed with default straight out the box settings. Minus some of the debugging stuff. I might have to re-install Arma 3 im getting some weird fps issues recently..

Any who.

I cant wait to test out v.13 with more grenade throwing.... that is the biggest difference between vanilla and bcombat i can see off hand, is the lack of UGL usage and regular frag usage. In vanilla they were way inaccurate, but they did use them more often. In v.12 they dont use them 1/4 as much.

like i said i have only really tested around the default settings. ill tool around more this weekend after work hrs. see what i see

Thanks again Fab, This mod is coming along nice already!!!

Share this post


Link to post
Share on other sites

Fab that is a great video I love the grenade throwing, when will we be able to test this version thanks awesome work.

Share this post


Link to post
Share on other sites

Just for the sake of comparison, here are screens of three tests done with the latest ASR AI (1x speed).

Test 1

- 9 minutes

- OPFOR friendly fire

- 5 BLUFOR survivors (regrouped in a building, not at waypoint)

- most OPFOR killed during first contact

Test 2

- 5 minutes

- 7 OPFOR killed during first contact, 1 survivor fled

- 5 BLUFOR survivors

Test 3

- 10 minutes

- 5 OPFOR killed during first contact

- 3/4 BLUFOR survivors, regrouped North of waypoint

- a lot of spread out movement by BLUFOR

Share this post


Link to post
Share on other sites
Fab that is a great video I love the grenade throwing, when will we be able to test this version thanks awesome work.

I need some more time, there are still many issues to be sorted.

Share this post


Link to post
Share on other sites

I don't know if this is a bug with bCombat or if it occurs in vanilla, but twice I was part of a squad that got shot down in a chopper. The chopper exploded once it was on the ground, but the team managed to get out. However, once we were out, I was no longer part of the group and then somehow I became leader of the group even though the actual leader was still alive. I ended up leading the squad for the rest of the mission.

The only thing I noticed at the time was that nearly the whole group had purple or red bubbles over their heads. No errors popped up and there are none in the RPT as far as I can tell. I'll try to reproduce it in vanilla, but getting shot down in a chopper and surviving the resulting fireball may be hard to do a third time.

Share this post


Link to post
Share on other sites

Here is something I'm curious about, is if we change the Cfgaiskill in bcombat how much would it change gameplay on how the Ai react or move? Also if it does affect it what would be a good array of numbers to use?

class CfgAISkill

{

aimingAccuracy[] = {0,0,1,0.65};

aimingSpeed[] = {0,0.3,1,1};

aimingShake[] = {0,0,1,1};

endurance[] = {0,0,1,1};

spotDistance[] = {0,0.3,1,0.6};

spotTime[] = {0,0.2,1,1};

courage[] = {0,0,1,1};

reloadSpeed[] = {0,0.2,1,1};

commanding[] = {0,0.3,1,1};

general[] = {0,0,1,1};

Share this post


Link to post
Share on other sites

I would have love to been a tester. All i do in ArmA 3 is try and mix and match Ai Mods for the best gameplay and test and test and test all day long takes hours on end. I going to start follow this mod close now

Share this post


Link to post
Share on other sites

I'm sure SoonTM there will be something to show :) Testing is ongoing and it is looking very good indeed. Can't say more than that atm.

Share this post


Link to post
Share on other sites
I don't know if this is a bug with bCombat or if it occurs in vanilla, but twice I was part of a squad that got shot down in a chopper. The chopper exploded once it was on the ground, but the team managed to get out. However, once we were out, I was no longer part of the group and then somehow I became leader of the group even though the actual leader was still alive. I ended up leading the squad for the rest of the mission.

The only thing I noticed at the time was that nearly the whole group had purple or red bubbles over their heads. No errors popped up and there are none in the RPT as far as I can tell. I'll try to reproduce it in vanilla, but getting shot down in a chopper and surviving the resulting fireball may be hard to do a third time.

Purple bubbles are the reason.

All the units were fleeing, hence temporarily leaving the group, so you became leader.

Good to see the units were panicking / fleeing after such an adventure ... i understand them.

That said they were supposed to rejoin original group after morale recovery, but that coward leader was degradated ;)

I will look into this. Better to exclude custom fleeing from groups containing player?

---------- Post added at 18:05 ---------- Previous post was at 18:01 ----------

Here is something I'm curious about, is if we change the Cfgaiskill in bcombat how much would it change gameplay on how the Ai react or move? Also if it does affect it what would be a good array of numbers to use?

class CfgAISkill

{

aimingAccuracy[] = {0,0,1,0.65};

aimingSpeed[] = {0,0.3,1,1};

aimingShake[] = {0,0,1,1};

endurance[] = {0,0,1,1};

spotDistance[] = {0,0.3,1,0.6};

spotTime[] = {0,0.2,1,1};

courage[] = {0,0,1,1};

reloadSpeed[] = {0,0.2,1,1};

commanding[] = {0,0.3,1,1};

general[] = {0,0,1,1};

Tweaking CfgAISkill does affect AI behaviour alot, but not for the better usually :)

Current settings are already balanced for bCombat needs.

---------- Post added at 18:06 ---------- Previous post was at 18:05 ----------

I'm sure SoonTM there will be something to show :) Testing is ongoing and it is looking very good indeed. Can't say more than that atm.

I'd add WhenItsReadyTM :)

---------- Post added at 18:09 ---------- Previous post was at 18:06 ----------

I would have love to been a tester. All i do in ArmA 3 is try and mix and match Ai Mods for the best gameplay and test and test and test all day long takes hours on end. I going to start follow this mod close now

I'm sorry, we're already close to the third testing release and in this phase i'd like to work with extablished testers only.

Hope you understand.

(NO) UPDATE:

Not much work done today, due to ... life.

Looks like v0.12 was solid enough, while v0.13 is shaping well.

I have to lessen some issues with grenade lobbing, many friendly casualties due to poor trajectory check.

I have to rework it a bit to make it more reliable.

Edited by fabrizio_T

Share this post


Link to post
Share on other sites

@ebarstad: The idea to use path tracking was excellent. Really useful and informative results! I'll defintely be making use of that script during future bCombat testing sessions.

@fabrizio_T: That CQB fight looked amazing. Intense volume of fire and the grenade throwing was lovely. The look and feel of the firefight was much improved over vanilla. Looking forward to 0.13, but no need to rush (like you, I've been quite busy as well ;)).

Share this post


Link to post
Share on other sites

I tested over the week kronzys urban patrol script with Bcombat and the results where pretty nice, lots of flanking and the battles lasted longer as well. Also seemed that the Ai thought out there routes more.

Share this post


Link to post
Share on other sites

UPDATE

I've lessened the biggest problems with grenade throwing, looks like this feature will definetely be within v0.13, as an optional enhancement.

Sure it's alpha state, but since it works fine 60-70% of times i consider it worth including.

I'm considering smoke grenade throwing, but i am in doubt in which exact cases such a feature is supposed to be useful, if at all.

Probably useful at range, as a "group protection" feature when some unit comes into fire ?

I'd like to collect some suggestions.

In the meantime i'm testing stuff and exposing more and more variables into bcombat.sqf, in order to achieve good granularity of control on both core and optional features.

I'm positive i will be able to release v0.13 later this week.

Share this post


Link to post
Share on other sites
I'm considering smoke grenade throwing, but i am in doubt in which exact cases such a feature is supposed to be useful, if at all.

Probably useful at range, as a "group protection" feature when some unit comes into fire ?

I'd like to collect some suggestions.

CQB flanking and reaction to suppression, both CQB and distanced fire.

In reaction to fire, for distance, they could throw smoke 1/4 of the way between them and the nearest cover, moving lateral to the fire. In CQB, they could pop smoke directly between them and fire and attempt retreat. Perhaps a more sophisticated way of dealing with high skill fleeing soldiers.

Edited by TheCapulet

Share this post


Link to post
Share on other sites
UPDATE

I've lessened the biggest problems with grenade throwing, looks like this feature will definetely be within v0.13, as an optional enhancement.

Sure it's alpha state, but since it works fine 60-70% of times i consider it worth including.

I'm considering smoke grenade throwing, but i am in doubt in which exact cases such a feature is supposed to be useful, if at all.

Probably useful at range, as a "group protection" feature when some unit comes into fire ?

I'd like to collect some suggestions.

In the meantime i'm testing stuff and exposing more and more variables into bcombat.sqf, in order to achieve good granularity of control on both core and optional features.

I'm positive i will be able to release v0.13 later this week.

Hello,

I asked a question to tpwcas guys Ollem and Lordprimate. I know that ASR_AI should enable smoke grenades throwing, when I read the config file comment on smoke grenades in the .hpp for ASR_AI, it's said that smokes are throwed when supressed under fire.

It doesn't work, I never saw smokes even putting the probability to max in the config file.

Don't know what I'm missing, for example if we need to add smokes to enemy AI load out (I don't know if it's even possible).

Hope it helps.

Share this post


Link to post
Share on other sites
CQB flanking and reaction to suppression, both CQB and distanced fire.

In reaction to fire, for distance, they could throw smoke 1/4 of the way between them and the nearest cover, moving lateral to the fire. In CQB, they could pop smoke directly between them and fire and attempt retreat. Perhaps a more sophisticated way of dealing with high skill fleeing soldiers.

Thx TheCapulet.

I'm a bit perplexed about CQB, i'm not sure smoke is going to increase survivability.

I suspect units would basically end up being killed while lobbing smoke grenades.

Also now units do blind / suppressive fire and this is quite deadly at close distance: in CQB smoke would not help that much.

I agree about usefulness on distance, when units are suppressed.

Why not throwing directly towards enemy, as far as possible from threatened unit?

That would best choice for group concealement and for affecting the most the attacker visual cone.

More smoke grenades may be lobbed along the path away.

Then: we really wish smoke to be deployed anytime units come under fire?

This way both parts would deploy smoke quite a bit.

Ok, we may set some timeouts, but still it feels overdone.

I would like to somewhat restrict the logic, for instance:

* we can check if some cover is very close, if so we won't deploy smoke;

* we can check distance to waypoint and / or unit destinbation and tie smoke deploying on this, so that only moving units use it.

These are only thoughts, i'd like to collect opinions and suggestions.

Let's build some consensus on this (trying to keep things as simple as possible).

---------- Post added at 15:35 ---------- Previous post was at 15:28 ----------

Hello,

I asked a question to tpwcas guys Ollem and Lordprimate. I know that ASR_AI should enable smoke grenades throwing, when I read the config file comment on smoke grenades in the .hpp for ASR_AI, it's said that smokes are throwed when supressed under fire.

It doesn't work, I never saw smokes even putting the probability to max in the config file.

Don't know what I'm missing, for example if we need to add smokes to enemy AI load out (I don't know if it's even possible).

Hope it helps.

I really don't know, i think you're talking about TPWCAS + ASR AI, but i'm not involved inthem except for bDetect.

However i bet you have to put smoke grenades into units inventory.

At least i would do so, for instance in bCombat a grenade is thrown only if present in loadout.

(There's also an option to automatically add a number of them to each unit)

Share this post


Link to post
Share on other sites
I'm considering smoke grenade throwing, but i am in doubt in which exact cases such a feature is supposed to be useful, if at all.

Probably useful at range, as a "group protection" feature when some unit comes into fire ?

I'd like to collect some suggestions.

I meant, perhaps you can have a look to asrai code.

TheCapulet suggestion is very precise "In reaction to fire, for distance, they could throw smoke 1/4 of the way between them and the nearest cover, moving lateral to the fire. In CQB, they could pop smoke directly between them and fire and attempt retreat."

And sounds very immersive !!!

Thanks for the inventory suggestion.

Share this post


Link to post
Share on other sites

AI have been using smoke for sometime, slx, gl3/4. They use it well, when under suppressive fire, for injured cover etc. I have uploaded a short test to KAI channel where they use it to get out of a building that is under suppressive fire. It works they fall back to the next building and it all starts over again, great building to building combat.

Everything they carry, has to be usable by the AI, and indeed it is with many ai mod/addons, should be the case in A3 as stock, but BI don't care too much regards ai, which is a great shame.

Share this post


Link to post
Share on other sites

In ASR AI, I believe that smoke throwing only occurs if a unit has been hit. i.e., if a unit is hit but not killed, there is a certain chance that he'll pop smoke. Unfortunately there are a few problems with how it's done in ASR AI:

1) If standing, the AI throws the smoke at a very high trajectory, causing him to bend his back at an unnatural angle and it takes him a long time to return to a proper shooting position.

2) The AI popping smoke is a sitting duck because a) he has prioritized throwing smoke over getting to cover, b) he can't return fire because of the angle of his torso (he's aiming at the sky), and c) the high trajectory of the smoke grenade means the smoke hasn't landed to provide any concealment.

3) They throw smoke in a seemingly random direction as opposed to always being between them and the source of the suppression.

I think the idea behind ASR AI's method is good enough -- it's simple and random enough to allow for immersion without being too CPU heavy. However, the technique needs to be tweaked a bit (says a non-coder) so that the problems above can be avoided and so that the smoke grenades are actually useful for AI survivability.

Share this post


Link to post
Share on other sites

Thanks for feedback, i'm thinking about the matter.

In ASR AI, I believe that smoke throwing only occurs if a unit has been hit. i.e., if a unit is hit but not killed, there is a certain chance that he'll pop smoke. Unfortunately there are a few problems with how it's done in ASR AI:

1) If standing, the AI throws the smoke at a very high trajectory, causing him to bend his back at an unnatural angle and it takes him a long time to return to a proper shooting position.

2) The AI popping smoke is a sitting duck because a) he has prioritized throwing smoke over getting to cover, b) he can't return fire because of the angle of his torso (he's aiming at the sky), and c) the high trajectory of the smoke grenade means the smoke hasn't landed to provide any concealment.

3) They throw smoke in a seemingly random direction as opposed to always being between them and the source of the suppression.

I think the idea behind ASR AI's method is good enough -- it's simple and random enough to allow for immersion without being too CPU heavy. However, the technique needs to be tweaked a bit (says a non-coder) so that the problems above can be avoided and so that the smoke grenades are actually useful for AI survivability.

Interesting. I have no idea on how it's done but:

1) this is probably BIS fault, the muzzle animation for smoke shell throwing is like that; hopefully we may be able to use handGrenade muzzle though

2) no way around i think, the throwing animation needs some time and unit can't defend itself within this timeframe. I'd call it realistic though.

3) the problem is it's probably done with fire command, which does not features a target. Hard to overcome completely, but workarounds are possible (same problem exists for regular hand grenades).

Share this post


Link to post
Share on other sites
Thx TheCapulet.

I'm a bit perplexed about CQB, i'm not sure smoke is going to increase survivability.

I suspect units would basically end up being killed while lobbing smoke grenades.

Also now units do blind / suppressive fire and this is quite deadly at close distance: in CQB smoke would not help that much.

I agree about usefulness on distance, when units are suppressed.

Why not throwing directly towards enemy, as far as possible from threatened unit?

That would best choice for group concealement and for affecting the most the attacker visual cone.

More smoke grenades may be lobbed along the path away.

Then: we really wish smoke to be deployed anytime units come under fire?

This way both parts would deploy smoke quite a bit.

Ok, we may set some timeouts, but still it feels overdone.

I would like to somewhat restrict the logic, for instance:

* we can check if some cover is very close, if so we won't deploy smoke;

* we can check distance to waypoint and / or unit destinbation and tie smoke deploying on this, so that only moving units use it.

These are only thoughts, i'd like to collect opinions and suggestions.

Let's build some consensus on this (trying to keep things as simple as possible).

In Arma 2, AI got killed while throwing smoke all the time. But I think with arma 3's quick throw method, they might be effective with them. Specially vs the player. The other idea here was to have AI try to use them offensively. Such as hearing or getting team member visual, popping smoke between enemy and AI, then flanking around smoke to attack enemy.

As for distance throw placement, you may be right. My thought was that you'd want to throw it laterally towards your cover so that you could run from that cover to the next. Not sure if it's possible to set a radius around a smoke nade and set Ai to use it as cover? *shrug* Another possibility would be to have AI occasionally use them as decoys. Have them throw as far as they can laterally right or left of enemy fire and away from nearest planned cover, then take cover.

As for when it should be deployed, the AI should also check to see if another unit in it's group has thrown one. Not sure how sophisticated it can get when it comes to checking if it's effective or not, but it should be a useful common sense check to keep Ai from spamming the hell out of them.

Share this post


Link to post
Share on other sites

Playtesting (preliminary to v0.13 release).

[Rant begin]

May i say that pathfinding is still horrible in Arma 3?

Frustrating at least.

[Rant end]

Had a blast with Assault on Charkia and [sP] infantry.

Even got some enemies surrendering. Cowards.

Shame sometimes AI units refuse to fall into formation properly (playing as leader, vanilla issue).

---------- Post added at 18:53 ---------- Previous post was at 18:22 ----------

v0.13 is on its way.

Gentlemen,

please run it on stock settings, then uncomment all the code within config.sqf file, then run again.

config.sqf file was added for custom configuration, some description about options is contained into config.sqf.

The configuration you are going to uncomment is pretty aggressive compared to default.

I bet you will be able to spot quite some differences (e.g. grenade throwing / movement to cover, both drafted).

I'll post info about options and package configuration within the next few days.

Edited by fabrizio_T
typos...

Share this post


Link to post
Share on other sites

Nice work!

Might be useful for debugging: track.sqf

A few weeks ago I also updated Kronzky's track script for A3 personal use.

May help you - though I guess I better quickly ask him if he minds sharing this version here..

usage:

Put the following in the init of single unit to track single unit:

[this, "WP"] execVm format ["track.sqf"];

Put the following in the init of leader of group to track group leader and all group members individually:

[this, "GROUP","WP"] execVm format ["track.sqf"];

(Group members will have a limited length white trace)

Note: for group member tracking the script calls itself at line 157 - adjust path if not placed in root. (Should have made/used a function here...)

Updated Kegetys' script with 'auto action focus' option: updated Kegtys' Spectator script

Share this post


Link to post
Share on other sites

Hello Fabrizio,

* Whenever under fire, units prioritize returning fire over movement, unless:

* unit skill is low

* morale (see MORALE) is low

* fire is coming from flank or back, or they're moving at speed: in that case units may prefer keep moving towards planned destination

I believe there should be one more priority check. The distance from which a unit is attacked.

AI should prefer taking cover at all costs when ambushed from the distance instead of returning fire. After they are in cover already they should start counter-attacking the attacker. Not before that. Of course, if the nearest cover is too far from the attacked unit, the unit should prefer going prone instead and firing immediately (or running away).

Now, if a group is attacked, machinegunners could give the rest of the group covering fire (in prone position, if possible) while the rest of the group seek cover without any stopping and checking at all. I yet have to see a really quick dive into a cover in the ARMA series - that means no checking surroundings at all, not thinking, just freaking sprinting to the nearest cover available without caring about targeting enemy at all.

Once again, this suggestion is for being attacked from the distance only. CQB priority should be fire > movement/cover as you have it now.

If you wouldn't mind watching a little bit graphic video (no gore or blood, one guy got hit and felt down while the rest of the group is taking cover immediately), I can send you a link to show you how taking cover should look like when ambushed.

Anyway, you are doing a great job and I am glad you have not given up on Arma yet.

Edited by Bouben

Share this post


Link to post
Share on other sites
Hello Fabrizio,

I believe there should be one more priority check. The distance from which a unit is attacked.

AI should prefer taking cover at all costs when ambushed from the distance instead of returning fire. After they are in cover already they should start counter-attacking the attacker. Not before that. Of course, if the nearest cover is too far from the attacked unit, the unit should prefer going prone instead and firing immediately (or running away).

Now, if a group is attacked, machinegunners could give the rest of the group covering fire (in prone position, if possible) while the rest of the group seek cover without any stopping and checking at all. I yet have to see a really quick dive into a cover in the ARMA series - that means no checking surroundings at all, not thinking, just freaking sprinting to the nearest cover available without caring about targeting enemy at all.

Once again, this suggestion is for being attacked from the distance only. CQB priority should be fire > movement/cover as you have it now.

If you wouldn't mind watching a little bit graphic video (no gore or blood, one guy got hit and felt down while the rest of the group is taking cover immediately), I can send you a link to show you how taking cover should look like when ambushed.

Anyway, you are doing a great job and I am glad you have not given up on Arma yet.

Sure, i agree.

It already works almost that way.

I have some ideas for machinegunners too.

Usually, the info i provide here is simplified,but there's much more in the code already.

Actually, a unit will return fire if (almost true-to-real pseudo-code):

(unit is alive)
AND (unit is not player)
AND (enemy is enemy)
AND (unit is not captive)
AND (unit is not fleeing)
AND (unit can fire) 
AND (unit skill not too low) 
AND (enemy in range of unit's current weapon) 
AND (combatmode is not BLUE) 
AND (knowledge of enemy high enough) 
AND (unit is not moving OR hidden OR distance to enemy is under threshold)
AND (enemy is visible)
AND ( unit suppression not too high OR enemy very near OR angle to enemy is under threshold)

Please share the video.

---------- Post added at 21:26 ---------- Previous post was at 21:16 ----------

Nice work!

Might be useful for debugging: track.sqf

A few weeks ago I also updated Kronzky's track script for A3 personal use.

May help you - though I guess I better quickly ask him if he minds sharing this version here..

usage:

Put the following in the init of single unit to track single unit:

[this, "WP"] execVm format ["track.sqf"];

Put the following in the init of leader of group to track group leader and all group members individually:

[this, "GROUP","WP"] execVm format ["track.sqf"];

(Group members will have a limited length white trace)

Note: for group member tracking the script calls itself at line 157 - adjust path if not placed in root. (Should have made/used a function here...)

Updated Kegetys' script with 'auto action focus' option: updated Kegtys' Spectator script

Hi Ollem!

I know Kronzky's script, i wrote my own tracking script based on it already.

Not on par with the original though, so your script comes in handy.

Thank you.

---------- Post added at 21:30 ---------- Previous post was at 21:26 ----------

In Arma 2, AI got killed while throwing smoke all the time. But I think with arma 3's quick throw method, they might be effective with them. Specially vs the player. The other idea here was to have AI try to use them offensively. Such as hearing or getting team member visual, popping smoke between enemy and AI, then flanking around smoke to attack enemy.

As for distance throw placement, you may be right. My thought was that you'd want to throw it laterally towards your cover so that you could run from that cover to the next. Not sure if it's possible to set a radius around a smoke nade and set Ai to use it as cover? *shrug* Another possibility would be to have AI occasionally use them as decoys. Have them throw as far as they can laterally right or left of enemy fire and away from nearest planned cover, then take cover.

As for when it should be deployed, the AI should also check to see if another unit in it's group has thrown one. Not sure how sophisticated it can get when it comes to checking if it's effective or not, but it should be a useful common sense check to keep Ai from spamming the hell out of them.

Thank you, this really helps me in thinking / protoptyping the base logic.

Spamming can be easily avoided, checking is already in place for regular hand grenades.

The decoy stuff looks hard to get working though.

Edited by fabrizio_T

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

×