Date: 2015-02-17 07:21
bCombat infantry AI Modby
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.
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
Mutual covering behaviour
Suppressive fire behaviour
Specialized suppressive / overwatch behaviour
Custom fleeing behaviour
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).
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:
You can also use the "Arma 3 Alpha" folder in your "My Documents" folder. Your folder setup could than look like for example this:
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:
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.
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;
Armaholic.com has its own Youtube channel where we will cover the Community made releases.
Subscribe to the Armaholic.com Youtube channel
Any constructive feedback is welcome, as long as expressed in a polite and mature manner.
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
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:
The Hebrew Hammer
A final thanks to talented modders who over time inspired this work:
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.
* 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
- 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
- Tweaked: investigation behaviour reworked
- Fixed: excessive morale hit introduced by AI changes in ArmA3 v1.3X builds
- Fixed: minor bugfix
* 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
* 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
* 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.
* 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.
* 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
* 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
- 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
- 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]
- 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.
- morale hits lessened about 15-20% in average, due to new non-linear logic.
- 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.
- Code optimization for functions (only)
- Simplified, lighter (=faster) line-of-sight checking. Checking accuracy made degrading on distance.
- First testing release.
- BI forums
- BI forums (old thread)
- Community Base addons A3