Build Update

BUILD UPDATE #007: Muster

A new GROUND BRANCH Build Update is available!

With a first pass on listen server capability, some A.I. tweaks and a new optic—among other additions and fixes—#007 should be a pretty exciting one.

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

Before we move on, we’d like to remind those who use Facebook, Twitter or Instagram to follow us on our social media channels. The more our online presence grows, the more people will know about our game, the bigger our community will get, and the faster development will progress. So if you do social media, make sure to give us a follow, share our content when possible and help us reach more players!

Full patch notes await at the end of the post, but you know the drill: highlights first.

Hightlights

EXPERIMENTAL: Listen servers

A first pass of the long-requested listen server capability has been implemented. This means you can now host your own GB server from your computer without having to setup a dedicated server.

It’s prone to issues at this point and not yet a streamlined process, but here’s what you need to do if you’d like to host a listen server:

  1. Make sure your router and Windows Firewall are configured to open the following ports:
    • 7777 UDP
    • 27015 UDP
  2. Select Host Game from the Main Menu.
  3. Set up your server preferences:
    • Type — Selects whether you’re hosting over the Internet or a local area network (LAN). Note: LAN is currently not supported.
    • Players — Sets the maximum number of players for your server. Note: Although the drop-down menu does not reflect it, the max capacity for PvP game modes is 16 players; this can be changed manually via the console command MaxPlayers=X (where X is the player capacity). For a comprehensive list of all server console commands, refer to this guide.
    • Game Mode — Selects the game mode. Note: PvP game modes in particular may be missing rules or have confusing parameters. Our next major update aims to address these issues and make game modes more clear-cut, organized and varied. Stay with us!
    • Time Limit — Defines how long (minutes) until the game ends and the map changes.
    • Round Time — Defines how long (minutes) each round should last.
  4. Click Host.

With your server created, your friends can now join it by bringing up the console (default Tilde [~] or Multiply [* or ×] keys on your numpad), typing open <your IP> (find out your IP address here) and pressing Enter. As noted, this is only a first pass on this functionality; you will be able to join listen servers via the Server Browser in the future, of course!

Known issues
  • If the server isn’t available/properly setup once the client attempts to join, the game will crash after a few seconds.
  • Once joined, Fire may not respond. The issue should resolve itself after a short time and/or by switching weapons a few times (we couldn’t determine, so please inform us if you do).
  • Various replication issues may occur.

Enemy A.I.

Further tweaks

As always, the A.I. is a constant and ongoing process. In this update, a few more key changes have been made, and Kris goes over them in this little video:

To sum it up:

  • Though still missing animations, bad guys now visibly transition via ladders and should generally navigate more fluidly.
  • They are now more selective in their firing and cease fire when direct line of sight is lost—so no more full-auto mag dumps.
  • Enemies can now see through chain link fences.
  • When line of sight is broken, they will move to the player’s last known location.
  • They should attempt to find cover to reload.

While it’s generally still at a rudimentary state, enemy A.I. should now act a bit smarter and utilize the environment better when dealing with threats. Let us know what you think of this implementation.

New editable A.I. values

As mentioned earlier in Kris’ video, two values (RecoilCompensationSkill and AimErrorPeriod) have been tweaked and are now also editable via the AISettings.ini file (located at …\Steam\steamapps\common\Ground Branch\GroundBranch\Config). Feel free to experiment with these values and let us know how it went!

› For a guide on the other values in AISettings.ini, check out this link.

NEW OPTIC: Micro T-1

A new red dot sight has been added to the attachments selection: the Micro T-1.

Made popular by its reliability, small size and light weight, the T-1 is available in two versions: one regular and one with a tall spacer, both on a lever-release mount.

Micro T-1 (regular): For most uses, including canted (offset) mounts. (We forgot to add the ability to piggyback-mount the T-1 on railed scopes, but that will be in the next update. Whoops!)

Micro T-1 (tall): Normally used on ARs (M16, M4, Mk 18 etc.), the tall spacer mount is required for proper sight alignment with the G33 Magnifier.

Sight picture. (We’ll be working on those red dot reticles for more accurate dimensions soon.)

G33 Magnifier alignment issues

The alignment issues with the G33 have been ironed out: it should now line up correctly with sights as appropriate.

› We haven’t been able to look into the issue of disappearing reticles (with the G33 + holo sight combos), but as before, the workaround is to simply move the magnifier a notch or two away from the sight (or vice-versa).

We hope this update will improve your GROUND BRANCH experience and keep you operatin’ out there. Expect another Build Update before Christmas, and don’t forget to stay tuned for more news via our social media channels. See you next update and, as always, thanks for the support!

Patch notes

Build version: 1025

Client

Steam ID: 3381094
Size: 546 MB

Dedicated server

Steam ID: 3381096
Size: 34.7 MB

