BUILD UPDATE #012: Creep

Another intended hotfix feature-creeped into a proper update, Build Update #012 is here with difficulty level selection (including custom settings) for Terrorist Hunt, a shorty version of that sweet Midwest Industries tactical AK, and the usual assortment of quality-of-life fixes and additions.

Read on as we highlight the cooler stuff, and don’t forget to leave your feedback, whether it’s in the comments below, forums (BFS · Steam), Discord or any of our social media channels.

› NOTE: All dedicated servers must be updated to work with the current build.
› NOTE: Some Controls/Gameplay settings have been reset with this build.
You will also need to set your Player Name again.

Build highlights

A.I.

Difficulty settings and customizable parameters

Terrorist Hunt now has four A.I. difficulty presets: Untrained, Trained, Experienced and Ludicrous. You can also create a custom A.I. difficulty setting by individually modifying each parameter. How you set up the A.I. difficulty depends on the mode you’re in. Let’s go over them:

Play Offline / Host Game

For single player and listen server multiplayer, simply use the “AI Skill Level” drop-down menu when setting up the Terrorist Hunt game. By selecting “Custom”, you can modify each parameter individually. For information on what each parameter does, simply hover the mouse over the line and it’ll display a tooltip.

› The Center of Mass Bone parameter (which defines what part of the character model the A.I. bots aim for) has 3 “b_Spine” options: b_Spine is closer to the hip, b_Spine2 is near the neck, and b_Spine1 is in between those two points.

The Ops Board (a.k.a. the insertion selection LED Panel) in the Operations Room has also received some configurable settings:

The map’s time of day—as well as the enemy’s expected resistance and difficulty level—can now be set directly from the Ops Board. Please note that these options are only accessible to server admins or offline (single player)!

The difficulty level can be set to any of the four presets, as well as “???”, which uses the custom A.I. preset drawn from whatever values you set in AISettings.ini (located in %LOCALAPPDATA%\GroundBranch\Saved\Windows).

Dedicated servers

For dedicated servers, the server admin can simply use the Ops Board (explained above) or modify the AISettings.ini file manually (%LOCALAPPDATA%\GroundBranch\Saved\Windows).

Distance threshold for aim error

The aim error code has been updated so that the deliberate missing now happens beyond a set distance, controlled by the DeliberateMissDistanceThreshold parameter. Within the set distance, A.I. are not likely to miss. Beyond that distance, the usual deliberate missing (determined by DeliberateMissTime and DeliberateMissBlendOutTime) kicks in.

› Want to disable the deliberate miss property entirely? Simply set DeliberateMissTime to 0 (zero).

It’s worth reminding that the default A.I. presets are, as everything else, subject to change. So make sure to share your experience with the presets and custom A.I. values, as it might be useful for further tweaks.

AK-74 MI CQB

Little sister to the AK-74 MI (formerly MWI), the AK-74 MI CQB has been added to the armory. For now, it’s essentially a better option for close quarters with no drawbacks. Don’t worry: proper stats (range, accuracy, weight etc.) will be worked out in the future for all weapons.

“I like how it’s like the AK but smol” —Jeza (also the author of the above screenshot, shockingly)

Controls guide and loading screen tips

In order to help new players get the grasp of GROUND BRANCH’s less conventional controls schemes, we’ve added a guide for the default controls to the main loading screen. All loading screens now also carry valuable gameplay tips. We’ll be adding more tips as we go—feel free to suggest some of yours!

› The default controls graphic might appear distorted on non-standard (16:9) aspect ratios, despite us specifically telling the engine to account for those. Damn you, UE4! *shakes fist*

Miscellaneous fixes

  • Foliage no longer blocks firearms, nor prevents leaning.
  • The Offset Rail can again be mounted anywhere along the top rails (rather than only the forearm top rail).
  • Mouse sensitivity settings will now be preserved upon change and no longer reset to different values.
  • You can (once again) select the default zero for individual weapons and optics. Go to SettingsGameplay and look under Default Zeros (right-hand column). Add an optic/weapon with the [+] button underneath the list, then set the desired custom zero for it.
  • Fixed broken character and weapon movement/rotation in the Customize Operator screen when it was accessed from the Main Menu. Nope, it’s done broke again. [REDACTED] [home office being trashed in the background]

That’s it for Build Update #012. Until the next time!

P.S. We’d like to thank Rangda for the badass screenshots he’s always providing for the vast majority of announcements and social posts we make. Tier 1 screenies, dude!

Change log

Build version: 1026

Client

Steam Build ID: 3679830
Size: 662 MB

Dedicated server

Steam Build ID: 3679833
Size: 33 MB

FIXES

* FIXED radio volume issue on SmallTown
* FIXED bush in Power Station missing proper bullet collision settings
* FIXED Bush in Power Station with bad visibility collision
* FIXED firearms being obstructed by foliage
* FIXED foliage blocking ability to lean
* FIXED various collision bugs in Storage Facility
* FIXED see through boulder in Storage Facility
* FIXED rendering issue with blinking light in Storage Facility tunnel
* FIXED offset rail being restricted to top rails instead of sight & top rails.
* FIXED mouse sensitivity appearing to reset to some other value when changed in UI while engaging a sight.
    * for such a seemingly small change, it required a lot more work then expected :P
