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.

Share this Post: