1. GROUND BRANCH
  2. News

GROUND BRANCH News

BUILD UPDATE #014: Hotfix



Hotfix in the house!

We're fixing the networking issues and broken volume sliders brought in by the previous update, and throwing in a little extra content because why the hell not? "Well, maybe because extra content tends to increase file sizes and you're calling this a hotfix?", you might ask rather sarcastically. And to that hypothetical question, we reply: SHUT UP. SHUT UP AND TAKE OUR CONTENT.

Anyway, the rundown is right after this reminder:


📢 The Steam® Summer Sale goes on: GB is 25% OFF!


The Steam® Summer Sale 2019 has another week to burn and our 25% discount is still on.

https://store.steampowered.com/app/16900

You know the drill—grab it, gift it, recommend it, share the news.

Every bit helps us get GROUND BRANCH to where we all want it to be.

› We strongly recommend players coming from an older version of the game (pre-v1027) to delete all files located in %LOCALAPPDATA%\GroundBranch\Saved\Config\WindowsNoEditor. For those who can afford it, a complete reinstall isn't a bad idea either. If you have control, loadout and other such issues, be sure to try these options.
› NOTE: All dedicated servers must be updated to work with the current build.



â–¶ BUILD HIGHLIGHTS


Networking fixes

Lots of server fixes to address crashes, log spam and various connectivity issues introduced in v1027. Thanks for all the reports!

Fixed audio sliders

Mikson's new weapon sounds are impressive, but they're also pretty loud. If you're not among those of us who gladly risk hearing loss for some extra immersion, you'll be happy to know the audio sliders are fixed. To make gunshots and related sounds quieter, turn down the SFX slider under Settings › Audio.

Adjustable grenade throw

The grenade arc HUD for estimating throw trajectory can now be adjusted in steps for longer or shorter throws by scrolling up/down with the Mouse Wheel. Let us know how it works for you!

NEW MAP: 747 (Night)

WIP map 747 now has a first implementation of its Night version.

› Terrorist Hunt A.I. placement has been improved for both day and night versions.


NEW GEAR: Shotgun Rail Adapter

Now you can rock the M1014 and SDASS Custom shotguns with a tac light or whatever accessories you wanna fit on them. Simply attach the rail adapter, and then place the desired accessory on either of the side rails.

NEW GEAR: Extended Magazines (G22 and PMAG)

As part of our partnership with Taran Tactical, we've added extended base pads for the G22 and PMAG magazines. They're selectable inside weapon customization under "Magazines".


  • The G22 extended magazine carries 18+1 rounds.
  • The extended PMAG carries 35+1 rounds.
› We'll have reasonable trade-offs for these new items once stamina and other systems are implemented.


Gear

Various fixes for kit items and their usage.


â–¶ KNOWN ISSUES

  • Picking up weapons from the ground is inconsistent and might not work.
  • Running while engaged (i.e. aiming down sights) is using the running animation and may cause a wobbly support arm depending on foregrip location.
  • Game mode Defend is missing Defender spawn boundaries and Attacker freeze period.


â–¶ CHANGE LOG
Build version: 1027(.1)

Client
Steam Build ID: 3978385
Size: 1.2 GB

Dedicated server
Steam Build ID: 3978388
Size: 50 MB

FIXES

* FIXED crash if player disconnects shortly after being resurrected by admin
* FIXED crash if a PlayerState without a valid player controller ends up in AGBGameMode::DeadOnlyChat()
* FIXED crash relating to GetGameStateSafe
* FIXED "Too many failures to spawn" causing round to end by removing the related timer all together and just brute forcing all players that can enter play to enter play
* FIXED spawning with a firearm on client, but not on server
* FIXED being able to reload/switch items etc. while sprinting
* FIXED run/walk key cancelling lean when stationary
* FIXED AI attempting to shoot early prevent round from chambering, thus preventing further shooting
* FIXED firearms continuing to fire when put away during full auto
* FIXED change firing mode with trigger pulled
* FIXED missing/bad navigation in areas on 747
* FIXED volume settings for WWise not being applied causing them to reset to 100% next time the game loads
* FIXED 747 map bugs
* Ability to hop over perimeter fence
* No texture on wall flag
* FIXED City bugs
* trash clipping through
* subway wall poking through street
* top of ladder collision in way
* subway walls culling out to early
* FIXED bad shipping container UVs
* FIXED player hanging up on top of truck ladder in 747
* FIXED some missing Physical Material settings on a few rock types in Storage Facility
* FIXED TankerShip insertion info section for player names going offscreen
* FIXED lack of collision on 747 playspace boundary that let players get to non playable areas
* FIXED rifle laser sight allowing multiple versions to be attached to same weapon
* FIXED impassable stair section in City scaffolding
* FIXED odd looking fuel tanks on 747 map (missing textures)
* FIXED potential nullptr in various functions related to character appearance and loadouts by adding IsValid(Character)
* FIXED GBFirearm only binding to reload montages OnMontageEnded() delegate on server/offline, preventing clients from being able to reload more then once
* FIXED game and plugin properties that caused Cooker/UE4 to spam "is not initialized properly" in the log
NOTE: still need to do a pass on the engine ones
* FIXED references to old/non-existent assets causing cooker to spawn "Unable to find package for cooking"
* FIXED (hopefully) assets causing cooker to spam "X imported blah but it was never saved as an export" in log
* required opening/saving all maps that use various Blueprints :|
* FIXED missing/bad navigation in areas on 747
* FIXED BP_TerroristHunt_SpawnManager spawn point usage randomisation caused by changing from GB to standard BP macro library
* FIXED green tint in black Field (G2) pants
* FIXED unclamped off-target alpha value in GBFirearm::PrevPosPressed_Implementation()
* FIXED typo in WBP_OpsBoard_InProgressButton preventing from being visible when round was in progress
NOTE: InPorgress != InProgress
* FIXED WBP_LoadingScreen getting none when trying to access to GameState
* FIXED GBGameMode::GetBestLateComerInsertionPoint() always returning a random insertion point
* FIXED round not ending if player logs out in BP_TerroristHunt, BP_Defend & BP_TeamEilimination
* FIXED "RequestAsyncLoad called with empty or only null assets!" spam caused by call to AsynLoad() in BP_Firearm_Master (doh!)
* FIXED AddDefaultItem() being called on character that is being destroyed causing spawned item to be invalid.
* FIXED being immortal when resurrected by admin (lol)


CONTENT

* Added in shotgun rail adapters to allow for flashlights and other accessories to be used
* Modified aspect ratio and camera angle of main menu
* Small adjustments to player scalability settings so shadows don't go completely away on Low setting causing unfair gameplay advantage
* Adjusted vertical grip hand pose for a better fit
* These will get better when the new character meshes/skeleton is in
* City
* Cleaned up collision around insertion points
* Added a few solid low walls around center of map for more cover and to reduce long AI sightline a bit
* Filled in some visible non-playable areas
* Added first go at night version for 747
* Removed odd refraction from default glass material (RR and Depot mainly)
* Added in new Taran Tactical mag extension version of the G22 and PMAG magazines
* Added PhysMat setting to rocks in 747


AUDIO

* added audio sliders functionality for Wwise and music
* assigned all sound effects to SFX class
* Wwise: added missing MK 14 EBR reload sounds
* Wwise: improved unsuppressed MK 14 EBR, AK-74M and AR-15 shots
* lowered falloff distance for FullAutoPunch layer of unsuppressed gunshots


CODE

* assigned outers to all instances of NewObject()
* added validation checks to various methods involving setting/using an insertion point on the player state
* removed usage of gameplay ability system
* updated all affected C++ and Blueprints
* replaced usage of macros in GB Blueprint Macro Library with native versions
* removed usage of redundant / pointless macros in GB Blueprint Macro Library
* added ToggleRun option to GBPlayerSettings class
* added Reset() Blueprint native function to GBItem
* causes pouches to refil with last thing they had in them
* causes firearms to max capacity if not in the process of reloading
* update BP_TargetApplScreen used in some training maps to use new Refill() method on characters items
* replaced usage of GBResetInterface with calls to native AActor::Reset()
* updated BP_Door_Swinging to take player and doors direction into account when incrementally opening
* updated GBGrenade to allow you to adjust throw range using mouse wheel
* removed log spam about montage replication
* removed log spam about player spawning
* improved AI on 747 by correcting Guard points, Patrols routes and the like
* removed DonMeshPainterGlobalActorSpawnParams from GBGameMode - yet to use it server side
* updated player patch support due to DonMeshPainter update
NOTE : while updated, they are not enabled
* removed stubbs about player patch from GBPlayerController
* updated RBEventManager
* changed several parameters from TWeakPointers to normal C++ pointers
* updated FRBListener struct
* created IsValid() that returns true if object & function are valid
* changed optional constructor to take normal C++ pointers instead of TWeakPointers
* removed == operator
* updated RBSurfaceLinkManager
* changed Get() from using a mutable default to using a SingleTon added to the root set
* replaced usage of CachedLinkedClasses variable with simply adding the cached classes to the root set
Both these changes were done to prevent GC issues
* added "Defaults" button to audio, video and gameplay setting screens
* changed default audio volume levels from 10 to 08
* removed stubb from BP_Handgun_Master
* reduced max throw distance in BP_Grenade_Master
* Updated DedicatedServer.bat with all available maps and game types