FIXED
* fixed firearm WBP_FirearmCustomisation not allowing sights if there is no sight-only rail present
* fixed various navlinks used to allow movement through doors on SmallTown, Depot and StorageFacility
* FIXED incorrect placement of suppressor on 416 and 416 Shorty
* fixed GA_AK74_Reload looping
* fixed AIThreatSelectionComponent setting AI's focal point to IncomingFireOrigin when it was 0,0,0
* fixed looping firing sound again again (I hope again again)
* fixed BTTask_ShootFirearm / BTTask_StopFiring not stopping the AI from firing when aborted
* FIXED Sights now line up properly with G33Magnifier
* FIXED setup weapon recoil to previous values before Abilities system change
* fixed being able to shoot in RR if you spawn into RR before the shooting range triggers (I hope)
* fixed movement speed bug which would use engaged/ready position speeds even when you didn't have a firearm equipped
* fixed handgun close ready collision moving the handgun behind the characters back
* fixed replcated dropped static mesh based items appearing at 0,0,0 before first collision.

AI
* updated AI behaviour tree and related Blackboard to support climbing up/down ladders
** ENGINE CHANGES **
* reverted old fix/hack in AISense_Sight that would check for multiple channels against visibility instead of just the "DefaultSightCollisionChannel" 

* created EQS_FindLocationBehind to allow AI to move back a bit to clear an obstructed firearm.
* created EQS_FindLocationParralell to allow AI to move sideways a bit to move to somewhere where a team mate isn't in the way
* created BTTask_ClearFocus to allow BT to reset focus after threat is lost etc.
* updated BT_GBAI
    * switched to using BTDecorator_IsVectorSet when checking if various vectors were valid or not to stop them moving to or aiming to 0,0,0
    * can now reload with or without a threat.
    * will attempt to find cover before reloading
    * when losing sight of a threat, AI will stop firing
    * when losing sight of a threat, AI will now move to a random location near the where they last saw them.
    * disabled usage of suppression branch - was causing AI to spaz out.
* added variables to GBAIController to control recoil compensation and aim error (see DefaultAISettings.ini)
* recompiled BT_GBAI_Suppressed to stop log spam


CONTENT
* Adjusted collision on a few trees to better conform to mesh
* Added in first pass of "spooked bird" BP 
    * User contribution.... Thanks Fatmarrow!!
* Adjusted G33 magnifier to flip on/off 2x faster

* New Micro T1 optic
    * Both regular and tall version for use with G33 magnifier
* Adjusted g33 magnifier mesh to better fit rail
* Adjusted new recoil reset values 
* Made some small adjustments to the character shadow physics asset 
* Set all firearms to use their PhysAssets for simple shadow casting


CODE
* updated BP_SpatialSound and added it to P4 depot
    * was originally just for Mikson, but since I needed to work on it...
* created Test_SpatialSoundBP 
    * shows how to add the Wwise sound volumes to make them work with BP_SpatialSound 
* disable sight positoin check in GBRailAttachment
    * need to revist it later, but for now it should allow you to place sights on the MP7
* updated GBAIController
    * renamed GetPathPoints() to GetPathCorridorPoints() to better match the info it actually gets
    * created GetCurrentPathCorridorIndex() - useful to tell what navmesh poly you're on
    * created GetNextPathCorridorPoint() - useful to quickly visual the next navmesh poly you're going to
    * created GetNavLinkPoints() - useful to get the current navlink your using, if any, and its start and end points.
* updated RBEventmanager to fix potential memcpy issue
* updated BP_ImpromtuLadder_BFS to add AI navlink check before assigning ladder to AI

* added ladder navlinks to all maps that have ladders

* created GBGameplayAbility_ReloadExtMag::GetCurrentMontageSection()
* updated GBCharacter
    * implemented IGameplayTagAssetInterface 
    * added GetOwnedGameplayTags()

* updated BP_FenceMaster to allow certain collision channels to be set to "Ignore" on sections
    * updated all affected _Geo maps.

* added RecoilImpulseTime and RecoilRecoveryTime variables to GBFirearm
    * updated affected C++
* added basic friends list to ingame menu

* first pass fixing listen server support
* updated GBGameplayAbility_Fire to fix potential issue with FiringTag not being cleared.

* added client checks to functions that give abilities.
* AbilitySystemComponent now has it timers cleared, Deactivate() called and is finally destroyed on character death or on a client side character being spawned.
    * hopefully this is the fix for massive sudden frame spikes found last dev test :|
* added bUseAttachParentBound option to GBCharAppearanceData.
* added bUseSimpleShadowsForCharacters option to use capsule shadows and disable static mesh shadows on character related mesh components

BUILD UPDATE #006: Quaternions

We’re done cleaning up the major bugs that popped up since our last patch, so Build Update #006 is here with some of the juicy fixes and content we announced in our last Intel Update.