* FIXED not being able to add or edit a default zero entry in the settings menu.
* FIXED Always Run not toggling on/off when set and already in game until you hit Run again
    * will still need to release run key if it is set while run key is held down (get over it)
* FIXED not being able to move/rotate in the character editor from the main menu.
* FIXED crash due to destroying ability system component while an ability had it locked.
* FIXED breaching charges being able to kill targets through a wall.


CONTENT

* small tweaks in radio-related assets
* experimenting with new water material in Depot
* slight update to splash screen


A.I.

* updated GBAIController
    * replaced AimErrorPeriod with simpler AimErrorUpdateInterval
        * controls how often we the aim error alphas are changed (random between -1.0 to 1.0).
    * changed target distance aim error from blend to new to instant switch
    * added aim error based on AI movement speed
    * changed target velocity aim error from blend to new to instant switch
    * added distance threshold to deliberate miss code
        * below this distance the deliberate miss is blended away due to being too close.
    * added SkillLevel support
        * added 4 skill level presets to DefaultAISettings.ini (1-4)
        * added defaults for custom skill level to DefaultAISettings.ini (actual custom saved in AISettings.ini in save directory)
* added Difficulty to GBGameMode
    * currently only controls the AI skill level
        1-4 corresponds to the skill level presets.
        < 1 makes it use what ever custom skill level is defined in by default or under save directory.
    * value is replicated on GBGameState for use with UI elements etc.
* updated WBP_TerroristHunt_Settings to exposed all AI settings
    * required some updates to WBP_Config_XXX widgets to allow settings to be instantly saved.

* updated GBAIController
    * exposed ReactionTimeBase and ReactTimeRandom to settings
    * added bBeSuspicious BB boolean that is set when a non-hostile/non-friendly actor is sensed
        * this is a simple quick solution to getting AI to react to explosions, doors etc for now
        * updated to Blackboard and affect behavior trees.


CODE

* modified DamageMeleeWeapon
    * added option to use mutl instead of single trace
    * added list of surfaces to ignore during trace.
* removed unused animation notifier
* updated WBP_InGameMenuManager to use a single C++ function instead of looping through all child widgets :|

* updated GBPlayerSettings
    * changed all settings to config values and class to a config class
    * forced LoadSettings() to reload the config from disk.
    * created ApplySettings() to ensure config values were applied without the need to called LoadSettings() first.
    * changed default zero struct to use PrimaryAssetDataId instead of a string to hold the info about what item to zero for.
    * removed unneeded default zero functions.
    * changed CrouchType & GrenadeSwitchType from enums to int values so they work with UI widgets more easily.
    * updated all WBP_Settings_XXX to reflect changes
* updated GBAIController::InitSkillLevel() to use a full path to the AISettings.ini
* changed "Ridiculous" to "Ludicrous" to describe skill level 4 for AI
* updated UGBGameplayStatics
    * created new functions CanDamageStaticMesh(), CanDamageSkeletalMesh() & SphereOverlapDamageableComponentsSorted() based of functions prototyped in grenade explosion Blueprint.
    * created ConeOverlapDamageableComponentsSorted() based on SphereOverlapDamageableComponentsSorted() that checks that the component origin OR bounds are within a cone.
* created GBCharacter::CanDamageRadial() as a shortcut to call UGBGameplayStatics::SphereOverlapDamageableComponentsSorted() with require skeletal mesh & appropriate bones
    NOTE: reduce bones checked?
* updated GBGameInstance 
    * added bShowDefaultControls bool with function to clear it.
    * added OnRemoveLoadingScreen delegate for loading screens to use.
    If not bound, will remove any loading screen present.
* rigged up WBP_StartupScreen to show up on initial load
* created WBP_RandomHint
    * used by start up and loading screens to display hints 
    * randomly picks a hint that isn't used until it has gone through all over them, then reset
* fixed initial loading screens defaulting to 1280x720
* re-imported default key map texture at proper resolution
* quick grammar/spelling pass on random hints
* added pulse animation to "Continue" button on WBP_StartupScreen to draw the eye slightly more

Share this Post:

1 thought on “BUILD UPDATE #012: Creep”

  1. Highly trained should aim for the head at closer distances and closer perceived distances (like through a scope). Don’t neglect to add aimpoints on hands, elbows and feet, accessed only when AI has seen the primary aimpoints. Wound the players who chicken wing. Poorly trained should aim at the solar plexus even at point blank. A.I. might even be assigned a shot order by the player/referee, like first 2 to the chest and one to the head or double-tap to the head or mag-dump on the solar plexus. Rogue Spear tango A.I. used to drive me crazy with how they would aim at the head from 100 meters with a subgun.

Comments are closed.