BUILD UPDATE #013: Jumbo + SALE (-25%)



It's been 48 days since our last blog entry, and almost 3 months since our last game update, and while we're sorry we kept you all waiting that long, we hope Build Update #013 makes up for it.

As predicted in the last Intel Update, #013 has taken a lot longer than usual due to an engine update and a bunch of new things we've been putting into GROUND BRANCH that simply required the extra time to get implemented, tested, fixed, re-tested and so on. To summarize, this version includes the long-awaited first sound update, a new PvP game mode, new modes for new maps, some obligatory new gear and a sizeable list of fixes we'll go over in a bit.

We cannot stress enough how grateful we are for all you guys sticking around and patiently supporting us while we do our best to put this thing together. As always, thank you so much!

Before we go over the highlights, we figure we should let you know that…


🚨 GROUND BRANCH is 25% OFF on the Steam® Summer Sale! 🚨


We're right on time with this update for the Steam® Summer Sale 2019. If you haven't already, this is your chance to grab GROUND BRANCH with a magnificent 25% discount—our biggest discount yet—or maybe convince a few stubborn friends to join you in the tacticool bonanza. You're now armed with compelling case of a juicy update and a sale launching at the same time, so let's fill up them servers!

https://store.steampowered.com/app/16900/GROUND_BRANCH/

All locked and loaded? Let's move out.

› We strongly recommend players coming from an older version of the game to delete all files located in %LOCALAPPDATA%\GroundBranch\Saved\Config\WindowsNoEditor. For those who can afford it, a complete reinstall isn't a bad idea either. If you have control, loadout or other such issues, be sure to try these options.
› NOTE: All dedicated servers must be updated to work with the current build.
› NOTE: Some Controls/Gameplay settings have been reset with this build, regardless of whether you removed config files as suggested. Make sure to reconfigure them to your preferences and sorry for the inconvenience!



BUILD HIGHLIGHTS


Finally, new sounds!

Mikson's diligent work can finally be experienced in-game as the first batch of (mostly) weapon sounds goes public, along with an ominous main theme to kick off soundtrack and ambience work, and several small soundscape adjustments to volume, attenuation and occlusion values.

https://youtu.be/TWPEQUoi4R4?t=21
JustinRed87 aka Cobra493 previews some of the new sounds. Sounds and menu aren't up to date despite the video being recent, but should help you get an idea of where they're headed

Weapon sounds

The following weapons have received their own sound effects, with individual gunshot (with indoor and outdoor tails) and reload SFXs, as well as suppressed versions where applicable (marked with [SD]):

Primary

  • MP5N [SD]
  • MP5SD5, MP5SD6
  • MP7A1, MP7A2 [SD]
  • SDASS Custom
  • MK 18 Mod 1 [SD]
  • AK-74M, AK-74 MI [SD]
  • MK 14 Mod 2 EBR [SD]
  • MK 48 Mod 0
Sidearms

  • M1911A1 [SD]
  • MK 25 [SD]


Why do all weapons sound different than before, then? Well, we're carrying over these finished sounds to the other guns while they're not done, hence the similarity between several of them too. All submachine guns not listed above are now using the MP5N effect as a placeholder, for instance. Similarly, for now all pistols (M1911 aside) are using the MK 25 sounds, all ARs share the MK 18 sounds, the AKS-74U uses the AK-74M sounds and so on.