NOTE: All servers must be updated to work with the newest build.

Before we go over the highlights, let us swiftly inform that GROUND BRANCH is 20% OFF on Green Man Gaming’s Black Friday sale, so if you or a friend have been thinking about getting GB, well, that’s a pretty damn sweet incentive right there. Head over to Green Man Gaming and grab your keys 20% OFF!

With that out of the way, let’s move on to the highlights and, as always, the full patch notes await at the end of the post.

Highlights

Lag compensation

As mentioned in Intel Update #003, Kris has implemented a lag compensation/hit registration system that massively improves online play—even at higher pings. Rounds hitting way off your point of aim or appearing to not affect targets should now be a thing of the past. Hooray!

A.I. tweaks

We’ve done more small tweaks to reaction settings, improved patrolling and general pathing throughout maps, and made cover point usage better. Enemies should now be generally more difficult, aggressive and mobile. There should also be less—if any—instances of them spinning in place and backwards-walking.

A note about future A.I. developments

In an effort to update the A.I. in a more timely manner, we will be developing the Terrorist Hunt portion separately from the squad-based parts. We want to provide a fun and robust mission-based A.I. with a solid squad control system, and that process has slowed down the development of the general-purpose A.I. functionality used in the Terrorist Hunt game mode. Since the A.I. is a plugin to GROUND BRANCH, it makes sense to develop those systems in parallel, so players can get a continually upgraded experience. The two systems will eventually converge with the mission-based squad system getting layered on top of the base general-purpose A.I. behaviors and environment processing used in Terrorist Hunt.

New content

G33 Magnifier

The G33 Magnifier is a switch-to-side 3x magnifier used to provide contextual magnification for red dot and holographic sights. To equip it simply grab it from the Sights section in weapon customization and mount it behind your preferred holo/red dot sight. Then, when in-game, flip it on by highlighting it in the Attachments Menu (default Middle Mouse Button) to add 3x magnification to your standard sight picture at the expense of field of view (FOV). Highlight it again via the Attachments Menu to flip it back to the side. The G33 doesn’t have a hand animation yet, but that will be sure to come later.

Open-design reflex sights like the OKP-7, Reflex Large and Reflex Small require a riser (or two, in the case of the RMR) for the magnifier and sight to line up correctly.

Known issues:

  • When paired with either of the holo sights, placing the G33 Magnifier as close as it fits will cause the reticle to either not appear or appear partially when looking through it—so try placing it a further “notch” apart for a correct visualization.
  • The G33 seems to only attach to the front half (roughly) of the MP7’s top rail, despite appearing to fit much farther back.
  • When playing online, the pivoting mount animation may stutter.
LT608 Mount

A new mount has been added to the Risers section of the attachments menu. The LT608 is designed to mount over the ejection port of the Mk 14 EBR, allowing sights to be placed farther back and closer to the player camera, making scopes more useful.

MP7A1 and MP7A2

The MP7A1 is now available for that classic MP7 look. In addition to this earlier design of the famed PDW, we’ve added a dedicated suppressor—the Rotex-II—and 4 skins to choose from: black, green, tan and the SEAL digital camo AOR-1 (pictured above). They’re also available for the MP7A2.

That’s all for the highlights! Plenty of more subtle fixes, of course, so check out the full patch notes below if you’re a curious cat.

Thank you for staying with us, and we hope you enjoy this update as much as we do. See you in the field!

Patch notes

Client

Build version: 1024
Steam ID: 3317525
Size: 325 MB

Dedicated server

Steam ID: 3317526
Size: 35 MB

FIXES
* FIXED BGMilitant_GunnerGalil kit trying to use wrong mag
* FIXED AGBFirearm::SlectSightComponent() failing if there were no active sights in a sight group
    * fixes crash caused by using magnifier/G33 with sights that do not share its sight line properly (too low/high)
