Jump to content
fabrizio_t

[OPEN BETA] [SP] bCombat infantry AI Mod

How would you rate AI firing accuracy within bCombat v0.15?  

90 members have voted

  1. 1. How would you rate AI firing accuracy within bCombat v0.15?

    • Way too low
      3
    • A bit low
      7
    • Almost fine
      43
    • A bit high
      21
    • Way too high
      14


Recommended Posts

Hi Fab, can see that you've gone for the MANW contest great !

Supported by me.

I know one thing that would REALLY REALLY earn some interest is taking another look at MP compatibility... I know that certain features work, but others maybe not. If we could get some clarity on that and perhaps an inclusion to your roadplan ? Lots of clans would seriously support this I think.

I still use it and love it, but we've taken it off the server because of risk it was causing some instabilities we were experiencing.. (having said that the game isn't exactly stable in vanilla either !)

Another point to mention is, please don't forget us PWS users... We will probably never use Steam for mods as it's not configurable enough for Clan/Unit use. If we could get a version packaged for PWS? That would be excellent

Anyway just wanted to say hi and GOOD LUCK for the contest, your work deserves recognition.

SJ

Don't forget to spread the word about the mod so that Fab can get even more supporters on MANW. I already try it with my signature so if you are a part of an MP community, you can spread it there even more. Fab definitely deserves this. The best AI mod yet.

---------- Post added at 20:55 ---------- Previous post was at 20:52 ----------

Today i witnessed some cases of faster self-healing, as well as a case of a medic crawling a few hundreds meters to reach and heal a wounded comrade.

He fell dead without accomplishing his missions, a few steps far from his comrade ...

Fab, I hope medics will have some limitation how far they would go in order to save a friendly. Medic can be very valuable in a field so they should have some basic self-preservation behaviour. Maybe a distance and LOS-vs-enemy check before they decide to go hundreds of meters away?

---------- Post added at 21:44 ---------- Previous post was at 20:55 ----------

Not sure ArmA2 solution was better, sure ArmA3 behaviour looks weird: these wounded units move so slowly and carelessly they just look oblivious of any danger.

Crawling + limping in crouched / standing stance would be better, in my opinion.

Absolutely.

Share this post


Link to post
Share on other sites

Fab, I hope medics will have some limitation how far they would go in order to save a friendly. Medic can be very valuable in a field so they should have some basic self-preservation behaviour. Maybe a distance and LOS-vs-enemy check before they decide to go hundreds of meters away?

I think some clarification of what i did here is needed, not to raise excessive expectations.

Healing is something that is handled by some very low level commands.

We are able to know which internal commands are issued to AI units (currentCommand), but not to issue them directly, at least till we'll be given some setCommand scripting function.

As of now we have a few options to influence the outcome of these commands.

What i did here was to remove / unprioritize many mechanics (attack, move, engage) interfering with a subset of these commands, so when they're issued they should have a better chance to be fulfilled.

Speaking of self-healing, which is another command of the set, i definitely see some improvements, as it's more easily ovservable and evaluable.

Share this post


Link to post
Share on other sites
I think some clarification of what i did here is needed, not to raise excessive expectations.

Healing is something that is handled by some very low level commands.

We are able to know which internal commands are issued to AI units (currentCommand), but not to issue them directly, at least till we'll be given some setCommand scripting function.

As of now we have a few options to influence the outcome of these commands.

What i did here was to remove / unprioritize many mechanics (attack, move, engage) interfering with a subset of these commands, so when they're issued they should have a better chance to be fulfilled.

Speaking of self-healing, which is another command of the set, i definitely see some improvements, as it's more easily ovservable and evaluable.

OK, Fab, thanks for explanation. Looking forward to it. Honestly, I cannot wait. When is the estimated release time?

Share this post


Link to post
Share on other sites
OK, Fab, thanks for explanation. Looking forward to it. Honestly, I cannot wait. When is the estimated release time?

Well, it's about 11pm here and i'm still actively testing.

I finally managed to clearly identify the cause of stuck units as a sideeffect of some setDestination + enableAttack combined use within bCombat.

That's good news: knowing the problem is making easier from me to find and test a working solution.

I think finalizing all the work will require a few more days, considering that's something i do in my spare time.

Again, don't have too high expectations, just consider v0.17 as the natural evolution of v.16, reorganized and hopefully a bit more polished.

Share this post