Keep in mind that this is a first iteration. Mikson will be fine-tuning everything and updating the rest of the armory (and the entirety of the game's sound design) as we go, and you can expect actual reverb and things like individual tails for urban vs. rural vs. forested environments.

› Sounds that were previously demoed, such as the M4A1/Block II effects, are being reworked with newly acquired libraries for maximum fidelity.


Other sound changes

  • The M67 Frag explosion sound has been updated with a better placeholder that doesn't have birds chirping in the background. Chirp-less BOOM.
  • While footstep sounds haven't been updated yet, they now have proper attenuation, volumes and occlusion depending on movement pace, stance and environment, so you will no longer be hearing them across the map or through multiple floors.
  • Radio and local VOIP have been similarly updated.
  • Local VOIP (default V) falloff distance is now 15 meters, so make sure you're within hearing range—otherwise, switch to radio comms (default B).


Known issues
We realized too late that bullet whiz sounds aren't replicating online. Balls. (We'll try to hotfix that soon.


NEW GAME MODE: Defend [WIP]

Currently available for Small Town and Power Station (both Day and Night versions), this adversarial (PvP) game mode has one team defend an objective (a laptop), while the other team needs to find and secure it.

DEFENDERS

  • Objective: Eliminate all Attackers or prevent the objective from being secured within the time limit (default* 10 min).
  • Spawns near the objective (which can be in several nearby locations around the selected insertion point) and has a 30-second head start to prepare for the attack.
ATTACKERS

  • Objective: Eliminate all Defenders or secure the objective within the time limit (default 10 min).
  • Can move freely after 30 seconds. This time can be used for last-moment preparations and plans.
  • Once the objective is found, one team member must secure it by holding Use/Interact (default F) while facing it for 30 seconds (default time*).
* Round time limit and objective capture time can be configured by the server admin. We encourage players to try different values and see what works best. Let us know how it goes!

› Needless to say, this game mode is a major work-in-progress. It will be refined with further testing and community feedback, and then ported over to more maps.


Known issues
Although we could not replicate the issue, we once had multiple objectives spawning in a single round. If you experience this bug, be sure to report it. Thanks!


NEW MAPS: 747 and City [WIP]

Previously playable under the "Development" game mode, 747 and City are now further along in development and playable on Terrorist Hunt, Team Elimination and Deathmatch. They're not finished maps, however, so expect some unfinished areas and general bugs and issues. John is on them.

747


City


› Yep, they will be getting a night version later on too. Speaking of which…



Storage Facility (Night)
Storage Facility now has a night version, playable on Terrorist Hunt. Don't forget your NVGs.




Adjusted A.I. behavior

  • Enemy A.I. sight and threat detection distance have both been changed from 50 m to 150 m. This was done to make up for longer engagement ranges, particularly on 747. We're looking into map-specific values (short term) and a more robust system that accounts for more than a binary distance switch (long term).
  • The distance at which they hear footsteps has been changed from 50 m to 25 m.


Movement speeds

  • Walk and Run speeds have been increased and adjusted slightly. (We're evaluating adding a slower "sneaking" pace.)
  • These values are experimental and, as everything, subject to change.



Gear


NEW SIDEARM: MK 25

A SEAL favorite, the MK 25 (P226) is a 9 mm service pistol carrying 15+1 rounds.



NEW ATTACHMENT: Sidearm Suppressor

Not really a surprise at this point, but you can now attach a suppressor to any pistol and be all… [starts mimicking several copyrighted stealth action characters]



› As with primary weapons, sidearm suppressors are selectable under the "Muzzle Device" tab.



Foregrips are now gripped

We've rigged up a basic implementation of "functional" foregrips. They are now gripped by the character's support hand—as long as you place within reach, anyway.



Known issues

  • Foregrips will cause a floating hand (as well as a wobbling, dislodged arm) if placed too far forward along the bottom rail. It's only a first pass, damnit!
  • The hand poses have a generic grip that doesn't really fit the foregrips yet. Don't worry—we'll be tackling that in due time too.


Other gear stuff

  • Pistol holsters are no longer stuck in the 2000s and are worn on a belt extension rather than a thigh rig. We might make it an option in the future.
  • We've added a basic suppressor for the MK 14 Mod 2 EBR.
  • The AN/PEQ-15 and AR suppressor have been re-scaled to more accurate dimensions.



MISCELLANEOUS

  • Tired of having to run around the Ready Room between rounds? You now spawn back directly at the Ops Room of your selected team and might save up to a whopping 352 calories in a single session.
  • Fixed targets not coming back up on Shooting Range. Or was it them not going down this time?
  • A long, long list of little things you can check out below.



CHANGE LOG


Build version: 1027

Client
Steam Build ID: 3953210
Size: 2.8 GB

Dedicated server
Steam Build ID: 3953219
Size: 141 MB

—

Full change log is too big for Steam, so we'll be linking to our Dev Blog post for those who want to read the whole thing: GROUNDBRANCH.com / Dev Blog / BUILD UPDATE #013: Jumbo

INTEL UPDATE #004: Track



Yes, it may have been a while, but fear not—we're still here, and we're not going anywhere.

This is an Intel Update to fill you in on what we've been up to, what to expect for GB's near future and why the next update is taking longer than usual.

Let's start with the latter. As most of you are aware, BlackFoot Studios are what is considered indie AF (that's short for as f***, in case you're not as down with the kids as we are). That, of course, means limited personnel and, often, limited time as well. In addition to all the regular development obstacles, availability wasn't great for most of us for the past month or so, resulting in an even bigger delay than expected. On the flip side, the next update should be more substantial both in terms of content and fixes, so there's that to look forward to.

Before we continue, let us just say that we're very grateful for all the patience and support coming from everyone despite the sometimes drawn-out progress. Thank you!

New update when?

The original plan for upcoming Build Update #013 was for a big PvP-oriented update featuring a couple new game modes and overall better PvP functionality and gameplay. Due to the aforementioned setbacks, however, we're likely to break it down into smaller updates—both because it's been a while already and because a big update would mean an even longer time without any updates.

Another thing we're considering is incrementally adding in the new weapon-related sounds that Mikson has been diligently developing, which were originally planned for only after the PvP update.

We're still figuring out exactly how we're gonna roll, but read on for an overview of what to expect of future updates…

Unreal Engine 4.22(.1)

Engine updates always take some time, but this one was relatively painless—there's always some tedious cleanup to do, but compared to the last time we did it, it went mostly swiftly. The jump to version 4.22 means a lot of editor-side bug and crash fixes, as well as some rendering improvements you may or may not notice depending on PC specs, video settings etc. Nothing major, but the quality-of-life bonus alone for us should mean less frustration going forward, and that's always a good thing™. Version 4.22.1, which is what we're on now, was a hotfix patch.

Sound design development
Almost all firearm sound assets are done, as Mikson and Kris work out the integration of said assets into the game via Wwise—the middleware also used in Insurgency: Sandstorm's excellent sound design. In case you've missed it, we posted a new little sound demo on YouTube a couple weeks ago:

https://youtu.be/bsf_eZ2NKGw
Mikson has since tweaked these slightly based on valuable feedback, as he'll continue to do with all effects as we get a better idea of how they sound within actual gameplay

We're over the hump when it comes to implementation of the new weapon sounds, but it's important to note that they might still be a couple updates away. Other sounds (like environmental) will be incrementally worked in as we go and added in subsequent updates.

New character assets and swatch system in the works

All of our character assets are being redone from scratch, with several new pieces of apparel planned for inclusion as well. Currently on the job is the very talented freelance contractor Pau Peñalver, who has so far put together the beauties showcased below:

Tactical-slash-cargo pants, anyone?

Yes, we know you're so gonna mod a Hawaiian pattern onto this one

"What about them skins, though?", you ask, but with even less regard for grammar. Well, check this out:

These skins aren't final (don't worry, we'll have most of these and more); point is, we're going be able to make the colors/patterns whatever we want (and so will you, in the future)

For the majority out there unfamiliar with UE4, the lovely schematic above lays out a UE4 Blueprint for a swatch system. A swatch system will not only purge skin inconsistency for assets, but also allow us to easily make any color or pattern we want into a selectable skin. Once modding is out, you'll be able to create your own as well. Hooray!

Some basic color variations on that sweet dad plaid

These are only the first couple new assets, but we already have new assault gloves and an ACU-style jacket in the oven. You can look forward to redone (and brand-new) shirts and pants, as well as a fleece jacket, tactical gloves and a variety of footwear, with more apparel to be added as we go.

Map updates
City and 747 have both received extensive updates. 747 now supports Terrorist Hunt, and City will hopefully support it as well by the time the next update rolls out. Here are some previews of what's new:

The central square of City is now home to a multi-story building that is being modeled after a bar/pub

Underground, the metro station now features a cozy, family-friendly restroom (credits: Jeza)

On 747, the aircraft received an exclusive Ram Airways paint job …

… and some buildings were added as backdrop, among other updates (credits: Rangda)

PvP game modes

A couple new objective-based adversarial game modes are being developed and tested out by the team and a small test group. We'd like to have at least one solid new game mode in the next update, with iterations and new modes to follow. More news as it happens!

—

That's all for Intel Update #004. Don't forget to hop into our Discord server if you're looking for pick-up games, support or just some GB talk. We're also on Facebook, Twitter, Instagram and a soon-to-be-official subreddit. Hopefully we'll see you there!

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. Ugh.


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 Settings › Gameplay 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

BUILD UPDATE #011: Bark



Edit (Mar 16, 2:10 am EST): Specified customization screen rotation bug.

It's been a little longer than usual, but Build Update #011 has finally rolled out!

› NOTE: All dedicated servers must be updated to work with the current build. ‹


While the original plan was for this update to be the first in a series of PvP-oriented patches, over the last weeks our intrepid code wizard Kris went through good ol' Internet hell in his homeland down under and could barely stay connected. Needless to say, implementing online features without a working connection is tremendously difficult. And by "tremendously difficult", we of course mean "impossible"—kinda like throwing a frag all the way across Depot or hitting the 300 m target on the Shooting Range in low-ready.

On the flip side of the whole connectivity hardship, Kris took the time to work extensively on a much needed area: A.I. And so he did, causing the single player and co-op experience to drastically improve in the process. But we'll go over that in a bit.

Before we move on to this update's highlights and full patch notes: Make sure you're staying updated on GB news, previews, discussions, special offers and giveaways by following our social accounts and joining our Discord if you haven't already. That way you stay in touch with us and the community, and help our online presence grow—and that's always great for GROUND BRANCH.


Alright, here we go:


BUILD HIGHLIGHTS


Initial A.I. overhaul


"I'm starting to think there might be a reason why so few shooters
bother with single player and co-op focus these days…"
—Kris Rigby, probably

A.I. has certainly had its ups and downs over development. But as mentioned, Kris has taken something awful—internetlessness—and turned it into something beautiful: the initial A.I. overhaul. You can get an idea of how much their behavior has changed in the video below:

https://www.youtube.com/watch?v=Z5ywA1vVcKc
› They may look kinda silly at times, but wait until one of these bastards pops up behind you and smokes your ass.

To sum up the various changes, A.I. enemies now have variable perception (sight and hearing), react to being shot and flashed (as in "banged"; God, could "flashbang" sound any more ambiguous?), use cover and lean, notice dead bodies and can no longer hit at first contact. Oh, they also do basic call-outs now—placeholder voices for "Contact!" and so on. Here's the long version:

  • Patrolling enemies now use the "casual" walking animation.
  • A.I. sight threshold depends on state, making it easier to approach an idle A.I. than an alert one.
  • Their sight strength is also modified by float curves for distance and angle to target, making them less likely to notice you from a distance or from the sides. If you manage to sneak up on one, they will no longer be non-reactive to bumping onto.
  • Hearing strength is modified by float curves for different types of sounds, meaning they're more likely to hear and react to gunshots over footsteps and so on.
  • One of the most obvious changes: call-outs! "Contact!", "Under fire!" and "Cover me!" are some of the lines you'll hear bots shouting out contextually. The voices are of course placeholder, but they still contribute considerably to the overall combat, giving a sense of communication and often making consequences (such as being hilariously wiped out fifteen seconds into the round) clearer, as well as sometimes giving away their positions.
  • Enemies now react to being shot at and, depending on their state, will duck or momentarily hesitate before fleeing.
  • A.I. will use cover while attacking or searching, leaning around obstacles just enough to get a clear shot.
  • They now notice dead bodies, friendly or otherwise.
  • Some visible reaction to flashbangs has been added: enemies will now turn around randomly and move shorts distances until the effect wears off.
  • Finally, they deliberately miss their first shots at a new target for a while. This was done to prevent the impression of getting one-shot out of nowhere, but it's only a first iteration. The deliberate missing will be adjustable in the future based on difficulty level, and able to be fine-tuned via .ini files.
  • More details in the full patch notes at the end of the post!
› The new A.I. is implemented on all Terrorist Hunt-compatible maps!


As with everything else, this is all work-in-progress, and many of these A.I. improvements are merely a first pass. We'll continue to iterate on A.I. as we move forward—hopefully with your valuable feedback.


Content


New MICH
The MICH helmet has received a brand new model and texturing, courtesy of our 3D artist Zee. It looks many orders of magnitude more operator than the previous model, with velcro patches, goggle loops and all that tactical jazz. As with the old model, the new MICH accepts the AN/PVS-15 NVG, Headset and Strobe Marker attachments.

› Helmet (MICH) comes in black, tan (pictured), green and transitional color schemes.

The fit is a little loose on some of the character heads, but we'll tackle that at a later time.

FAL (Vintage)

A vintage FAL has been added as an OPFOR weapon. It's currently unlocked for those who wanna mess around with it, but it doesn't have unique animations or sounds.




Other updates and fixes

  • Character/weapon rotation no longer gets stuck in the customization screens. WOO!
  • The radio squelch sounds have been replaced with new effects, which are a work in progress. This is Mikson's first sound update to make it into a playable build—the underlying system for most other sounds he's been working on will take a little longer to implement. For now, PRAISE THE NEW SQUELCH!
  • Tactical Light (Compact) can now be mounted on top (12 o'clock) forearm rails. The 12 o'clock position will minimize intrusive muzzle/suppressor shadows, but may interfere with your sight or AN/PEQ-15 placement and usage. Choices, choices…
  • WIP map City remains in active development, with some new areas and props. Check out the progress under Play Offline › Development.



KNOWN ISSUES

  • Customization menu: Character/weapon rotation (click and drag function) doesn't work when the customization screen is accessed from the Main Menu (via the "Customize Operator" option). It should work normally within maps, however, via locker or workbench.



IN OTHER NEWS…


Weapon sounds overhaul: a sneak peek

Put your headphones on and listen to this very short, but very juicy preview for the upcoming sound overhaul:

https://www.youtube.com/watch?v=k4-v1JUzLwA
› Damn, that sounds good.

Mmm-mm.

—

That's all for this Build Update. You can check out the full change log below, and as always, thank you so much for your continued support! Keep the feedback coming, and see you on the next one.


CHANGE LOG


Build version: 1026

Client
Steam Build ID: 3645609
Size: 1.7 GB

Dedicated server
Steam Build ID: 3645614
Size: 51 MB

FIXES

* fixed Compact Tac Light to be used on top rail
* fixed missing #if WITH_EDITOR refs in GBBTTask_MoveToCover causing build failure
* fixed incorrect usage of #if WITH_EDITOR in GBNavLinkProxy_Ladder causing build failure
* fixed for build in CoverGenerator
* fixed curves for AI senses being GC'd.
* fixed move and rotate in character and item editor getting stuck on when mousing over menus
* fixed adapter spelling for the BP_GalilRailAdapter display name.
* fixed night vision getting stuck on when changing kits if you did so with night vision enabled.
* fixed exec binds repeating - radio menu etc should now toggle only.
* fixed missing value in BP_Explosion_MK13_Stun causing divide by zero warning
* fixed warning in WBP_ChatOverlay if an engine message beats the HUD init.
* fix for the radio when new sound effects were hearable only for the one who pressed push-to-talk - should work as intended now
* fixed AI sight curves going bye-bye due to UE4 Blueprint shenanigans
* fixed character voices being replicated long after usage
* fixed AGBCharacter::CanBeSeenFrom() resetting sight strength to 1.0f.


CONTENT

* changed radio start, end and loop sound effects

* Added in new SWAT truck vehicle for use in City map
* Cleaned up the base emissive master material and added ability to designate separate emissive mask texture along with what color channel to use
* Reorganized the Vehicles folder and fixed up redirects

* Added weapon: FNFAL (intended for bad guys)
* City map
* Detailed out new ladder area
* Started to add some 'narrative' to the outside space (failed terrorist event)

* Updated MICH helmet to new model/materials

* Blocking out new Main Menu map
* Testing out ideas for now

* Cleaned up a lot of marketplace asset collision and LODs
* Changed display name of FAL weapon
* Storage Facility
* Did optimization pass
* Built lighting


A.I.

Initial AI overhaul
* removed usage of TacticalAI Plugin for now.
* updated all affected C++ and Blueprints
* added CoverGenerator by Deams (https://github.com/Deams51/CoverGenerator-UE4)
* modified the ever loving shit out of it for our needs
* updated GBAIController
* created new behaviour trees using a combination of old and new code.

* removed references to old AI stuff to prevent log spam
* removed unused test voice (me saying "Contact!")
* added .modules file to P4 typemap then reconciled to add any that were missing.

AI overhaul #2 submit
* fixed missing body in /BadGuys/AppMilitant01.kit
* fixed CoverGenerator creating stack up points in mid air.
* created GBAISense_Hearing - a custom versions of AISense_Hearing
* allows sound events to be compared against float curves based on the tag they have.
* strength is then multiplied at the source.
* created GBAISense_Sight - a custom versions of AISense_Sight
* allows sight events to be compared against float curves for distance and peripheral vision.
* strength is then multiplied at the source.
* created GBAISquad
* allows information to be shared more easily between AI that are working together.
* tracks members
* auto-assigns leader
* determines member patrol locations
* determines member guard locations
* remembers previously searched locations
* created GBAIGuardPoint
* allows mappers to control where AI should move to when in the "Guard" state (new!).
* updated GBAIController
* updated to use new GBAISense_Hearing & GBAISense_Sight.
* added support for GBAISquad.
* added DesiredViewRotatioOffset to control AI view rotation.
* added DesiredAimRotationOveride to control AI aim rotation.
* added CenterOfMassBone to AISettings.
* added basic climb ladder logic to Tick().
* added DeliberateMissTime
* while > 0, AI will deliberately aim to the right or left of their target
in such a way that will just miss each shot.
* additional aim error is added *on top of this*.
* velocity aim error is taken into considered to prevent it canceling out the deliberate miss adjustment.
* on target threshold is reduced to 1 degree to ensure the AI misses accurately.
* lasts 2 seconds in total, though it begins to fading out after 1.
* time is not reduced until AI is on target and firing.
* moved UpdateSenseData() logic to ActorsPerceptionUpdated() and removed it.
* added basic AI Barks.
* created Guard state
* renamed GBAIPath to GBAIPatrolRoute to reflect its actual use.
* updated GBAIPatrolRoute
* added ability to control the width at which AI can spread out while patrolling.
* scaling the spline along the Y axis will affect the available width at that point along the spline.
* patrol route width shown when selected, with any scaling.
* improved ValidatePatrolRoute() function
* projects each point to navigation mesh and zeros out roll first.
* verifies location and width at each point & user specified distances in between each point.
* highlights any issues found.
* updated GBSpawnPoint & GBSpawnManager classes to work with GBAISquad
* added NoTarget cheat for debugging AI
* created GBNavLinkProxy to allow for custom C++ nav link base classes.
* created GBNavLinkProxy_Ladder to control AI usage of ladders.
* updated all affected Blueprints.
* created GBNavLinkProxy_Door to control AI usage of doors.
* updated all affected Blueprints.
* updated DefaultEngine.ini
Made sure RuntimeGeneration=DynamicModifiersOnly under [/Script/NavigationSystem.RecastNavMesh]
NOTE: This will be reset when ever 'static' is selected!
* changed bShouldDiscardSubLevelNavData to False under [/Script/NavigationSystem.NavigationSystemV1]
NOTE: This allows us to move nav mesh to sub map if we wish.
* updated all TH- game mode maps
* all navigation modifiers and links moved to _Geo.
* deleted existing recast actors to ensure they were updated to use DynamicModifiersOnly.
* added new ladder and door nav links.
* added new guard points.
* added patrol routes.
* renamed AI spawns to make it easier to determine their locations.
* updated BP_Door_Swinging
* removed old AI logic
* added box collision around door core to ensure door core is picked up as a 'dynamic modifier'
by the navigation mesh regardless of the the static mesh used.
NOTE: Fuck me, the UE4 navigation mesh can be a picky bastard!
* updated BP_WindowCover to disable any GBAIGuardPoint behind it when it's enabled.
* added missing JAFO patch.
* updated all behaviours trees to incorporate basic barks
* created BT_Guard
* moves from guard point to guard point
* scans area based on guard point values set by mapper.
* avoids going to a guard point another AI is at or visited recently.
* updated BT_Patrol
* squad leader determines patrol route and direction.
* other squad members spread out behind leader
* updated BT_Attack
* split up logic into sub BT's.
* improved usage of cover by separating leaning & stepping out
* includes barrel line check to prevent shooting cover.
* updated BT_Search
* improved usage of cover by separating leaning & stepping out
* improved selection of next search location based on search direction
* search direction specified before running the BT.

* removed references to assets under local "_OLD_AI" folder that is not on P4 depot.
* added GroundBranch/AI to DirectoriesToAlwaysCook in DefaultGame.ini to make sure AI barks are cooked.

* added damage sense to AI
* rigged up AI to react to being bumped into or having a firearm collide with them.


CODE

* changed version number from 1025 to 1026
* update ZooKeeper plugin
* disabled ElevatePlayer option for now - was being abused.
* added MinPlayers to ZKVote to define minimum number of players required to vote.
* added check to make sure VoteDuration is at least 10 seconds.
* created UGBCharAppearanceFunctionLibrary::ApplyCharAppearanceFromFile()
* will take filename of appearance, open the file and apply it directly to character
* created UGBCharLoadoutFunctionLibrary::ApplyCharLoadoutFromFile()
* will take filename of loadout, open the file and apply it directly to character

* added assertion check to UGBGameInstance::OnLoadingScreenFinished() to prevent log when game loads without a front end map
* created GBAIFunctionLibrary::ForgetrAll() to access the AIPerceptionComponent::ForgetrAll()
* created BT_Stunned for the AI
* handles the timer related to how long AI is stunned for
* disables/enables sight and hearing AI is stunned/unstunned
* makes AI take short steps and turn randomly
* once finished, sets AI to search mode
* updated BP_Explosion_MK13_Stun
* unified code used to stun AI or local player
* updated BP_StunAffect
* ensured that multiple stuns stack up
* switched from timeline to float curve to control stun PP alpha

* cleaned up radio sound cues for Mikson (my bad)
* made firing volume a variable on UGBBarrelComponent
* default set 165.
* updated BP_MP5SD5/6 to 70
* added Idle/AlertAffiliationSightThreshold values to AGBAIController.
* compares sight strength vs. these values to determine if they should automatically know if they've seen something hostile.
* makes it easier to sneak up on AI from sides.
* changed BP_Suppressor_Master volume multiplier to 0.8
* rifles should now be slightly harder to pin point than they used to be.