* FIXED AI trying to using firearm to dictate rotation when firearm is obstructed.
* FIXED Binocular overlay not covering screen
* FIXED leaning spectating crashing client
* FIXED smoothing groups on pistol flashlight
* FIXED missing collision outside Tanker Ship bridge area
* FIXED floating collision outside Tanker Ship bridge area
* FIXED misaligned geometry on Tanker Ship
* FIXED handguns not using firing sounds due to new gameplay ability change
* FIXED chest slung weapon sticking out front of character at 45 degree angle
* FIXED M1911 slide not being back for first shot (it's single-action)
* FIXED MP7 weapons not properly setup to use all skins available
* FIXED MP7 UI name to reflect the different versions
* FIXED missing fire mode for MP7A1
* FIXED Galil rail adapter not fully attached to reciever
* FIXED grenade throw montage not being loaded in time for throw ability to play it
* FIXED NVG overlay being shown before NVG actually used causing black screen to appear
* FIXED zoom for firearms in item editor
* FIXED for attached components on pose mastered skeletal mesh not updating (Pouches not updating during some movements)
* FIXED always run setting being reset on pressing run/walk (doh!)
* FIXED rear iron sight finding and using front sight posts that are BEHIND it
* FIXED rear iron sight causing sight offset to be zero if front sight post is missing
* FIXED crash after throwing grenade if grenade prev swith option was set to 'Empty Hands'.
* FIXED BP_IRStrobe particle emitter becoming inactive
* FIXED GBCharacter::GetGenericTeamId() failing on clients
* FIXED BP_Magnifier replicating animation alpha to owning player
* FIXED instances of GetPlayerName that referred to the PlayerNamer variable instead of the GetPlayerName() Blueprint callable function (Change in 4.20)
    * Should now see player names when players join/leave, on duty roster etc
* FIXED GA_Firemode_Master spamming log
* FIXED engine whinging about GBItem binding to Character's OnDestroyed delegate when already bound to it.
* FIXED AGBCharAppearanceInfo::MatchesCharAppearance() failing when it shouldn't (oops!)
* FIXED AGBCharLoadoutInfo::MatchesCharLoadout() failing when it shouldn't
    * UGH - this was a shitfight due to the JSon formatted loadouts changing their order even if the contents remained the same :|
* FIXED GBCharacter CharAppearanceInfo reference replication.
    * should fix issues where a player changes their appearance in RR, but the changes are not pushed to any clients until they respawn.
* FIXED GBCharacter CharLoadoutInfo reference replication.
    * should fix issues where a player changes their appearance in RR, but the changes are not fully pushed to other client until they respawn.
* FIXED team kill check not being enabled in non-round based team games
* FIXED OnBeingEquipped() and OnBeingUnequipped() not being called correctly causing incorrect offhand positions
* FIXED being able to place breaching charge on door that has already been blown up (oops)
* FIXED RR shooting range blocking vollumes
    * destroys all bullets that enter it
    * makes all grenades into duds that fizzle out then destroy themselves after 5 seconds.
    * removed overlapping volumes causing bullets to spawn massive amounts of impacts and kill frame rate
* FIXED not being able to select primary firearm on inital spawn unless you select another item first.
* FIXED unnessarcy freeze when leaving RR in non-round based game modes.
* FIXED AI not facing toward movement goals
* FIXED AI attempting to use barrel direction to determine yaw/pitch when it was off target
* FIXED AI log spam
* FIXED RR triggers ignoring grenades again
* FIXED BGMilitant_Sniper.kit using kashtan instead of PSO for SVD
* FIXED recoil causing firearm to rotate around character as the weapon fires (WTF?!)


GENERAL
* Updated MP7
    * Cleaned up models
    * Added A1 and A2 versions
    * New textures
    * Added in MP7 specific supporessor
        * Colors: Black, Green and Tan
* Changed NVG overlay effect to use same system as binocular so it works better in more resolutions
* Changed default PPSharpenPercentage to 30% from 100%
* Added in G33 Magnifier optic
* Adjusted some default settings
    * Texture Streaming Pool sized for all graphics settings
    * Set first time startup scalability settings to High
* Added KillZ value to Tanker Ship map so player dies if falling into water
    * Had to make this farther down than wanted to due to how the Ready Room works
* Adjusted weapon chest drop position a bit to be more natural
* Added in some subtle movement to chest dropped weapon when moving
    * Still a work in progress
* Added in UI icons for G33 magnifier and Rotex suppressor

* Cleaned up weapon rail proportions to be accurate, standardized and consistent 
    * AK74 rail adapter, 1P78 scope, PSO_1M2 scope and Galil railmount
    * M4, M4 Block II, SVD, M1014, Mk18MOD1 and M16, MP5, MP5SD5, MP5SD6, MPX, MP7A1, MP7A2 and UMP

* Added in LT608 rail riser 
    * Used to extend rail system over M14 ejection port
* Added new coffeemachine meshes to RR
* Removed Anim_Dynamics node in main character BP used to give slung weapon a bit of motion
    * Was causing issues. Will revisit later


AI
* Added #ifdef guard to prevent some log spam for cover point reservations
* Added #ifdef guard to BTTask_MoveToCover to prevent log spam
* Added some logging of values for sense envelopes and default AI perception values so we can figure out what is causing server issues with perception.
* Small tweak to AI pitch/yaw settings to be a bit more quick in reactions
* Slightly improved AI patrolling
* Generated coverpoints on Power Station map for better AI behavior
* Re-Set navmesh to auto generate on load and be dynamic on all TH maps
    * Should help cleanup AI getting stuck in odd places behavior


CODE
* created GBGameplayAbility_Fire
    * handles client/server firing and syncing
    * replaces need for GBTriggerComponent
    * allows for more complex handling of firearm firing if required
    * fixes bug that came up trying to creat client and server side bullets.
* created basic lag comp logic
    * array of saved poses/body positions on server
    * client side bullet impacts are sent to server.
    * server verification is currently DISABLED, so all client side hits are ok'd regardless of lag/sync issues
* updated all firearm blueprints due to removable of GBTriggerComponent
* updated firearm animation blueprints to read animation alphas from owner rather then the owner having to set them
     * makes for simpler (/faster?) firearm Blueprints
* updated GBAIController to updated Start/StopShooting()
* updated BTTask_ShootFirearm to work with firearm changes
* added IsNetRelevant() to GBBulletProjectile to prevent 'double impacts' for predicated clients
* updated firearm Blueprints 
    * split bolt animation into two separate timelines to ensure IsEmpty() is checked regardless of framerate.
    * created UpdateBoltAnimationPlayRate() Blueprint function to set the BoltAnimationTimeline play rates based on the firearms fastest rate of fire.
    * added missing LockOnEmpty() Blueprint function we're required.

* switched grenades over to using a gameplay ability for throwing
* added gameplay ability version of grenade pin replace
* made sure live grenades are dropped on character death if they were about to be thrown
* created GA_Binoculars_Use

* removed NumPad0 ToggleInGameMenu binding from DefaultInput.ini

* updated GBFirearm
    * improved detection of sight components with similar sight lines
    * created sight groups to sight components with similar sight lines
    * updated sight component choice to lowest 'active' sight in a sight group
    * added function to update the current active sight in a sight group
* updated BP_Magnifier
    * added CanBeUsedWhileAttached Blueprint function
    * updated associated animation Blueprint to show animation
    * moved scene capture 2d component to from root bone to animated bone

* replaced usage of BasedJson strings with simple condensed versions (no longer required)
* changed BP_Magnifier horizontal FOV to info based on real life version.
    * still not 100% correct
* switched breaching charges and detonator over to gameplay ability
* removed ItemUsageIgnored functionality from GBPlayerController
* updated BP_Trigger_ShootingRangeSafeDirection
    * takes over player input as they enter the ready room or leave the trigger
    * lets go of input input as they leave the ready room or enter the trigger
    * will make you stop firing or replace the pin of your grenade as you leave the trigger.

BUILD UPDATE #005: Checkpoint

It’s been a little over two weeks since out last update, and we now feel we have just enough content for a new build. Build Update #005 is a relatively small, intermediate update to keep things fresh while we work on bigger thing (more info on that soon!).

NOTE: All servers must be updated to work with the newest build.

Highlights

New map for Terrorist Hunt: Storage Facility

A familiar map to our pre-Early Access backers, Storage Facility has returned to GB a lot closer to completion, with many of its issues fixed and optimization improvements. Though the map is currently only setup for Terrorist Hunt, more game modes will follow. Check out some samples below (courtesy of our local wizard Rangda):

A.I. suppression

We’ve finally worked the first pass of the A.I. suppression and cover system into the game. Enemies will now seek cover under fire and, depending on how suppressed they are, return fire from cover. As mentioned, this is a first pass—A.I. is still overall rough, but will continue to improve as we add and refine systems.

Patch notes

Build version: 1024
Steam ID: 3183851

FIXED
* FIXED OKP-7 reticule misalignment
* FIXED collision issue in Power Station stairwell that allowed player to jump into non playable area

AI
* Added more values for perception configuration, see DefaultAISettings.ini comments
* Updated cover point generator to generate cover points within a subfolder in outliner so things are easier to view etc.
* Added some more aim debug code
* Started moving different distinct state into sub-BT's to make overall BT clearer and to aid reuse and reworking of individual behaviors
* Added suppressed BT to handle state where AI is suppressed by an unseen enemy, still work to do to flesh this one out
* Added slightly clearer handling of focus, as movement was resetting focus on completion needs to be split into focus component

CONTENT
* Changed out some trees for new versions on Storage Facility
* Reduced wind settings on Small Town
* Added PhysMat settings to some marketplace materials
* Optimized foliage meshes for less overdraw
    * Main grass mesh (should help all maps that use it)
    * Distant tree billboards in Storage Facility
* Storage Facility
    * Finished art pass
    * Cleaned up PostProcess volume placements
    * Thinned tree placement a bit to help rendering

* Added TH-StorageFacility to package list
* Removed DV-StorageFacility as its no longer needed
* Added IsLocalPlayer to light optimization stuff in map BP

BUILD UPDATE #004: Hotfix

This is a small hotfix update to address the main issues present in Build Update #003.

  • Fixed control remapping issues (e.g. broken ‘Strafe Right’).
  • Cleaned up reload issues (shotguns, Mk 14 and AKs).
  • Testing new tree meshes and foliage rendering (SpeedTree 8) in Small Town—let us know how it performs for you!
  • Fixed reticle misalignment on red dot / holo sights.
  • Render sharpening now accessible and scalable via Settings > Video > PP Sharpen.

NOTE: All servers must be updated to work with the newest build.

Patch notes

Build version: 1024
Steam Build ID: 3134746

FIXED
* FIXED MoveRight rebinding not working (was binding an Action not an Axis)
* FIXED small misalignment in red dot and holo sight reticles 
* FIXED missing textures on a few Tanker Ship engine room meshes
* FIXED infinite shotgun reload
* fixed AK reloads not putting magazine away
* fixed M14 EBR reload notifiers not being fired


CONTENT
* Small changes to default scalability settings to keep shadow quality a little higher on lower settings
* Updated SMG Mag pouch
* Trees redone on Small Town
    * New Speedtree 8 based tree types replacing most exisitng trees
    * Small adjustments to post process settings to help unify look
* Some work done on Depot brick wall material

* Tanker Ship
    * Tweaked lighting visuals for night map
    * Small optimizations to EngineRoom and exterior lighting 


CODE
* updated GBGameplayAbility_ReloadXXX
    * updated CanActivateAbility() to return false if it detects montage already playing or timer already running, preventing reactivating already active reload
    * removed need for show menu timer
    * reduced input delay by starting timer on activation instead of release and skipping it if double-tapped
    * changed old magazine attachment point from HAND_Left sock to b_LeftHand bone to stop it floating after new mag is inserted.
* removed stubbs from GBTuberMagComponent
* moved new PPSharpen materials to /Core/Engine and ensured they follow naming convention
* removed PP_Sharpen references from Aircraft TakenDown lighting scenarios
* added PPSharpenPercentage player setting 
* updated WBP_Settings_Video
    * moved most of the Event Graph off into separate user widgets, modularising where possible.
    * cleaned out old code
    * ensured Anti-Aliasing Method sets console cvar when applied (should see AA update immediately)
    * added PPSharpenPercentage setting
* changed sharpen amount in PP_Sharpen from 0.5 to 0.3.
* updated PPI_Sharpen to use default sharpen amount value.
* updated game module binaries

BUILD UPDATE #003: FUBAR

That’s right: Build Update #003 is finally here.

As those of you who follow us know, we’ve ran into a myriad of problems since migrating to Unreal Engine 4.20.2. This upgrade has caused more issues than usual, which in turn took a longer time than usual to resolve, leading us to go out of schedule. Engine updates get increasingly trickier as a project grows; there’s more to break, and then more to fix.

Full disclosure: This is going to be one of those builds that sometimes happens in Early Access where some of the things that were broken before now work… and vice versa.

PICTURED: How we feel about future engine updates (screenshot by WaderTheGamer)

To add insult to injury, A.I. master Phil had issues with our version control system, which rendered him unable to submit his updates. Well, we decided that the new build had been delayed long enough—some of the additions will simply have to wait a little longer.

Rest assured that we’ll be getting everything in shape as quickly as possible and, in the meantime, we hope this build’s fixes and extras outweigh its issues and omissions. Last but no least, sorry for the delay!

NOTE: All servers must be updated to work with the newest build.

Highlights

Engine update

We are now on Unreal Engine 4.20.2! This brings with it many optimizations and systems that will allow us to do a whole bunch of things more efficiently in GROUND BRANCH. Some may experience small performance increases from the upgrade alone, but the biggest gains will come once we fully tap into the new systems and features over the coming months.

New controls and bindings

One of the biggest changes in this build is the new Controls screen that makes key bindings and commands much easier to find and change. Whereas before some options (such as Toggle Crouch) were part of a “Scripts” drop-down menu, now they are exposed and clearly listed. Ambiguous bindings such as “Off Hand Action” are now more intuitively labeled (e.g. “Interact”). And, of course, the duplicate Toggle Aim / Off Hand Action binding has been taken care of.

One important change is in the Reload control scheme: you now press R once for a Tactical Reload (a.k.a. retention reload), and double-tap R for the more urgent Speed Reload. As mentioned in our previous Intel Update, holding R will be saved for a menu that will allow for mag checks and other related actions. While this Reload scheme is currently hard-coded, we plan to make it customizable in the future, so that this will only be the default.

Lastly, the radial menu for attachments is now exclusively for weapon attachments and defaulted to the Middle Mouse Button. Your NVGs—if equipped—are now accessible via the top menu, under “Equipment” (‘4’ key).

The new Controls screen layout has the bindings listed on the left and extra options on the right. You can check it out in the Settings menu.

Scope glitch is history

The issue with 3D scopes on NVIDIA 10xx series graphics cards has been fixed—you are now clear to rock that ACOG or high-powered optic without hassle.

New bad guy skins

We are starting to introduce some enemy skin variations, starting with Terrorist Hunt on Power Station. These will continue to get updated and added to other maps very soon.

A.I.

The values for A.I. setting that were being tested on a few of the official BFS servers are now the default for the game. The A.I. is continually being worked on and will go through many changes over the coming months, so don’t worry if they appear too easy or too hard; we’re in the process of testing out values, and there’s plenty of new A.I. functionality yet to make it into GB.

Map and graphics updates

  • We have implemented a temporary solution for the A.I. seeing through foliage on Small Town, so no more getting shot from across the map while behind trees! This solution solves roughly 85% of the cases where A.I. would “see” you through trees and bushes, and we’ll soon be working on a better solution that covers almost all situations. Other maps with dense foliage will also be updated after we’ve acquired some feedback from this build.
  • A rendering “upgrade” is being tested on all maps. You will notice a sharpening effect to the visuals that greatly enhances the look of the game while using temporal anti-aliasing (Settings > Video > Graphics > Anti-Aliasing Quality). Some may or may not like the look while using FXAA or no AA, so we’ll gather feedback and make adjustments as necessary.
  • Some work has also been done on Storage Facility (Play Offline > Game Mode: Development). The map should be ready for Terrorist Hunt in the next Build Update!

Weapons and items

  • The G22 has received a new custom slide based on the Agency Arms Patrol Series.
  • The Galil SAR can now use a Picatinny rail mount for optics.
  • The visible laser has been further toned down and is now less visible depending on the lighting.

Known issues

  • Some players may not show gear they are wearing while in the Ready Room. Rest assured that the player does have the gear and can see it themselves. Everything will sync up once in the mission/match.
  • Pouches do not always animate with the character. They will appear to “float” until the player moves in any direction. This behavior is especially apparent when crouching or standing up in place.
  • Some players may see slow-downs during various hit effects again.
  • Player names don’t show in the Elevate Player menu.
  • Player names may not appear on the Ready Room boards and/or player list.
  • The Binoculars overlay is misaligned.
  • Foliage LOD change distances need adjusting; lower LODs are showing too soon.
  • A.I. enemies may feel too passive now.
  • No ability to “re-pin” an armed grenade.
  • Small hitch in sidearm reload animations.
  • Terrain LOD transition creates a sort of “blobby” growing/shrinking effect as you move closer or farther away.
  • Some may experience an issue in the Ready Room testing range where the primary weapon is not immediately accessible. Simply select Secondary (‘2’ key), then switch to Primary (‘1’ key) to equip.

Patch notes

Build version: 1024
Steam ID: 3119679

FIXED
* FIXED Small offset of optics on MP5 rail causing shots to hit slightly to the right 
* FIXED slight offset of V3 reticle
* FIXED G22 normal map in wrong material slot
* FIXED naming of M16, M18 smoke grenade, M1911 and M4 to properly reflect models
* FIXED M16A4 fire modes - now Semi and Burst only
* FIXED scope corruption on nvidia 10xx cards
* FIXED Mk48 PHYS_collision that was preventing shell casings from properly ejecting 
* FIXED some building collision on Power Station
* FIXED server version - should prevent people attempting to join RED servers all the time
* FIXED OSS HASH issue introduced in UE4.20
* FIXED ToggleInGameMenu getting called twice rapidly (temp hack fix)
* FIXED loading screen not pissing off properly since updating to UE4.20 (I hope)
* FIXED character loadout failing to be applied if there are no items to add in the replicated kit string
* FIXED BP_PalletteStack warnings/issues
* FIXED BP_ChainlinkFence warnings/issues - replaced the damn thing with new BP_FenceMaster
* FIXED potential issues with BP_Warehouse_ExhaustFan and BP_CielingFan
* FIXED C7535 GBDamageType caused by VS2017 update
* FIXED UAnimSequenceBase variables in GBAnimFunctionLibrary
* FIXED handgun reload not references end montage section
* FIXED incorrect naming for P250 magazine round count

CONTENT
* Updated G22 with Agency Arms slide (Now a 100% custom "Glock" due to copyright) 
* LOD work on G22
* Added rail attachment to Galil SAR

* Added in open static doors to RR Ops rooms
* Added in new recorder voice commands VO files and changed references in VOICE_Default
* Added in new VO for RR coundtdown
* Made collision on shell casings non-round to stop continuous collision sounds when they rolled
* Small optimization... default project setting to not use low end lightmaps 
    * Reduces shader permutations
* Some lighting optimization work on Storage Facility

* Added temp AI LOS blocking volumes to vegetaion in Small Town
    * This will help with AI seeing through trees and bushes though it is not always super accurate
    * Proper solution will be comign in the future
* Adjusted spec value on wood door materials
* Changed setting on Small Town doors to make them light better
* Small adjustments to Smalltown lights 
    * No longer using IES values

* Turned off DFAO on High shadow scalability setting
* Changed bad guys in Power Station to new models and loadout setups
    * Still work in progress

* Storage Facility
    * Work on texturing leftover untextured geometry
    * Setup Level Streaming Volumes for interior section
    * Lighting optimizations
* Reduced visibility of laser 60%
    * Better looking, but makes it harder to see in some lighting conditions
* Testing level optimization on training maps setup

* Implemented small sharpening effect to game rendering
* Changed default behavior of weapon optic glass to accept environment lighting
    * Prevents it from being full bright in dark environments
* Removed M15_WP grenade as it isn't implemented properly 
* Changed Galil SAR to correctly be 5.56 caliber as well as have a 35-round magazine
*  Renamed M18 white smoke to M83 internally
    * This was already done in game files

AI
* Added a couple of minimum values into loaded settings so we don't divide by zero in later calculations.
* Tweaked AI settings for a more enjoyable solo play experience
    * These will continue to be adjusted as well as new features added (BIG work in progress)
* Updated cover generator to add cover points into a subfolder in the world outliner

CODE
* Upgraded engine to UE4 4.20.2

* created WBP_ServerBrowserMessageOverlay
     * currently only used to display big warning message when trying to attempt to join a server that is RED.
* update path in various .bat files.
* hard coded fix for nVidia 10XX cards into BP_OpticalSightComponent
* updated GBCharacter
    * renamed SetRunning() & SetSprinting() to SetWantsToRun() and SetWantsToSprint()
    * renamed GetSprinting() to GetWantsToSprint()
* stripped out input script system
    * this is the mostly unnoticed system that support all those things people mention :)
     e.g. toggle crouch, momentary aim 
