Author: fabrizio_T
Author Website: https://github.com/fabrizioT/bCombat

Requirements: Community Base addons A3

Version: 0.18 final
Signed: No

Short description: bCombat is an ArmA 3 infantry AI enhancement mod in form of addon, still under development.

Date: 2015-02-17 07:21


Comments: (28)
Rating:



 







bCombat infantry AI Mod

by
fabrizio_T


Description:
bCombat aims to achieve both a more aware and human-alike infantry AI. It features an unique ecosystem, including an event-driven AI morale / skill system as well as many optional AI enhancements.

Highlights:
  • Morale system driving dynamically AI behavour and skills.
  • AI behaviour is affected by many environmental events (spotted enemies, explosions, bullets whizzling by, ricochets, wounds, casualties, ...).
  • Modular mod architecture: optional features may be toggled on/off or tweaked at will.
  • Reduced (excessive) AI firing accuracy.
  • AI units proactively lay suppressive fire and suffer sensible morale / skill penalty when suppressed.
  • Increased AI survivability: better use of cover, movement and suppressive fire lead to longer firefights.
  • Player led AI units require far less micro-management on the battlefield.

Features:
  • bCombat core features include:
      Full-featured morale system: morale affects both AI behaviour and combat effectiveness. AI will act aggressively or passively depending on circumstances.
      Event driven AI behaviour: any environmental events such as enemies inbound, heard gunfire, suppressive fire, nearby explosions and ricochets or casualties have an effect on AI behaviour.
      Real-time suppression effects: bCombat relies on (included) bDetect framework for accessing real-time ballistic information on any bullets flying by on the battlefield.
      Automatic, gunfire aware stance handling: units will crouch, sprint or go prone according to situation
      Enhanced fire & movement routines
  • Optional (toggleable) features include, as of v0.15:
      Custom move to cover behaviour
      Aggressive return fire / fire back behaviour
      Mutual covering behaviour
      Suppressive fire behaviour
      Specialized suppressive / overwatch behaviour
      Custom fleeing behaviour
      Surrendering behaviour
      CQB enhancements
      Enhanced hearing: units do hear gunfire and explosions at distance
      Investigate behaviour: units alerted by casualties or gunfire may move to nearby places to investigate enemy presence
      Enhanced grenade throwing: very short to long distance, includes blind throwing over obstacles
      Smoke grenade throwing
      Automatic formation tightening feature
      Faster movement feature
      Friendly fire damage capping
      Custom damage multiplier
      And more ...

All this is delivered pre-configured and ready to go, while it can be tweaked at will via its own configuration file (config.sqf).


Installation:
Please remove any existing bCombat installations! Delete "@bcombat" folder as well as "userconfig\bcombat_config.hpp" configuration file.
[ GitHub sources ]: you have to rename "bCombat-master" folder to "@bcombat"!

Extract into the ArmA 3 Directory, by default this is located in:
32-Bit - C:\Program Files\Steam/Steamapps\Common\ArmA 3\
64-Bit - C:\Program Files (x86)\Steam/Steamapps\Common\ArmA 3\
After extraction it should look like this:
Steam\Steamapps\Common\ArmA 3\@your_mod_folder_name\addons\

You can also use the "Arma 3 Alpha" folder in your "My Documents" folder. Your folder setup could than look like for example this:
mydocuments\Arma3 Alpha\@your_mod_folder_name1\addons\
mydocuments\Arma3 Alpha\@your_mod_folder_name2\addons\
mydocuments\Arma3 Alpha\@your_mod_folder_name2\addons\

When present place the "userconfig" folder into your game install folder, usually:
"C:\Program Files (x86)\Steam\steamapps\common\Arma 3".
You may already have "userconfig" folder from other addons and/or mods in which case it is safe to merge the contents from this archive.
Please doublecheck "bcombat_config.hpp" file exists within the path:
<Your Arma 3 main folder>\userconfig\bcombat\bcombat_config.hpp

You'll also need to add a Launch Parameter to Steam, in order to do so right-click on ArmA 3 Alpha and click Properties and then Set Launch Options. In the window that opens enter in -mod=@your_mod_folder_name
For using multiple mods you would then do so like this:
-mod=@mod_name;@mod_name2;@mod_name3;@mod_name4;@mod_name5

Note:
You can also use -nosplash to get rid of the splash art and intro videos.


And of course you can also enable and disable community made addons and mods through the in-game Options Expansions menu if you do not want to mess with startup parameters!

When the above information still does not provide you with enough to learn how to install custom addons and mods you can always ask in our Guide On Installing Mods.

Compatibility:
Running other Mods: Running other AI mods may cause issues to bCombat. Please avoid running mods directly tweaking CfgAISkill config or using customized danger.fsm files.

Running ArmA 3 campaign: bCombat is designed to cope with campaign, just set the following parameters within config.sqf:
bcombat_damage_multiplier = 1.0;
bcombat_allow_investigate = false;
bcombat_allow_fleeing = false;  
bcombat_allow_surrender = false;