Link to post
Share on other sites
Well, it's about 11pm here and i'm still actively testing.

I finally managed to clearly identify the cause of stuck units as a sideeffect of some setDestination + enableAttack combined use within bCombat.

That's good news: knowing the problem is making easier from me to find and test a working solution.

I think finalizing all the work will require a few more days, considering that's something i do in my spare time.

Again, don't have too high expectations, just consider v0.17 as the natural evolution of v.16, reorganized and hopefully a bit more polished.

Excellent. Still cannot wait.

Share this post


Link to post
Share on other sites
Please put this on PWS. I would of expected it to be included by now.

I really hope the package will be suitable for PWS too.

Share this post


Link to post
Share on other sites

Be advised PW6 has the tendency to mess up with config files on updates, often creating wrong folder structures.

Yay!

Share this post


Link to post
Share on other sites
Be advised PW6 has the tendency to mess up with config files on updates, often creating wrong folder structures.

Yay!

That's infact what i fear ...

Share this post


Link to post
Share on other sites

Well yes, they have done that, BUT they are very responsive to getting it fixed and you can be quite clear to them in this thread https://getsatisfaction.com/withsix/topics/mod_update_or_addition_requests_pt2

What you need them to do to set it up. I also use this to correct bugs I find i.e. mis-placed folders or configs etc.

SJ

Share this post


Link to post
Share on other sites

quick question, tried searching the thread, but couldn't find anything. In the config.sqf what does the skill multiplier do exactly?

Share this post


Link to post
Share on other sites
quick question, tried searching the thread, but couldn't find anything. In the config.sqf what does the skill multiplier do exactly?

It is an obsolete setting from prior versions. It has no effect. It will be removed in the next version.

Share this post


Link to post
Share on other sites

Fabrizio, would it be possible to make AI run for their lives (covered) when an enemy armour is around and they have no means of destroying it?

Share this post


Link to post
Share on other sites

RPT report

Seen this creep in.