* updated input actions and execs
    * removed TogglePos
    * removed button usages from exec commands
    * created Interact commnad to replace usage of OffHand to open doors, climb ladders etc
    * renamed MainHand to UseMainHand
    * renamed OffHand to UseOffHand
    * renamed UpAction to Jump
    * renamed DownAction to Crouch
    * renamed UseAttachedItem to FirearmAttachment
    * changed inventory slot 3 & 4 to non-instant
     i.e. they always display a menu
    * moved Night Vision usage to Inventory Slot 4.
    * added Toggle Crouch option to player settings.
* overhauled control binding UI
    * hard coded binds to list of controls instead of reading them all from DefaultInput.ini
      Should be far less clutterred.
    * hard coded default bindings in UI
    * moved always run from WBP_Settings_Gameplay to WBP_Settings_Controls.
    * added Toggle Crouch to WBP_Settings_Controls.
* removed suicide (K) from DefaultInput.ini
    * stupid left handed buggers kept hitting it by mistake and topping themselves :P
* created fullscreen overlay WBP_BindKeyOverlay
    * replaces small in list message
    * removes modifier keys from list
    * makes it harder to bind to wrong key by giving a chance to review key choice & modifiers.
* changed reloads
    * input moved from player controller/firearm/gameplay ability combo to gameplay ability (should predict / sync better)
    * created new C++ reload gameplay abilities for both external mag fed and tube fed (i.e. shotguns) firearms.
    * for mag fed - tap = reload with retention (tactical), double-tap = reload without retention (speed)
    * for tube fed - tap = reload one round, double-tap = reload to capacity.