Running crowded missions: if you're running missions involving hundreds of units please consider deactivating CQB routines into config.sqf, as they're resource intensive. This is achieved by setting:
bcombat_cqb_radar = false;


Included files:
bcombat.pbo


Media:



Armaholic.com has its own Youtube channel where we will cover the Community made releases.
Subscribe to the Armaholic.com Youtube channel


Feedback:
Any constructive feedback is welcome, as long as expressed in a polite and mature manner.


Notes:
Please read carefully Requirements and Installation instructions.
bCombat was tested on ArmA 3 v1.08 official release.
Please avoid running it on any DEVELOPMENT builds, since they currently have issues
(e.g. http://feedback.arma3.com/view.php?id=16783&nbn=1).


Make Arma Not War:
If you like our work, please support us in the contest!
Vote for us in MakeArmaNotWar.


Credits & Thanks:
bCombat was created by Fabrizio_T. It's dedicated to the OFP/ARMA community and to BIS. This mod wouldn't have seen the light without the support of the testers:

Mustangdelta
Lordprimate
ebarstad
TheCapulet
Mr_Centipede
Katipo66
gammadust
RAINF
gagi
Kremator
SavageCDN
stun
froggyluv
The Hebrew Hammer
bravo409
GDSN
willywonka
A final thanks to talented modders who over time inspired this work:

TonyRanger
Kronzky
Monsada
Solus
SNKMAN
Rg7621
Protegimus
Sickboy
zGuba


Disclaimer:
The modification is provided as is, without warranty of any kind.
Author is not responsible for any direct, indirect, incidental or consequential damage of any kind, without limitation.


Changelog:
v0.18 final
* New: "bcombat_ballistics_native_handler" variable allowing usage of bDetect (false) or BIS native close-bullet detection (true). The latter is working only for ArmA 3 BETA build 1.39.129316 +
* Tweaked: AI units better fulfilling tasks
* Tweaked: AI units are now able to dynamically merge / split teams
* Tweaked: investigation behaviour reworked
* Fixed: excessive morale hit introduced by AI changes in ArmA3 BETA 1.3X builds
* Fixed: minor bugfix

v0.18.1 BETA
- Command "setUnitPosWeak" used for stance handling, so that it can be overridden by issuing a "setUnitPos" command
- Small shooting accuracy buff to machinegunners
- Further (subtle) prioritization of moving vs. firing for a unit which is not threatened. This to further compensate for ArmA 1.3X increased frequency of enemy detection signals

v0.18 BETA
- Tweaked: investigation behaviour reworked
- Fixed: excessive morale hit introduced by AI changes in ArmA3 v1.3X builds
- Fixed: minor bugfix

v0.17
* New: variable "bcombat_skill_min_player_group": forcing come minimum skill level (default: 0.5) for any player's group units.
* New: variable "bcombat_stance_prone_min_distance": minimum distance to nearest enemy for allowing prone stance after any suppression events.
* Tweaked: AI prioritizing special commands (healing, supporting, self-healing, get-in, get-out, hide, rearm, refuel) against low-priority move / fire commands.
* Tweaked: grenade throwing accuracy depending on skill. Misses more likely for untrained soldiers.
* Tweaked: enhanced movement to cover ( low-level command moveTo used instead of doMove).
* Tweaked: rebalanced probability of returning fire vs. movement to cover. Unsuppressed / lightly suppressed units now more likely to return fire aggressively.
* Removed: broken variable "bcombat_skill_multiplier"
* Fixed: smoke throwing should not happen anymore at night (interim fix via sunOrMoon command)
* Fixed: minor bugfix

v0.16
Core features:
* New: Introduced a strong morale penalty for units surprised by enemy fire while in SAFE/CARELESS mode
* Tweaked: Minor code optimizations
* Tweaked: Slightly higher firing accuracy
* Tweaked: Units more likely to open fire on nearby threats in CQB

v0.16 RC2
Core features:
* Fixed: Reduction of "idling" overhead for high AI count (200+ units).
* New: variable "bcombat_degradation_distance", distance ( unit to player ) over which some bCombat features get cut in order to achieve better performance in crowded battles ( many hundreds of units ).
* New: variable "bcombat_skill_multiplier"
* Tweaked: AI units being hit more likely to prioritize shooting on threat.

v0.16
Core features:
* Fixed: HandleDamage EH related issue, possibly breaking respawn scripts (thanks LSD_Timewarp82).
* Fixed: bug somewhat reducing responsiveness of suppressed units.
* Fixed: bug in grenade handling (thanks Torndeco).
* Fixed: AI units not scared by campfires anymore.
* New: Added 1 second post-spawn delay for unit initialization. Done in order to allow custom / third party scripts to be executed in the meantime.
* New: a few configuration variables within config.sqf.
* Tweaked: sensibly reduced spotting ability (about -50%) at night, for AI units wearing no night vision devices.
* Tweaked: AI spotting ability sensibly affected by fog.
* Tweaked: bullet penalties rebalanced.
* Tweaked: AI aiming accuracy slightly increased in average.
* Tweaked: damage multiplier: damage from null source (e.g. from falling or setDamage ) is not multiplied anymore. For sake of campaign compatibility.
* Tweaked: AI units' peripheral vision.
Optional features:
* Fixed: ArmA3 v1.10 compatible custom grenade and smoke throwing.
* New: lower ground penalty: Firing from lower ground reduces effectiveness of suppressive fire (and viceversa).
* Tweaked: further improvements to hearing and investigate behaviour

v0.15
Core:
* Fixed issue with cover blacklisting causing .sqf script error popup
* Units more likely to cover each other
* Targets of opportunity better filtered, with tighter visibility checks
* AI group leaders not supposed to flee anymore
* Configurable damage multiplier (bcombat_damage_multiplier)
* CQB reactivity improvements
* Reduced vanilla AI hearing sensitivity
* bcombat_config.hpp path changed from "\userconfig\bcombat_config.hpp" to "\userconfig\bcombat\bcombat_config.hpp"
* 60+ configuration variables exposed and briefly documented into "config.sqf"
New optional features:
* AI units may throw smoke grenades when threatened

v0.14
Core:
- Machinegunners' behaviour tweaks:
* Further Prioritization of shooting over movement.
* Allowed to spend more time shooting on target / laying suppressive fire from current position
* Stop / overwatch mode
- Fleeing behaviour tweaks:
* Custom fleeing disabled for groups containing player. (Done in order to avoid player becoming group leader due to AI units fleeing, potentially breaking missions)
- "move to cover" behaviour fixes and tweaks:
* Units may move to cover more frequently when suppressed
* Units more likely to move away from roads when suppressed
* Units may keep at current position even if suppressed, if shooter is NOT in line of sight
NOTICE: Move to cover behaviour is optional and always disabled for player led groups, this is to avoid undesired movement of units [same behaviour as v0.13).
- "config.sqf" custom configuration is now enabled by default
- Over 40 configuration variables exposed and briefly documented into "config.sqf"
- Increased bullet suppression penalties (+20%) - experimental settings
- Improved tightened formation feature for AI groups
- AI leader won't issue ATTACK orders to units if enemy is far (over 500m.)
- On enemy contact units will crouch instead of going prone
- Units go prone more promptly when hit / wounded
- Units under fire may now crouch instead of going prone, when moving fast and/or being far from shooter
- Higher chance units alerted by gunfire / explosion events will investigate the event position, unless some enemy is already known
- Fixed bug into fast rotation behavour ( it allowed it being triggered multiple time at once )
- Increased chance of grenades being thrown
- "fast move" tweak: a unit will avoid breaking formation when moving, unless some enemy is around.
- "fast move" fix: units are now slightly less prone to bunch at destination.
- Revised grenade throwing distance, to be compatible with recent DEV builds.
- Misc tweaks and bugfixes

v0.13
Core:
- Morale hit from seen / heard explosions degrading with distance.
- Fixed: unit were able to "hear" grenades being thrown when "bcombat_allow_hearing=true".
- Tweaked target prioritization: If an unit has some assigned target (e.g. commanded by leader) and it's in line of sight, it has priority against other targets of opportunity.
- Increased morale driven effect on skill. Done in order to restore after avg. morale hit lowering indirectly caused by non-linearity since v0.12.
- Group leaders stopping "softened", so they're better allowed to flank (Compromise solution between v0.11 and v0.12 behaviour).
- Units more likely to disengage and move away when sustaining much suppression fire.
- Custom configuration possible, uncomment lines into "config.sqf" file.
- [A lot of] minor tweaks and bugfixes.
New optional features:
- Grenade throwing [ALPHA]
- Movement to cover [ALPHA]

v0.12
Core:
- Morale hits are now applied non-linearly: it should be a bit harder to achieve complete morale break.
- Better filtering of BIS danger.fsm events. Distance limit of 500m. from source for events collection.
- AI units may open fire upon on targets of opportunity from distance, if:
* Target is near unit's planned destination ( < 50m ).
* Target is near group's current waypoint position ( < 50m ).
* Units are "hidden" and not moving.
- Disabled vanilla fleeing behavior when bcombat_allow_fleeing = false (it was creating mayhem).
- "Fast rotate" optional enhancement fixed.
- Minor tweaks and bugfixes.
Balancing:
- morale hits lessened about 15-20% in average, due to new non-linear logic.
Gameplay:
- AI Group leaders now usually prioritize fire vs. movement. This was done to avoid them rushing. No changes to sub-formation leaders.
- AI Units positioned over terrain level (e.g. guard posts, some buildings) should prefer crouching instead of going prone, when fired upon.
- "Fast move" enabled by default for subordinates, on Player led groups. It sould make units under player command move faster while in combat mode.
Performance:
- Code optimization for functions (only)
- Simplified, lighter (=faster) line-of-sight checking. Checking accuracy made degrading on distance.

v0.11
- First testing release.


Forum topic:
- BI forums
- BI forums (old thread)



- Community Base addons A3




Enable javascript to be able to download from Armaholic please!



Tags: Ai,   Enhancement,   Infantry