Error in expression <t_fnc_fsm_trigger;
}
else
{
[ _unit, 1, _penalty, time + 5, time + 10 + random 1>
 Error position: <_penalty, time + 5, time + 10 + random 1>
 Error Undefined variable in expression: _penalty
File @bcombat\lib\suppression.sqf, line 78

Probably related to previous reports, but you know better. :)

btw, just updated CBA to newest release.

Share this post


Link to post
Share on other sites
RPT report

Seen this creep in.

Error in expression <t_fnc_fsm_trigger;
}
else
{
[ _unit, 1, _penalty, time + 5, time + 10 + random 1>
 Error position: <_penalty, time + 5, time + 10 + random 1>
 Error Undefined variable in expression: _penalty
File @bcombat\lib\suppression.sqf, line 78

Probably related to previous reports, but you know better. :)

btw, just updated CBA to newest release.

Yes, i'm aware of the issue, same bug posted before.

I think it's solved in my internal build

---------- Post added at 17:27 ---------- Previous post was at 17:12 ----------

Fabrizio, would it be possible to make AI run for their lives (covered) when an enemy armour is around and they have no means of destroying it?

That's a an excellent example of a very basic problem having a very difficult solution.

I've tried modeling this behaviour before, for FlexAI / ArmA2.

To be fair it did not work 100%, and i considered it a failure, due to a number of reasons:

* By the moment some infantry unit is detected by armor is basically doomed, it's like turkey shooting. This because "knowledge" of threats is instantly shared across a group, which is not realistic at all. We can't mod a different behaviour and we can't subtract any individual knowledge, so this issue has no solution for now. Only workaround is hindering armor firing accuracy, to delay the fate of grunts.

* Units are still completely unable to withdraw properly. They fail to disengage when ordered to. They arbitrarily refuse to move at full speed. They stop at will, when in combat mode, even if ordered to move to some destination. Overcoming some of these issues is somewhat possible, but awkward.

* Choice of withdrawal destination is complex. It implies proper evaluation of terrain features, as well as evaluation of nearby friendly / enemy strength and position.

Edited by fabrizio_T

Share this post


Link to post
Share on other sites
Yes, i'm aware of the issue, same bug posted before.

I think it's solved in my internal build

---------- Post added at 17:27 ---------- Previous post was at 17:12 ----------

That's a an excellent example of a very basic problem having a very difficult solution.

I've tried modeling this behaviour before, for FlexAI / ArmA2.

To be fair it did not work 100%, and i considered it a failure, due to a number of reasons:

* By the moment some infantry unit is detected by armor is basically doomed, it's like turkey shooting. This because "knowledge" of threats is instantly shared across a group, which is not realistic at all. We can't mod a different behaviour and we can't subtract any individual knowledge, so this issue has no solution for now. Only workaround is hindering armor firing accuracy, to delay the fate of grunts.

* Units are still completely unable to withdraw properly. They fail to disengage when ordered to. They arbitrarily refuse to move at full speed. They stop at will, when in combat mode, even if ordered to move to some destination. Overcoming some of these issues is somewhat possible, but awkward.

* Choice of withdrawal destination is complex. It implies proper evaluation of terrain features, as well as evaluation of nearby friendly / enemy strength and position.

God damn you, hardcoded AI!

Thanks for the insight, Fab.

Share this post


Link to post
Share on other sites

Hi!

Since bCombat is fare more comprehensive than the 5.56 7.62 adjustor mod wouldn't it be possible to mirror its influence on damage using bCombat? By default bCombat uses

bcombat_damage_multiplier = 1.0;

Is this value supposed to address the ridiculous A3 defaults? I know that multiplying by 1 changes nothing but I'm not familiar with bCombat convention. Please note that the adjustor mod uses a delta (a correction) i.e. a sum instead of multiplier.

Share this post


Link to post
Share on other sites
Hi!

Since bCombat is fare more comprehensive than the 5.56 7.62 adjustor mod wouldn't it be possible to mirror its influence on damage using bCombat? By default bCombat uses

bcombat_damage_multiplier = 1.0;

Is this value supposed to address the ridiculous A3 defaults? I know that multiplying by 1 changes nothing but I'm not familiar with bCombat convention. Please note that the adjustor mod uses a delta (a correction) i.e. a sum instead of multiplier.

It is obsolete, unused.

See this post:

http://forums.bistudio.com/showthread.php?171436-OPEN-BETA-SP-bCombat-infantry-AI-Mod&p=2783933&viewfull=1#post2783933

Share this post


Link to post
Share on other sites
Hi!

Since bCombat is fare more comprehensive than the 5.56 7.62 adjustor mod wouldn't it be possible to mirror its influence on damage using bCombat? By default bCombat uses

bcombat_damage_multiplier = 1.0;

Is this value supposed to address the ridiculous A3 defaults? I know that multiplying by 1 changes nothing but I'm not familiar with bCombat convention. Please note that the adjustor mod uses a delta (a correction) i.e. a sum instead of multiplier.

It does multiply default manage by bcombat_damage_multiplier, hence 1 is equal to default.

---------- Post added at 17:01 ---------- Previous post was at 16:42 ----------

UPDATE

After endless headaches i finally (hopefully) sorted the Steam packaging.

Github branch was updated as well, so bCombat v0.17 RC is staged on both Github and Steam Workshop.

STEAM WORKSHOP VERSION

* Steam Workshop version includes just the basic package (PBO), ready-to-go: http://steamcommunity.com/sharedfiles/filedetails/?id=314397752

* Install and play: as long as you have CBA properly installed: subscribe, activate the mod from within ArmA3 launcher and run the game.

* IF you wish to override default settings you'll need config.sqf, which is not included. Pick it from here: https://github.com/fabrizioT/bCombat/blob/master/config.sqf. Put it into your existing <ARMA3 install folder>/@bcombat/ directory BEFORE running the game. Avoid running ArmA3 with the -nofilepatching startup option or you'll fail to override any settings.

GITHUB VERSION

* Here is the complete version of the mod: https://github.com/fabrizioT/bCombat

* Install as usual, see readme: https://github.com/fabrizioT/bCombat/blob/master/readme.md

* Full source is packed, available into the source.zip archive as well as into PBO.

* The PBO file itself includes both scripts and default configuration, so it's ready to go.

* As usual you may override default settings by editing config.sqf, which is already in place. Just avoid running ArmA3 with the -nofilepatching startup option or you'll fail to override any settings.

Please notice that external userconfig support is disabled at the moment, for both versions.

Crossing fingers, hope i've not overlooked anything.

Now i'll have a glass of water or something, it's about 9 hours i mess with this ... hope you'll enjoy the release.

I'll keep an eye on feedback, some insights on this release features later.

Edited by fabrizio_T

Share this post


Link to post
Share on other sites

Thank you for this most awesome piece of code

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

×