* created special gameplay ability with input similar to reloads for future use.
* updated BP_ANPVS_15_NVG
    * changed internal logic to try and fix the damn thing once and for all
* moved ability system input binding from character to player controller
    * character gets last dibs on input, so binding it there effectively made it useless if a default bind existing in player controller.
* simplified BP_Door_Swinging
    * now uses next/prev to control incremental movments instead of holding offhand.
* changed all interact prompts to the same style based of the latest ladder prompt.
* changed firemode handling
    * input moved from player controller/firearm combo to gameplay ability
    * slightly fiddling, so not sure on sync/prediction yet - will improve via animation later.
* updated GA_Sprint
    * input moved from player controller/firearm/gameplay ability combo to gameplay ability (should predict / sync better)
    * will pause/unpause itself
    * should no longer lower weapon if stationary.
* updated BP_TankerCar & BP_BoxCar to use Interact key
    * missed it in previous submit
* changed default key for FirearmAttachment from F to MiddleMouseButton (F is now Interact)
* updated WBP_Settings_Controls
    * added Become Spectator / spectate bind to 
    * added misc section with Return to Ready Room / ReadyRoom and Opt Out / suicide

* added item.firearm.reload tag check to stop AI attempting to reload repeatably
* removed legacy Categories from GBItem
    * updated all affected C++ & Blueprints
* created GBDirectSight for use with non-rail sights that attach directly to firearm

* added toggle / momentary lean option to PlayerSettings
* added bPlayerSelectable to GBCharAppearanceData
    * set all bad guy appearance related assets to not be player selectable
    * set all player appearance related assets to be player selectable

* changed ProjectVersion from 1023 to 1024