Jump to content

BFS Banner


Member Since 22 Feb 2007
Offline Last Active Today, 08:57 PM

Topics I've Started

New Ground Branch build available - version 1013 build 110810

15 August 2016 - 04:48 PM

Well what can we say... its been way to long since the last public build and we apologize. There have been numerous private testing builds with the Operator Edition owners and they have provided tons of information on fixing bugs and provided suggestions on improving the game. It also made us realize that the internals of the game have reached a point where we need to refine our process a bit to better accommodate faster/cleaner iteration that allows us to get public builds out faster and with much less work on our end. We have taken care of that, but in the mean time WE HAVE A NEW BUILD!!!!!


Build Version 1013

Build 110810


Approximate Update size: 1.9GB

Steam build Id: 1275090

Known Issues

We are still not even to official Early Access yet so lots of things are half broken and not working. The biggest ones:

  • MP connectivity is spotty (may not connect or disconnect for no reason)

  • MP games have issues with correct loadout and kit items sometimes (May not get in game what you equiped in Ready Room)

  • We are in the process of rewriting how our gamemodes work and how our loadouts are replicated

  • Texture streaming issues in Operator Menu (very low resolution textures sometimes)

We made the decision to do this release knowing MP was half broken because there was so much other stuff in there. Hopefully we will have all that fixed up in a new build soon.


Terrorist Hunt

We plan to come up with a new name for this mode but for now its the easiest way to label it. Lots of work has been done and there are some new parameters available to mess with to fine tune some of the A.I. values if you like:


  • Terrorist Count - Hopefully explains itself

  • Terrorist Perception Delay - How much "alertness" the AI must feel before they consider something fully perceived

  • AI.FootstepWalkLoudness - How much of the "alertness" value is emitted with a walking footstep (attenuated by distance)

  • AI.FootstepRunLoudness - How much of the "alertness" value is emitted with a running footstep (attenuated by distance)

  • AI.FootstepNoiseRange - The maximum range allowed for any of the alertness values above

  • AI.WeaponFireVolume - How much of the "alertness" value is emitted with a single shot (attenuated by distance)

  • AI.WeaponFireNoiseRange - The maximum range allowed for any of the alertness values for shot value above

  • AI.IncomingFireActivation - How much "alertness" is perceived for an incoming fire (from the whizz/crack system)

So think of the Perception Delay as the bucket size and the other alertness values as filling the bucket up.

This game mode is also now available on the Depot map! This is a first pass at getting it working on a larger map so as with everything at this point, it is very rough. But it is a lot of fun!


TH does work in coop mode for some, though please see known issues above. If you want to try it there are some discussions in the forum about it.

Some new UI Items

In the Aircraft Takedown training map you can now reset your targets by walking up to the device next to the entry door and hitting the J key.


The RadialMenu has been updated a bit graphically (more to come) and we added a Drop option so you can basically get out of the menu without actually selecting anything. This will also eventually allow you to drop actual items on the ground.


The weapon customization menu now allows easier deleting of equipped attachments.


New loading screen(We would like to have no loading screens, but for now we do).


Gadgets and Weapons

We have started to remix the weapon sounds and the first one in the build is the MP5. Still lots of work in that area but it should give you a sense of where we are headed.

The wrist device was also added in for some prototype testing. The idea for this is to act as an information system to the player and his/her team. It *could* be used for displaying in game time, objective info, various maps and images. We haven't locked down exactly what we want it to do just yet so you will be seeing some functionality tests with it over the next few months. At the moment it doesn't do anything.


Breaching Doors

Some door breaching prototypes have been added, though they currently only work in single player. Players can shoot out locks or place and detonate breaching charges. Since this is currently a prototype the breaching charge controls are hard coded; When in a door's interact mode (see door control text) NumPad-Zero places a breaching charge and NumPad-One will detonate it. Watch out, because the blast will cause damage if in its close vicinity! This will all be greatly enhanced in coming builds.




We have begun some optimization efforts, but still have a long way to go. Weapons, weapon attachments, characters and character gear all have proper LODs now. We are now beginning map optimization passes so you should see some small improvements in this build and more in followup builds.

Animation and Character Updates

Various weapon reload and movement animations were updated. We in the process of rebuilding our weapon collision system as well as adding a much more robust and realistic movement model. Hopefully that will be in the next build!

New player nametags on vests instead of the placeholder floating yellow text.


Coming Soon

Stand alone Dedicated Server! We are currently testing out a Windows stand alone dedicated server Tool on Steam that will be freely available to anyone that wants it. No need to purchase the game to run a server. This should be available in the next build.


If you want to see all the changes in their raw form here is a detailed changelist:


FIXED - Bad framerate in Killhouse night map
* Removed rain particle effect as the particle collision had massive slowdown
FIXED - Compile errors in Depot Landscape Material that were spitting out log errors
FIXED potential nullptrs in GBGameState caused by GBTeamInfo replication delay.
FIXED GBCharacter not setting GBPlayerState character reference on server
FIXED leaning while running/sprinting (doing either while leaning cancels lean).
FIXED laser & tac lights not going off on drop or unequip
FIXED NVG overlay not being removed if you customise operator with NVG enabled.
FIXED not being able to remove optic or top attachment from helmets without reoppening head gear screen.
FIXED hard to place pouches by disabling animation while focussed on platform.
FIXED mouse cursor staying as pouch (disabled the feature).
FIXED - Falling through ground under stairs in SmallTown map
FIXED - No collision on red wall along rear of TankerShip
FIXED WebBrowser widgets being removed on editor restart (changed WebBrowser plugin load order)
FIXED - A few doors in SmallTown map opening wrong direction
FIXED - Userplaceable targets don't place actual target
FIXED - Character not showing wetness after being in water
* Drying time doesn't seem to be working though. May have gotten lost when PlayerController was rewritten.
FIXED - Bad weighting on Mk48 rear iron sight. Not attached to top cover
FIXED inconsistencies in bullet projectile information (e.g. some lengths were in cm, supposed to be mm).
FIXED bug in GBBulletMovementComponent that accepted lengths in cm, instead of mm (see above).
FIXED menu game mode showing up solo game mode list
FIXED reactive targets not dropped (HACK FIX for now)
FIXED solo terrorist hunt menu not appearing on death when game is packaged
FIXED loading screen walk cycle animation crash (I hope)
FIXED log spam due to invalid index in server browser
FIXED server browser tabs not sorting
FIXED server browser basic all, adversarial & cooperative filters.
FIXED - bad lighting on doorframe in SmallTown map
FIXED - Black platform and pouches in some lighting situations (like Aircraft_Takedown interior)
FIXED - operator UI use in SoloTH menu.
FIXED - text component issue on dedicated server with BP_ReadyRoom_Roster.
FIXED - BP_WristDevice crashing dedicated server (naughty John)
FIXED - hang-up when attempting to join server
FIXED - missing UI for split second when joining server.
* updated DefaultEngine.ini slightly
FIXED - BaseCharacter text component issues
* dedicated server does not like the character trying to add or use existing text components :(
FIXED - references to non-existing text components in ItemMacros
FIXED - freelook reset
* not as smooth as I would hope, but its a start.
FIXED round not ending when player logs out.
* modified AGBGameMode::DiscardPawn() to kill character before unpossessing character.
* modified TeamElimination & TerroristHunt GameMode Blueprints to bind existing K2_OnLogOut event.
* modified AGBGameMode::LogOut() to add OnLogOutDelegate()
FIXED AGBRoundManager::HaveEnoughReadyPlayers() counting ready players incorrectly
* now properly adds zero'd out counts for *all* teams before counting ready humans & bots.
FIXED round not starting / not being able to enter ready triggers that were beyond ready room doors
* updated BP_ReadyRoomDoor to set its initial open/close status without the need for round to change
* removed solid blocking boss (John will add blocking volumes manually)
FIXED none reference in BP_WristDevice when attached to character without a controller.
FIXED editor crashing due to loading screen in networked PIE game
* loading screens are now disabled in editor.
FIXED BP_ReadyRoomNameTags not being destroyed when parent character is
FIXED first person view in spectator mode
FIXED TerroristHunt GameMode Blueprint.
FIXED several bad player start locations on tankership_X_X
FIXED bug in Trigger_PrepArea that would remove player from team as they were sent to the play area
FIXED bug in GBBotManager that would try to place bots on non-existent team
FIXED Blood effect and decal materials are now setup properly
FIXED GBPlayerStart::UpdateTextrender declaration not being defined as EDITOR_ONLY
FIXED falling through floor due to bad / missing player start in SentToPlayArea
* instead of spawning player a 0,0,0, it will log the error, warn the player and leave them where they are.


* Fixes to the AI perception system, so that enemies now have an activation threshold before they are considered "perceived". Basically emulates a human response time. Values still need   tweaking. Also now the AI can properly forget their current target if they lose line of sight. TODO: Fix up the UE4 perception system to adapt this stuff so it doesn't have to be   duplicated in the new perception component so much (should be a feature of the Perception system, so submit it as a pull request to Epic).
* Fixed terrorist attacking - Now does not reset threat (need to hook up expiry of senses to threat evaluation)
* Added new EQS *PointWithLosToEnemy* change for following threat
* Altered Terrorist BT to chase threat
* Made a few tweaks to game mode and test maps.
* Solo Terrorist Hunt Menu now has temporary setting for perception delay (larger number = slower perception)
* Added perception value scoring for sensing.
* Added BT task for resetting a vector
* Changed whizzcrack information to include who fired the shot so we can get location properly
* small fix to collision on T wall near spawn of map
* Fix to Terrorist BT, having some weird issues with nodes not being executed! erk!
* A few small tweaks to smalltown ai test map, removed debug sphere that I checked in! :)
* Upped sight sense distance on Terrorist Bot, minor tweaks to small town ai test map, added back debug info into perception component
* Fixed collision on terroristspawnvolume so AI does not get line of sight blocked by it
* Modified gameinstance with function for grenade handling of physics materials (returns the impact effect based on the hitresult physics material name) see M67_Frag for usage, code comes   from OnExplode event of BP_Grenade and BaseGrenade.
* Changes to AI perception handling. Now handles footsteps and muzzle flashes as well as perception scoring. Will be refactoring later. Initial check-in so we have a working base.
* Fixed a bunch of missing pragma once calls in order to help the non unity build (trying to fix build problems with ai component).
* Submitting tactical perception component befor applying some changes to UE4 class to make it simpler, just in case :)
* Updated door swing BP with noise values for AI perception to hear.
* Changes to AI perception:
* AI now percieves footsteps, weapon fire sounds and other audio events. Todo: door opening and grenade landing
* AI now can be flashed by a flashbang. Effect lasts for too long currently.
* All AI perceptions need values for effect, currently footsteps are heard "very strong" and need balancing versus perception threat evaluation of them
* AI line of sight check now uses enemy eye viewpoint rather than middle of collision volume
* AI additional sensing updates for whizzcrack
* AI can now check and perform reloads correctly
* AI Cover generator rework started.
* AI Spawner fixed to allow patrol command to be instigated for enemies with patrol paths
* Small town AI test map additional nav modifier volumes added to stop navmesh generating in trees and out of bounds areas.
* Fixed some log spam coming from tactical perception component.
* Some small changes to Smalltown AI test map.
* Character spawner now spawns with correct squad instruction for AI to patrol
* Door swinging has auto-open for AI now when trigger overlap
* Updates to PointWithLosToEnemy EQS query so that it actually works
* Updated Terrorist BT's a bit
* Fixed up EQS query issue with line traces (were hitting actor for line of sight tests)
* Added navmesh link proxies to doors
* Doors now open when AI inside trigger volumes
* Changed recast properties on navmesh so that open doorways are AI navigable
* Fixed property on geometry traces for generators on PointWithLosToEnemy EQS query, now collides with floor when going up stairs
* Added CVAR's for ai noise generation perception values
* Updated small town ai test map with some more character spawners
* Added "guard" command to characters, so they don't actively seek out threats but are able to protect themselves when threats   are visible (more later)
* Fixed squad and guard position data to be passed by character spawner on spawn
* Updated Terrorist BT2 to handle guard command
* Updated SoloTerroristHunt and TerroristHunt game modes to randomize the fixed spawners used if less than total terrorist count
* Initial setup of Depot map for TH AI modes
* Fixed issue with TerroristBT2 having incorrect checks because of new guard value in command enum
* Updated solo terrorist hunt menu to expose AI cvars for testing
* Changed ITacticalAIInterface to not use blueprint implementable event and associated usage. Added relevent functions to GBFunctionLibrary to compensate for functionality.
* Fixed collision issue with trigger volume for Depot map by adding new preset and switching triggers to use it (OverlapOnlyVolume) along with new "Volume" object type.

* updated Trigger_Ready to flush local players pressed keys upon entry
* updated DefaultDeathOptions to reset input when HUD_Death_Overlay is hidden.
* removed stubbs from GBGameInstance relating to sessions & loading screen.
* added GameModeClassAliases to DefaultGame.ini
* short names for listed game modes & end up with path.
e.g. "Game=TH" will become "Game=/Game/Blueprints/GameMode/TerroristHunt.TerroristHunt_C"
* Added small area and blocker volumes to Ready Room exit doors
* created BP_PlayerStartGroupManager
* generic class to use for enabling/disabling player starts based on groups for different game modes.
* updated GBBasePlayerStart
* re-enabled auto-destroying a player start based on GameModeTag
* slightly updated existing Blueprint functions.
* added GetGroupDistances() Blueprint function
* Get distances of player start groups from supplied point, sorted from closest to furthest.
* updated TeamElimination GameMode Blueprint to use BP_PlayerStartGroupManager to handle player starts.
* added TerroristHunt compatible GBTeamPlayerStarts to Depot_All_Day
* added transition overlay to/from ready room & on pre-round freeze.
* hopefully makes the view teleporting from one place to another feel better.
* removed old BP_UserPlaceable_X Blueprints & references.
* FIXME - finish the move/rotatate/scale gadget for MapKit!

* created GBPlayerStart class
* replaces need for separate player start classes.
* uses Actor Tags to store GameMode tags
* includes RemovePlayerStarts() function for to quickly remove unneeded player starts (if desired)
* updated affect GameMode Blueprints
* added ActiveClassRedirects GBSoloPlayerStart & GBTeamPlayerStart to GBPlayerStart in DefaultEngine.ini
* removed GBBasePlayerStart, GBSoloPlayerStart & GBTeamPlayerStart
* updated other affected Blueprints
* added PlayerStart ShowDebug option to GBHud.
* updated several maps to add proper actor tags to player starts for TeamElimination, Deathmatch & TerroristHunt
* Changed blood decals Particle system + materials to look better
* simplified GBPlayerStart class
* removed bot/human variable
* removed bot/human check from IsValidFor()
* updated TeamElimination & TerroristHunt
* overrode ChoosePlayerStart() with Blueprint version to select any player start during ready or warmup periods.



* updated shell, footstep & other sounds
* set or updated attenuation settings
* set or updated concurrency settings
* added pitch modulation to shell sound ques
* adjusted volume of shells/footsteps
* ensured all cue were set to FX sound class instead of Master sound class.
* Moved Operator Bench over by killhouse door/stairs for better visibility
* First pass at UI for resetable targets
* Walk up to reset box to get UI
* Allows user to set number of total and friendly targets
* updated GBPlayerState
* FIXED issues with ClientInitializePlayerKits() RPC by removing need for it.
* created InitializePlayerKit(<profile name>) that is called by GBTeamInfos or player state if locally controlled.
This removes the need for the server to tell the client to initlise its profiles,
but still ensures the player state is properly initlised first.
* WalkCycle icon test for loading screen
* Flipbook material to apply to UI asset
* updated GBGameInstance to support async loading screen using DefaultMoviePlayer.
* updated GBGameInstanceBP to create & return loading screen widget
* updated loading screen
* OPFOR/Hostile Legs/Torso meshes and materials (Not in game yet)
* SkelMesh Duster/face cover mesh for use with hostile chearacter type (Not in game yet)
* Added functionality to wear baseball hat reversed (needs UI element still)
* Added bool and new Trans/ROT values in BaseHeadGear
* FIXME: Needs checkbox in UI to select to wear reversed or not (Suggest adding by Patch selection widget)
* Created LODs
* Platforms, Pouches, Headgear, Eyewear, Equipment
* Added in simple white solid material for use in some testing
* Changed TargetReset Switch to create/destroy widget as needed instead of creating at startup and set visibility
* LODs for M16
* Includes removed unsed bones based on LOD
* updated GBGameInstance
* improved handling of loading screen
* ensured loading screen is not garbage collected
* updated Screen_Loading widget to prevent crash due to garbage collection (AHH!)
* updated GBCharacter
* changed MinSafeFallDamage to 8mps
* added DeathFallSpeed to determine how fast player must be falling before death is certain (12mps)
* updated GBMovementComponent
* bUseFlatBaesForFloorChecks set to true
* PerchRadiusThreshold set to 16
* Weapon LODs
* AK74, AKS-74u, M9, G22, M14_EBR, M1014, UMP, MP5
* LOD skeleton for Mk48
* LODs made for weapon attachments
* Changed collision from BlockDynamic to BlockAll to fixed issue with AI perception
* First pass at simple binocular BP (Not usable in game yet)
* added gadget menu events & bindings
* updated GBDroppedItem to limit number of dropped items based on controller & item categories
* updated BP_DroppedCosmetic to limit life span to 60 seconds.
* updated InGameMenuManager
* made drop down buttons a separate widget
* rigged play button to be created by game mode settings widget
* implemented game mode settings widget for MenuGameMode (required rebasing GBMenuGameMode class)
* Made text on doors smaller
* Made it so TargetResetSwitch doesn't have the overlay widget display on clients other than the one using it.
* Reset action still doesn't work over network for some reason.
* Changed UserPlaceable items to use base classes for easier usage in the future
* Added in ShootingRange_Night
* ENGINE CHANGE - updated SceneComponent changes in attempt to get IKinema 4.11.x plugin to work.
* ENGINE CHANGE - added HACK to PrimitiveComponentPhysics in attempt to get IKinema 4.11.x plugin to work.
* created menu for John
* for widget, see UI/ExampleMenu/ExampleScreen
* for creating/showing menu, see Blueprints/BasePlayerController.
* for binding, see end of Config/DefaultInput.ini
* Created initial Inventory and item BPs for equipment items
* Binoculars
* Medkit
* BreachingCharge
* reset character capsule component collision type to Pawn.
* Added 'Equipment' category to Platform customization
* Cleaned up widget mess in UserPlaceableSystem_Overlay and grouped categories into tabs
* Adding in Rama's UMG Color Picker
* updated AGBAIController::Set/GetGenericTeamID to be clearer.
* updated AGBPlayerController::SetGenericTeamID to be clearer.
* updated GBPlayerController MoveX to cast Pawn or Spectator Pawn to ADefaultPawn instead of using just GetDefaultPawn() when not using a character.
* added GetClassDefaultObject() to GBFunctionLibrary.
* updated UserPlaceableSystem related Blueprints
* created UserPlaceableInterface.
* implemented UserPlaceableInterface in ARCH, Doors, Light & Objects _Base Blueprints.
* renamed UPS_ListButton to UserPlaceableSystem_ScrollListEntry.
* updated UserPlaceableSystem_ScrollListEntry
* takes an actor class during spawn & gets text & icon from that if it implments the UserPlaceableInterface.
* calls event delegate when clicked.
* updated UserPlaceableSystem_Overlay
* greatly simplfied the creation of scroll lists.
* assigned scroll list entries to updated selected user placeable class & actor when clicked.
* rigged up tick function to trace mouse cursor & place selected user placeable, if one exists.
* added controls to place & rotate selected user placeable, including ability to create multiple copies while holding CTRL.
* added ability to pass mouse & keyboard input back to viewport while holding right mouse button (required creating an input assistant actor).
* cleaned up general layout, changed design slight (less use of canvas, more use of vertical/horizonal boxes).
* updated open & close functions to leave & return to character as required.
* New Marketplace explosion kit
* New Marketplace item for procedurally placing trash and debris
* New grenade detonation pack from the Marketplace
* renamed UserPlacableSystem to MapKit
* moved all related UserPlacableSystem assets to locations under new MapKit directory & fixed up all redirections.
* created GetClassesByInterface() in GBFunctionLibrary.
* renamed all X_Base MapKit actors to BaseX so they work with GetClassesByInterface() properly
* It is designed to ignore any class that starts with "Base".
* updated MapKitActorInterface to add GetCategories().
* updated MapKitMenu
* changed overall layout to be more horizontal
* added primary & secondary category tabs
* added Escape button detection
* if actor is selected, clears it.
* if not, closes menu.
* Set PhysMats for metal targets to have large density so bullets would not penetrate
* Updated Frag grenade detonation effect
* Reworked TargetReset switch system based on Kris's example
* Much cleaner
* Added required key press once player enters trigger to open UI
* Now correctly open reset UI only on client that initiates the action
* Still does not properly replicate target reset call/values in MP
* Added OnHit check to frag grenade to find PhysMat that it sits on at detonation time
* Will be used to spawn proper "hit" effect for surface the grenade is on
Added impact assets for grenade usage
* created GBSurfaceLink class
* Used to link a any physical material to any class based on user defined type.
e.g. Grenade, FootStep, Bullet
* Links can be created in editor in any directory, as long as that directory is
added to DefaultEngine.ini, [/Script/GroundBranch.GBSurfaceLinkProfiles].
* Uses singleton to hold paths & profiles based on those paths and defined types.
* Bullets impacts & foot steps Blueprints swapped via C++.
* Basic grenades swapped via Blueprint (no effects - just debug trace line stuff).
* See M67 for usage.
* removed bullet impacts, grenade impacts & footsteps references from GBGameInstance.
* added UGBSurfaceLinkProfiles::Get() call to GBGameInstance to init all profiles at runtime.
* created Test_SurfaceTypes map.
* Unhooked hacked in bounce sound generation from BP_Grenade
* Doesn't really work correctly
* Prototype breachable door (Door_Swinging_Destruction)
* Once interact phase is initiated hit NumPad 0 key to place breaching charge and NumPad 1 to detonate
* Locks can also be shot out by shooting at the handle area
* Upon detonation/lock shot out meshes get swapped, sounds played and particle effect played (All are placeholder of course)
* Ability to set door as locked, requiring shooting out lock or breaching to open
* Added in simple camera shake to flashbang and frag grenades
* Animation updates
* Reloads + idles
* Stand sprint improved (flappy arms)
* mk48 reload
* Testing out CanvasRenderTarget2d
* Added a whiteboard to ExampleMap that has a CanvasRenderTargetmaterial on it counting numbers upward
* Text is small because there is no way to adjust size outside of the font itself
* updated GBSurfaceLink class
* renamed GBSurfaceLinkProfiles to GBSurfaceLinkManager
* replaced struct based TArrays with TMap implementation
(simple & should be faster)
* updated affected Blueprints
* updated GBFootStepImpact
* fixed nullptr when opening in editor
* switched spawning effects etc from using PostInitComponents() to BeginPlay()
* updated affected Blueprints
* updated GBBulletImpact
* removed unused values (ricochet chance etc)
* switched spawning effects etc from using PostInitComponents() to BeginPlay()
* updated affected Blueprints
* continued work on map kit editor
* drag/drop actor classes from list of actors.
* selected placed actors using left mouse (CTRL for multiple)
* deleted selected actors using DELETE
* focus on selected actors using F
* need to get hit proxies to work in UE4 non-editor viewport.
* ENGINE CHANGE - fixed particle module event send to game support
* updated shell effect particle systems to use fixed SendToGame support.
* created /WP_Effects/SurfaceLinks
* created GBParticleImpactBySurfaceType class
* linked all shell eject PS' to GBParticleImpactBySurfaceType using BrassImpact (?) type.
* Added in Destruction prototype parts to swinging door
* Currently hard coded controls for testing
* NumPadZero places breaching charge when door is usable and NumPadOne to detonate
* Player has 1 breaching charge by default (Not an actual inventory item yet)
* 3 states for a door: Intact/Lock Shot Out/Breached
* Can shoot out lock by registering 2 shots in area of handle/lock
* Debris meshes and destruction effect for wood door
* New Grass asset pack from MarketPlace
* Work on getting BrassShell surfaceLinks setup
* Made blueprints for brass/shell impacts ( can't use same effects as bullet hits)
* First pass on particle effects
* Added in some hit sounds
* Replaced doors in SmallTown due to me messing something up while testing door breaching
* Added in some footprint decals (not workign in game yet)
* Hostile and Team member L/R bootprints
* Parameters in material to control Opacity, Color and Roughness
* Small optimization to smoke grenades
* Added socket to Smoke grenade and setup smoke emitters to use it (was just using center of mesh)
* Added simple effect of grenade spoon flying off when thrown.
* Needs some tweaking to get it to look right
* created Test_TriggerVsParticles map
* ENGINGE CHANGE - updated particle system component & related classes
* send to game events split up, based on event type (collision, spawn etc).
* physical material now included in collision event (removes need to trace again).
* FIXED bug that caused collisions with triggers/volumes.
* FIXED bug that causes massive collision event spam if particle spawns inside volume.
* added min speed variable to collision event to prevent collision unless particle moves fast enough.
* helps prevent massive collision event spam if particle spawns moves slightly on a non-up angle & the ignore non-up option is used.
* some minor optimisations.
* updated Test_BulletPenetration map
* updated some physical material densities
* FIXME - Need to set them all at some point, talk more about special cases.
e.g. targets, non-penetratable walls, full vs empty barrels etc.
* Setting up door destruction in TankerShip map
* Only outisde doors done so far
* Door_Swinging changes
* Set debris chunk meshes to not collide with player
*  Created pieces parts for TankerShip metal door
* Added offset to door handle meshes for easier custimization
* Created parts for door destruction
* TankerShip
* Training
* New sounds for door destruction
* Wood and Metal
* Setup door breaching in TankerShip, Killhouse and SmallTown maps
* Some new weapon sounds for G22 and various weapon dryfires
* Revised breaching charge model/materials to add a bit more detail
* Cleaned up BreachingCharge related BP's to be more efficient
* Added in frag grenade explosion sound for water (not hooked up yet)
*  Built lighting on TankerShip, Killhouse and SmallTown maps
* slight change to BaseCharacter::TraceFootstep function in attempt to fix packaged version.

* updated Example_Map to add shapes for placed character to test foot placement.
* removed delay on AI bullet whizz-crack distance warnings.
* fixed warnings about casting widget that didn't need casting due to internal C++ update.
* first massive effort to fix bad references the hard way to fix packaging & kill log spam (Please kill me).
* Added breaching parts to OfficeDoor
* Added breaching to SmallTown doors
* updated surface link to use FAssetStringReference for associated class
* updated all affected C++ & Blueprints.
* Ran FixUpRedirects on entire Content folder
* Cleaned up some more log spam issues
* Added in breached door assets for IndustrialDoor
* updated radial menus
* removed ability to set fixed position / size entries (just 360 / number of entries now)
* added ability to set start angle (0 = top of screen, 180 = bottom etc) of first entry
* FIXED mouse cursor not returning to previous location when menu is reopened.
* lets you quickly toggle the last option you used even if you move the mouse since you last opened the menu.
* added DO NOTHING option to use item radial menu if there are no attached items to use
* Replaced a depricated node in the marketplace cable/rope BP system

* Fixed more log spam issues
* Small change to Door_Swinging
* Changed detonation impulse origin a bit back away from door on the side the charge is placed. This makes sure the debris fles into the doorway.
* Made number of breaching charges a player can place 2 (up from 1)
* Created and Industrial Door damaged parts
* Made some small adjustments to the breaching effect
* Made some parts less directional
* Made the sparks a bit smaller and have slightly less lifetime
* Cleaned up some lighting issues with a few Tanker Ship railings. Required lighting rebuild
* Scaled BreachingCharge mesh up about 15%
* Added breach items to Depot doors and rebuilt lighting

* updated shell, footstep & other sounds
* set or updated attenuation settings
* set or updated concurrency settings
* added pitch modulation to shell sound ques
* adjusted volume of shells/footsteps
* ensured all cue were set to FX sound class instead of Master sound class.
* Temporary fix for bad framerate in Killhouse night map
* Removed rain particle effect as the particle collision had massive slowdown
* Changed BreachingCharge over to a SkelMesh and added initial AnimBP for it
* Initial setup for nametags on vests
* Uses RenderTexture2d
* No more hovering yellow text... now part of vest itself
* Fixed nametag material to it lights properly
* Nameplates on Platform now adhere to the selected platform's color
* Added in new sounds for dryfire, Mag usage and slide release
* G22 and 1911
* Added in new sounds for dryfire
* M4, M16 and M1014
* Adjusted up some low res DistanceField settings on meshes in Aircraft_Takedown map
* Added in WristDevice test
* Automatically attached to character forearm
* Simple test RenderTexture2d for screen
* WristDevice now reading in time of day from map for testing
* Exposed TimeOfDay entry to Blueprint via ui function library
* tweaked animation speed of walk cycle on loading screen
* fixed potential null in generate random appearance/loadout functions
* depreceated GBItem KitRoot variable & related functions
* created replacement functions based on GBItem Categories.
* updated affected C++ & Blueprints.
* moved basics of platform nametag handling from separate platform Blueprints to GBPlatform C++ class.
* added solid box to block off ready room doors
* stops people leaving ready room prep area trigger before the server gets the 'enter play area' message.
* updated BaseGameTrigger to support both local & server side enter/exit events in case I need to change Trigger_Ready.
* created BP_ReadyRoomNameTags
* updated BaseCharacter to spawn BP_ReadyRoomNameTags if in ready room.
* Changed version number in packaging settings to 1013
* ENGINE CHANGE - added fixes/hacks to support VS2015 Update 3

* updated Trigger_Ready to flush local players pressed keys upon entry
* updated DefaultDeathOptions to reset input when HUD_Death_Overlay is hidden.
* removed stubbs from GBGameInstance relating to sessions & loading screen.
* added GameModeClassAliases to DefaultGame.ini
* short names for listed game modes & end up with path.
e.g. "Game=TH" will become "Game=/Game/Blueprints/GameMode/TerroristHunt.TerroristHunt_C"
* Added small area and blocker volumes to Ready Room exit doors
* created BP_PlayerStartGroupManager
* generic class to use for enabling/disabling player starts based on groups for different game modes.
* updated GBBasePlayerStart
* re-enabled auto-destroying a player start based on GameModeTag
* slightly updated existing Blueprint functions.
* added GetGroupDistances() Blueprint function
* Get distances of player start groups from supplied point, sorted from closest to furthest.
* updated TeamElimination GameMode Blueprint to use BP_PlayerStartGroupManager to handle player starts.
* added TerroristHunt compatible GBTeamPlayerStarts to Depot_All_Day
* added transition overlay to/from ready room & on pre-round freeze.
* hopefully makes the view teleporting from one place to another feel better.
* removed old BP_UserPlaceable_X Blueprints & references.
* FIXME - finish the move/rotatate/scale gadget for MapKit!

* created GBPlayerStart class
* replaces need for separate player start classes.
* uses Actor Tags to store GameMode tags
* includes RemovePlayerStarts() function for to quickly remove unneeded player starts (if desired)
* updated affect GameMode Blueprints
* added ActiveClassRedirects GBSoloPlayerStart & GBTeamPlayerStart to GBPlayerStart in DefaultEngine.ini
* removed GBBasePlayerStart, GBSoloPlayerStart & GBTeamPlayerStart
* updated other affected Blueprints
* added PlayerStart ShowDebug option to GBHud.
* updated several maps to add proper actor tags to player starts for TeamElimination, Deathmatch & TerroristHunt
* Changed blood decals Particle system + materials to look better
* simplified GBPlayerStart class
* removed bot/human variable
* removed bot/human check from IsValidFor()
* updated TeamElimination & TerroristHunt
* overrode ChoosePlayerStart() with Blueprint version to select any player start during ready or warmup periods.

Read this story on GroundBranch.com

A new Ground Branch build is coming soon

05 August 2016 - 08:54 AM

I know its been a while since the last build so we wanted to let you know that a new one is coming next week. We have been testing it for a few days, but still have a few more issues to iron out. There are many bug fixes, updated A.I., an initial version of Terrorist Hunt on the Depot map, sound fixes and animation updates.

Here are a few user videos from our testing builds to tide you over:

Read this story on GroundBranch.com

New Ground Branch build available - version 1012 build 110605

05 June 2016 - 05:26 PM

A new build of Ground Branch is here and it is gigantic! Partly due to the move to engine version 4.11 and partly due to us just being stubborn and wanting to get things working right before releasing, we went way to long in between builds as well as the first go at a Terrorist Hunt mode with A.I.! The result is this one is packed with a ton of changes and its hard to do this news post without it being a wall of text. So here is the condensed version, with all the fine details at the end........


To get started, please see our previous news post for some more specific information on some new features that we mentioned were coming in this build:  http://www.groundbranch.com/2016/04/upcoming-4-11-based-build/

The biggest addition is the switch to engine version 4.11.2. There were many rendering updates and engine optimizations that should provide most with some framerate increases. It also allowed us to rewrite some core systems to run cleaner and more efficiently. One thing you will notice immediately is more on screen information in game. It is colorful and looks "gamey" but don't worry... the point is to get the information across right now. We will make it fit visually as we go.

Approximate Update size: 3.2GB

Steam build Id: 1165171

New Weapons and Gear

We added in a few new weapons... an M16, Glock 22 (.40) and the UMP .45


Some new equipment to use..... an AN-PEQ15, IRStrobe, Muzzle Devices on weapons (Suppressors), tactical light for both rifles and handguns, Laser sight and a rail system for AK platform weapons. The PEQ15 also has laser designator functionality used for marking targets and aiming in NVG's in use. So only those with NVG in use will see the beam. It also includes a regular laser sight on it as well. Headgear can now have it's own attachment points. Right now the helmets accept an optical device (NVG) and an IR Strobe.



We have also added the ability to delete attached items directly as well as provide a bit more visual information as to what items you currently have equipped.


Radial Menu

Everything that you equip in the Operator Menu that is usable is now controlled from a radial menu system using the 'F' key. This is where you will turn things like TacLights and NVG's on/of. A radial menu is also used to select any grenades that you have equipped by hitting the '3' key. And again, don't worry we will work on the visual representation as we go.


Operator menu and Ready Room

You may notice that the Operator Menu moved to the Main Menu screen. We are re-organizing gamemodes so that you can only setup your character/weapons from within a map's Ready Room. This will allow you to create your kits and save them out for later use. You will find an Operator Bench in the training maps that allow you to customize your character/weapon from within the map without a need for a ReadyRoom. Just walk up and follow the instructions.


The default Ready Room was reworked a bit as well. It is now more open to better facilitate a "community" feel while waiting for a match to start as well as also making it easier to see where to go to get into a game.


Once you join a team (Alpha/Bravo) walk up to any locker area to enter the Operator menu and setup your kit.


A.I. and Terrorist Hunt game mode

We now have the first iteration of the Ground Branch A.I. to mess around with! Please be aware that they are pretty dumb as the purpose of this release is to get them in and make sure the base framework is up and running. There is a Terrorist Hunt mode that can be played solo or coop and to access it solo go to Play->SinglePlayer->Mission and select Terrorist Hunt. You can select the number of Hostiles you want in the map(up to 50 for now) as well as enter the Operator Menu to kit up.


For Coop play, start the server with this argument (replace XX with desired number up to 50):


At this time, the TH game mode is only available on a special version of the Small Town map, but we will be expanding it to other maps as we go. Lots of functionality is also coming to the A.I. itself now that the framework is in and working well.


Here is a forum post outlining some of the things that are coming next for A.I.  http://www.blackfootstudios.com/forums/index.php?showtopic=8568


A quick pass on adding the ability to reset targets in training maps without restarting the map was added to Airpcraft_Takedown for testing. There is a switch box near the entry door that allows you to reset targets by interacting with it. When you walk up and see the "Reset" text just hit R-Mouse button to initiate the reset. All target placement is random and you can also change the parameters of Hostile/Friendly ratio with a couple of console commands:

Set total number of target - 'ce SetTargets <number>'

Set number of those targets that are Friendly - 'ce SetFriendlies <number>'

A simple system for a user to place targets in a solo or coop training session was implemented. Bare in mind this is a simple first pass and a proper UI and more functionality will be added as we go. In any of the training maps hit 'Alt-U' to enter placement mode. The center screen "pip" designates where the target will be placed. The color lets you know what you can do at any given time... Green = Place target, Red = Can't place target and Blue = Change selected target (one that is currently pointed at). Alt-Delete will delete selected targets (not show in UI). Nothing is saved between sessions so use this as a way to get in some quick random training with friends.

targets** Some have reported not being able to see placed targets. We will sort this out, but didn't want to hold up the build for it.

Moving forward

More gamemodes as well as many new features for the A.I. are on the way. So talk about Ground Branch to your friends and keep playing.

You have all been great in helping us test builds, suggest features and generally help shape the game. Far that we tank you!


FIXED - server version
FIXED - Door in back of killhouse opened wrong way
FIXED - Missing collision on TankerShip bow supports
    * Fixes general collision issue
    * Fixes case where laser sight wouldn't show due to line trace not colliding with mesh
FIXED - Missing collision on TankerShip rear storage area walls
FIXED - Rotated PEQ15 mesh to be facing correct direction and added sockets
FIXED - bIsReady not being replicated in GBPlayerState
FIXED - TeamElimination - wasn't up to date with GBRoundManager changes.
FIXED - UI redirects & removing unused UI Blueprints & assets
FIXED - bad OperatorGear_Item_Button references (again)
    * Keep getting changed to REINST_ versions. Must find fix if it continues to happen.
FIXED - bug in GBGameMode that prevented spawning at team player starts
FIXED - Added missing bottom rail on M14 for vertical grip
FIXED - Gamemode check in BaseCharacter BP from freezing editor loading
FIXED  - possible None in HUD_JoinTeam_World_Prompt widget.
FIXED - bug in GBGameState::GetSortedPlayerList() that included permanent spectators in list.
FIXED - Operator Gear screen buttons not appearing
FIXED - bug in AGBTeamInfo::IsValidTeamMember() that meant it parsed spectator only players were it shouldn't.
FIXED - bad collision on Stern_Entrance_Floor mesh on TankerShip maps
FIXED - "text" issues in HUD customise operator world prompt widget
FIXED - socket location for mp5 taclight foregrip
FIXED - bad casts in ShootingRange level Blueprint.
FIXED - bad enumerator in DefaultZero_Tab
FIXED - laser & designator not showing displaying for BasePEQ based items.
FIXED - bug that was SetAppearanceString() after randomly generating a loadout in GBPlayerState (oops!)
FIXED - Iron sights were attached backwards with random weapon spawn
FIXED - bad asset reference in BP_UserPlaceable_Targets
FIXED - terrorist bot to spawn and link together with squad (was using wrong BT in terroristbot for some reason), updated spawner to set correct team           for squad member comparison
FIXED - Falling thru ground near corner of building in SmallTown
FIXED - random target marker covering up underlying target (no collision wasn't taking properly)
FIXED - ANPVS 15 NVG not hiding correctly on attachment to player
FIXED - beam components being visible after leaving operator gear kit
FIXED - roll up door not blocking laser sights - visibilty collision was disabled.
FIXED - FrontEndMenu not bringing up play menu
FIXED - M1014 remaining on swapping to handgun
    * issue was in OnReloadAnim notifiers in BaseFirearm returning 'true' when they shouldn't have.
FIXED - MP5 not wracking bolt on empty chamber when reload without a magazine
    * still part of the animation that show mag removal, but otherwise works as intended.
FIXED: Default streaming method for map was set to BluePrint so map never streamed in when leaving readyroom
FIXED - Balaclava neck not properly weighted
FIXED - item skin not showing displaying in operator menu
FIXED - possible devide by zero in radial menu
FIXED - GBRailAttachment::AutoAttach()
FIXED - possible invalid item in OperatorItem_Attach_Point's Tick event.
FIXED - Random target system now properly replicates and synchs target spawns and material settings
FIXED - randomly generated appearance not saving to players config if generated by AGBPlayerState::ClientInitializePlayerKits_Implementation()
FIXED - Galil physics asset.
FIXED - M9 physics asset.
FIXED - AKS-74u physics asset.
FIXED - OpeartorWeaponKit_Secondary not displaying correctly.
FIXED - bug in GBExternalMagazineComponent that could result in crash due to a magazine that is being destroyed being attached
FIXED - AKS-74U & Galil not having attached magazine by default.
FIXED - force engaged ending prematurely on clients when reloading.
FIXED - Team/SoloTimerun game mode
    * created TimerunGameState to handle messages
    * moved event delegates from game mode to game state so they work on server & client
FIXED - Killhouse_Timerun_Day
    * added correct spawns for TeamTimerun
    * hooked up events to game state instead of game mode
FIXED - BaseTargets not resetting online
    * implemented GBResetInterface and hooked it into target reset function.
FIXED - possible null pointer in BaseFirearm Blueprint (dead/missing GBInstigator)
FIXED - BP_ReadyRoomDoor & BP_ReadyRoomPointLight trying to setup when no ready room is actually required.
FIXED - BP_MissionTimer & BP_ReadyRoom_Roster log spam about missing text component on dedicated server
FIXED - bug in BP_ReadyRoom_Roster that caused it to self distruct on server & client, instead of just server.
FIXED - bug in BP_ReadyRoom_Roster that didn't clear old names
FIXED - Terrorist Hunt (coop version) being set incorrectly to Solo
FIXED - potential nullptrs in a few GBKitFunctionLibrary functions related to JSon kit creation
FIXED - devide by zero in RadialMenu widget
FIXED - last round shot count in GBTriggerComponent
FIXED - burst fire not finishing if trigger released early
FIXED - old magazine not being replicated to non-owners during reload
FIXED - role auth issues in various firearm OnReloadNotify() functions.
FIXED - name tags being referenced on dedicated server

Many smaller things got fixed in the course daily development as well..... 

Full Changelist:

* Some revisions to Operator menu visuals
* Added in a color gradient/sky background instead of plain black
* updated lighting on character/weapons a bit (really needs ability for post processing and reflection captures)
* Small update to lighting for Secondary weapon in Operator Menu

* Reduced size of NVG overlay mask by 10%
* Added check for IR laser and laser sight beams so they don't shoot off into space when not detecting line trace hit ( when pointing into sky for instance)

* Changed doors in over to new type in maps
* TankerShip (All)
* Killhouse (all)
* SmallTown

* made bug report screenshot optional
* fixed menu escape bug (maybe)
* fix incorrect word usage in LeanLeftToggle.ffs
* fixed background camp fire sound not being disabled in front end map
* ENGINE CHANGE - slight change to log instead of crash in USceneComponent::DetachFromParent()

* changing format of non-saved kits to base64 encoded JSON
* simpler to sync (no weird characters)
* easier to store in .ini file.

* Added in icons for PEQ2 and Rifle Lasersight
* Added collision to TankerShip rear storage area ceilings so laser race would register
* Cleaned out bad object references in TankerShip ready rooms (stuff that was in locker areas that no longer exist but still had reference in map)

* Revision to TacLight_Rifle
* Added in a simple beam mesh for light
* Setup so lens material becomes emissive when light is on
* Adjusted light cone angles to get a softer look to the light
* tweaked firearm component replication
* changed game mode type from FName to custom Enumeration
* fixed attachments being off by 90 degrees on dropped skeletal items.
* added replicated server version of DropEquipped to AGBCharacter class.
* updated GBUIFuctionLibrary::GetGameModeList() to use new GameModeType enumerator
* Setup target default Min/Max hits to not be zero

* Prototype for user placeable items
* Players can place targets in maps for live coop training
* Testing ideas for user created killhouse maps

* Prototype for user placeable items
* Players can place targets in maps for live coop training
* Testing ideas for user created killhouse maps

* Added in InstaLOD LOD plugin
* Added in AN-PEQ15 laser designator
* latest VaRestPlugin

* updated PEQ attachments to both use BasePEQ Blueprint
* ensured Destoryed event was hooked up to clear laser & designators.
* ensured both Destroyed & ViewTarget events were hooked up to night vision post processing.
* continued overhaul of gamemode
* continued updating / recreating game modes.
* replaced references to Character/GameCharacter with Blueprints/BaseCharacter.
* created of new base classes under /Blueprints for bot, character, gamestate, playercontroller & playerstate.
* updated Trigger_JoinTeam to grealy simplify its design and usage.
* created Trigger_SendToPlayArea based on Trigger_JoinTeam - except it calls AGBGameMode::SendToPlayArea().
* created Trigger_Customise_Operator
* approaching trigger takes over input.
* mouse click brings up operator screen.
* updated operator widgets & some base widgets to support separated operator screen.
* created Test_GameMode_Triggers to showcase basic trigger usage.
* updated SightComponent assignable delegates to include player camera manager & camera component
* fixed bug in BaseOpticalSight when trying to clear post processing.
* Its 6am, I hate UMG work & now I'm gonna sleep

* created BaseHUD Blueprints & made it the default HUDClass in GBGameMode.
* began fixing replacing references of /UI/HUD/GameHUD with /Blueprints/BaseHUD
* created new functions GetFirstWidgetOfClass(), IsChildOf() & GetParentOfClass() to GBUIFunctionLibrary.
* extended GetFirstWidgetOfClass() in Global Blueprint macro to add validation.
* modified base GBWidget to espose Tags during creation.
* updated HUD_Message_Timed widgets
* created new RemoveMessages function
* nows use Tags instead of single Type to remove existing messages.
* fixed bug preventing permanent centered message being displayed.
* replaced small, fixed message box with one copied from firemode indicator.
* updated GBPlayerState to add events when playername, team or ready room status are replicated.
* hooked up these events to add game messages directly to engine message manager widget.
* replaced small, fixed message round state message box with one copied from firemode indicator.
* fixed possible nullptr in GBRoundState class
* fixed times always being zero by hooking up GBRoundManager::InitOptions().
* fixed incorrect round stage being parsed do decided next stage
* attempted to update bots to ensure they stay still when told (and failed)

* created GBResetInterface
* implemented in GBItem, GBCharacter & GBBulletProjectile
* added RoundReset() function to GBRoundState.
* cleaned up references to old bot & character Bluperints.
* simplified usage of Widget_NVGTextOverlay
* self contained animation & removal.

* New target 'Target_Reactive_Drop' added
* Target that drops straight down when hit
* Does not have a reset currently

* ENGINE CHANGE - Exposed AIControllerClass to SpawnActor Blueprint function.
* renamed FGBSessionSearchResultSort to EGBSessionSearchResultSort
* split Bot management from GBGameMode to GBBotManager class.
* makes GBGameMode much simpler.
* only created manager as required.
* split Team management from GBGameMode to combo of GBTeamInfo & GBGameState classes.
* makes GBGameMode much simpler.
* makes creating solo & coop games much easier.
* teams are defined by external profiles under /TeamProfiles using standard JSON formated files.
* updated AGBGameState
* replaced GetOrderedPlayerList() with GetSortedPlayerList() for better control on sorting player.
* created GetSortedTeamLifeWithPlayerCounts()
* sorts teams based on numerous options, including lives & ready status
* returns separate list of teams & player counts, removing need to recount players.
* created GetSortedTeamLife()
* same as above, minus player counts.
* updated GBGameMode
* added bCheckForTeamkills member variable that is set by default if cooperative or team adversarial game mode types.
* changed OnTeamKill from BlueprintNative event to assignable delegate.
* if not bound, call AddTeamKill()
* default onstartNewPlayer() implementation no longer sets player team.
* began replacing AGBCharacter::IsDead() with AGAGBCharacter::IsAlive().
* renamed FPlayerKit.TeamName to FPlayerKit.ProfileName
* updated GBAppearance/LoadoutInfo's to use Base64 encoded strings.
* removed FTeamProfile struct
* merged GBBot into GBAIController
* will removed GBBot in future submit.
* overhauled GBRoundManager to use End & Start delegates to control round stages.
* updated Terrorist Hunt game modes to use updated GBRoundManager
* updated GBUIFunctionLibrary
* updated GetFirstWidgetsOfClass() Blueprint callable function.
* no longer calls GetAllWidgetsOfClass()
* stops at first found widget.
* finished creating GetParentOfClass() Blueprint callable function.
* finds any userwidget above specified child in hierarchy that matches desired class.
* walks up the outer chain to look for next parent once out of widgets, but only if out is widgetree.
* should be faster the GetAllWidgetsOfClass()
* avoids issues with identical widgets.
* created GetChildrenOfClass() Blueprint callable function.
* returns array of userwidgets belowed specified parent in hierarchy that match desired class.
* avoids adding identical widgets by using internal CheckedWidgets array.
* created GetWidgetFromName() Blueprint callable function.
* hooks up internal FindWidgetFromName() function.
* only finds immediate specified child.
* avoids need to reimplement the same code via child Blueprint or macro.
* updated UI to use new Blueprint callable functions added to GBUIFunctionLibrary.
* slept to avoid John beating me into unconsciouness.

* added missing team profiles

* Changes to User Placeable Target prototype
* Added check to make sure there is a valid target to delete when user hits delete. Prevents an AccessNone condition
* Removed ability to place different target types for now. Need actual UI for that
* Added ability to switch placed target material between friendly (Alt-0) and badguy (Alt-9)

* Some new stuff with the TargetPlacementOverlay BP
* Added some hint text for key commands when in placement mode
* Added some colored feedback text that corresponds with center screen pip

* attempted to fix Bugs&Issues
* editor keeps spamming about macro being invalid despite it being replace & always valid for other widgets.
* editor keeps spamming about web browser widget and removing it.
* FIXME - recreated Bugs&Issues Blueprint??

* change AGBCharacter::Reset() to not check allow not reset when no controller & no playerstate.
* updated AGBPlayerState::EnteredReadyRoom() to clear team.
* updated Operator UI
* created new Operator_Character Blueprint.
* fixed up issues with character & firearm bounds
* added animations when showing new screen or using quick access option to disguise background goings on.
* added Ok & Cancel buttons to Overview screen.
* updated BasePlayerState
* prevented join server messages if you have a team (just says joined team).
* prevents join team message for personal team
* display "You are now on X" messages for person team.
* began work on team trigger world prompt when not on team.

* More work on User Placeable Targets
* Simplified rotation part of BP
* Added a check to only allow usage with training gametypes
* rolled BaseCharacter Blueprint back.
* removed duplicate cvar ref from GBCharacterMovement.cpp
* recompiled all BugsIssues_X widgets.
* removed ParentSwitchScreen from BugsIssues_Report

* added variables & functions to more easily replicate game messages
* add FName based Id's to custom gamestate.
* use GBGameMode::BroadCast(<GameMessageId) to send.
* Finds GameMessageId in predefined list and sends this index via player controller RFC
* uses single byte value as I doubt we'll need more then 255 server based game messages.
* created RoundEndedGameMessage widget
* created TeamEliminationGameState that implements RoundEndedGameMessage widget.
* created DefaultDeathOptions widget.
* updated HUD_Death_Overlay
* now uses animation to fade out instead of Tick().
* adds DefaultDeathOptions widget if other options don't already exist.
* sets & clears UI focussed input when shown or hidden
* created FRepRoundTime struct & implemented it in GBRoundState to ensure round time is properly replicated.

* made all three game mode related triggers client side only.
* less work for server.
* allows client to add world prompts to triggers.
* required AGBPlayerController::SendToPlayArea() to be created.
* optionally sets player ready
* sends player to play area
* changed Bravo colour slightly (lighter blue)

* added GBReset interface to Door_Swinging
* created Trigger_ClearTeam

* Added simple radial damage to Frag Grenade (6m)
* Tweaked greande physics settings for a bit less bounce and velocity
* Added simple light to M67 frag grenade detonation effect
* Changed gamemode in Example_Map to TeamTraining (To help testing user placeable targets)
* Added a RoundToNearest macro in BaseCharacter to allow for placing UserPlaceable targets on grid

* updated GBKitFunctionLibrary
* created GenerateRandomLoadout() & GenerateKitFromRandomItems().
* updated GenerateRandomAppearance() to use GenerateKitFromRandomItems().
* required creating AGBitem::RandomSetup() BlueprintNative function.
* updated GBBotManager class
* added BotControllerClassName config variable.
* added random appearance & loadout on creation.
* removed references to selecting loadout & appearance from GBAIController class
* made SquadMememberComponent::AttachLocation() Blueprint callable.
* updated TeamElimination & TerroristHunt game modes to get bots to attack enemy location at start of round.
* added TerroristHunt tagged player starts to SmallTown_DayAITest
* played some TH games with bot buddies (fun!)
* setup looping TH game at 10x normal speed and hammered the shit out of the game mode (no crash)
* attempted to fix operator screen not getting focus immediately (damn you UMG!)
* updated AGBRoundManager::WarmUpStartedDefaults()
* fixed bug that meant spectator only players were parsed when they shouldn't be
* added pawn check to prevent restart a bot that is already in the play area.
* added additional category to sights to sort them more easily (optical, reddot & iron)
* updated RandomSetup implementation
* removed sight handling from Firearm C++ function.
* added semi-customised handling for each Firearm Blueprint event.
* removed Platform C++ function.
* added handling to Platform Blueprint events (attach primary ammo pouchs)
* updated GBRailAttachment class
* created AutoAttach function to use in operator screen & random generated loadouts.
* attempt attach to rear most rail first, then makes it way forward.
* updated GBFunctionLibrary
* deprecated AddBlendable, RemoveBlendable & SetAmbientCubeMap functions.
* removed GetAttachActors (way old - like UE4 beta old!)
* updated BaseCharacter Blueprint
* removed old method of adding NVG post processing (via AddBlendable etc)
* added post process component with NVG post processing setup rigged it to be enabled as require.
* hookd up OnDied() & UnPosses() events to disable night vision PP & remove overlay.
* testout out John's basic target placement system - pretty neat :)
* added /Content/TeamProfiles to non-assets to include while packaging

* Moved team roster BP from map into its own BP using the whiteboard.
* Allows player names that join teams to be listed in ReadyRoom on the whiteboard for others to see

* updated GBPlayerController to add LeaveTeam server function.
* updated game mode triggers and related widgets
* client side only
* calls Entered & Exited events when on overlap / end overlap.
* Trigger_PrepArea will set the team of all other game mode triggers within its bounds.
* updated Trigger_GameMode_Triggers to show usage of new triggers
* udpated SmallTown_DayAITest to new triggers.

* updated BaseGameModeTrigger based triggers
* capitalised the "M" in BaseGamemodeTrigger.
* fixed delay causing initial message to display wrong team
* shifted HUD world prompt spawning & handling from BasePlayerState
* improved customise operator click prompt
* added world prompt location offset variable to prep area trigger
* created HUD ready world prompt.
* cleaned out old UI assets

* First pass on a mission based UAV  (EXPERIMENTAL)
* Place BP in map and setup spline based path for it to follow
* The RenderTexture material it uses can be placed on any mesh. It will be on a TV in the Ready Room for maps that have it
* Upped RTT resolution to 1024x512 from 512x256
* Tweaked the drone feed material that is placed on a screen a bit (still not happy)
* Created a 'LookAt' BP for the Drone to use as a look-at target instead of a map actor
* This allows the LookAt target to potentially move and allows more options in placement

* Initial creation of an IRStrobe item
* Will be selectable with certain types of headgear
* Only visible when in NV mode
* Added sockets to necessary headgear items
* Added bSupportsStrobe to BaseHeadGear and set value for items that allow a strobe to be attached

* removed /Blueprints/LocalMessage (no longer used)

* add GBGameMode PlayAreaOpen() & AllowedToEnterPlayerArea() checks to GBPlayerController ServerJoinTeam() & SendToPlayArea()
* added CustomisationWidget variable & Get function to GBItem class
* created new attenuation & concurrency settings firing, reloads/firearm actions & footsteps
* updated all firearm sounds to use new attenuation & concurrency settings.
* updated all footstep sounds to use new attenuation & concurrency settings.
* created Test_SmallArms_Fire_Attenuation map

* impletemented CustomiseSettings widget for children of BaseFirearm Blueprint.
* created AKRailAdapater Blueprint
* updated GBMuzzleDevice class to include attenuation settings, volume & pitch modifiers.
* created Suppressor Blueprints for AR15, AK545 & MP59
* updated reddot & reflex materials to center reticle.
* updated near mission collision Blueprints
* created widgets to show hits & misses
* moved hit & miss sounds from ShootingRange to Blueprint

* created OperatorItem_Attached_Point widget
* display name
* allows editing
* includes remove option (when applicable)
* updated Operator UI to create OperatorItem_Attached_Point widgets for all attached item as required.
* updated GBPlayerState
* InitialisePlayerKits() skips timer if standalone.
* ClientInitialisePlayerKits() applies kit immediately if standalone (for now).
* GetTeamName() will return "NoTeam" if not on a team, rather then "None".
* added Server RFC for ApplyPlayerKitToCharacter() for usage with client side BP's / triggers.
* created attenuation & concurrency settings for bullet impacts
* updated all bullet impacts to use them
* updated reddot & reflex reticle materials to use parameters to specify UV
* updated GenerateRandomXXX() & RandomSetup() functions
* fixed minor issues
* changed signature
* updated all affected C++ & Blueprints
* added GenerateRandomXXX to BP_CharacterSpawner.

* changed default value of AGBGameState member variable bPlayAreaOpen to 'true'.
* added call to GBGameState->SetPlayAreaOpen() based on ready room usage in GBGameMode.
* change AGBGameMode::InitGame() to disable ready room requirement if no ready room starts are found.

* Testing out new LOD tool on SkelMeshes
* Alpha/Bravo Legs/Torso, Hands and Gloves have multiple auto-generated LODs

* updated customise operator trigger
* now calls AGBPlayerController::PendingKitCheck() when the player 'oks' their choice.
* added optional center message prompt for when the map is not using prep area trigger.
* updated ShootingRange
* fixed targets
* added additional table
* added customise operator triggers by tables

* moved local flesh impact attenuation to /Audio/Attenuations
* updated UGBKitFunctionLibrary::ApplyKit() to destroy any root item that doesn't attach to anything.
* created BaseCustomisation widget for use as CustomisationWidget for items.
* created child widget BaseHeadGearCustomisation.
* made BaseFirearmCustomisation a child widget.
* created BasePlatformCustomisation
* updated Operator_Overview_GearKit
* removes need for multiple sub-screens (deleted in this submit)
* switched to dynamically created buttons.
* adds floating attached item points as required.
* creates & adds items CustomisationWidget as required.
* fixed bug in BaseModularPouch & children that prevented them proper use & appearance with floating attached item points.
* changed BaseHeadGear to remove DefaultSceneRoot (Die! Die! Die!)

* Reworked NVG mount assets
* Each helmet/headgear has its own mount SkelMesh
* Socket for mount attachment added to helmets/headgear
* AnimBP created for each attachment type
* Reorganized assets a bit so mounts stay in same folder as the helmet/headgear they are built for
* Added socket for attaching optic to the new mount

* cleaned up BaseOptical Blueprint
* replaced FadeOut timer with FadeInOut timeline.
* fixed spelling of components.
* fixed flow & formatting of nodes.

* unified NVGmount skeletons
* removes need for 3 different animation Blueprints.
* created HeadGearCustomisation_Helmet_Standard
* adds Optic Attachent option on headgear screen for Mich & OpsCore helmets.
* fixed OperatorGearKit_AttachMent_Dropdown widget
* needed tweaking & custom content widget
* created ANPVS_15_NVG Blueprint
* shifted night vision handling from BaseCharacter to here.
* FIXME - to replicate goggle usage, we need to direct attach to character (similar to handgun)
or enable replication on the parent item (helmet).
* New icon images for ANPVS_15_NVG and IRStrobe

* Moved UserPlaceableTarget setup out of BaseCharacter and into its own BP
* BP_UserPlaceable_targets must be placed in a map to allow use. Will tie it automatically to gamemode at some point (Still not workign over network)
* Made it so target faces user when placed

* Removed need to gamemode check to use UserPlaceableTargets
* Added a spawn for BP in Team/Solo Training gamemodes so as long as a map uses those gamemodes then you can place targets

* Optimized and cleaned up BP_UserPlaceable_Targets

* Added in new Wrist Device SkelMeshes (Not exposed in game yet)
* Will be multifunction to include things like a GPS, clock, timer, compass and other information
* Made new laser end point material to hopefully show up better on most surfaces

* Added ReadyRoom to TargetTest Day map

* updated GBPlayerController
* created PrimaryEquipMenu, SecondaryEquipMenu & GrenadeEquipMenu actions.
* created OnPrimaryEquipMenuEventEvent, OnSecondaryEquipMenuEvent & OnGrenadeEquipMenuEvent events.
* removed bindings to SwitchMainHand X X
* added bindgings to PrimaryEquipMenu, SecondaryEquipMenu & GrenadeEquipMenu actions.
* created GBItemBeamComponent
* handles trace line and updates of beam, start & end flares.
* to use, attach to source location, ensure correct orientation (X = forward) & toggle visibility on/off
* updated BasePEQ & LaserSight_Rifle to use GBItemBeamComponent

* added basic radial menus to equip primary, secondary & grenades

* created BP_ReadyRoomDoor
* binds to round state to open/close as required.
* created BP_ReadyRooPointLight
* binds to round state to change colour as required.
* updated BP_Missiontimer
* binds to round state to update its time as required.
* updated Trigger_Ready
* enables/disables self depending on round state.
* updated BasePlayerState
* added delegate event for entering/leaving ready room.
* updated BP_ReadyRoomRoster
* binds to new BasePlayerState delegate to start/stop update timer
* updated timer updates team rosters until stopped.

* Changed laser endpoint to use both a ParticleSystem and small sphere StaticMesh
* Allows better viewing on lighter materials as well as geometry ad extreme angles to player view
* Cleaned up Designator EndPoint ParticleSystem so it no longer lags behind beam
* Created new RandomTarget Placement System
* Place RandomTargetManager(s) in map and link to placed RandomTargetMarker(s) placed in map via a Group setting
* Manager will spawn atarget at random TargetMarkers within the specified group
* In the manager, define how many targets you want to spawn
* Set how many spawned targets you want to be friendly
* Replaced static targets in Aircraft_Takedown_Day with new random target placement system
* Added "friendly" bool to Target_Reactive BP to allow for a projectile hit to know if the target is friendly or not
* Added in placeholder audio cue when shooting a friendly target

* updated reactive vert slide target physics asset

* created shared attenuation & concurreny for props
* using just for doors at the moment.
* updated GBGameMode to look for PIE player start even if sent to ready room
* allows "Play From Here" to work regardless of ready room existing or not.
* updated GBReadyRoomPlayerStart to call Destroy() if GBGameMode doesn't use a ready room.
* updated GBCharacterMovement to ensure bCanWalkOffLedgesWhenCrouching defaults to 'true'
* fixes bug when crouching jumping through window in Small Town etc.

* Exposed MaxYaw varialble for editing so map builder can change direction of how door rotates if needed
* Brought TankerShip ReadyRooms up to speed with latest version

* Added simple distance check between player and a selected actor (meant to be actor drone feed  RTT material is applied to) to turn scenecapture on/off
* Brought Depot and SmallTown ReadyRooms up to speed with latest version
* Removed out of date PlayerStart from TankerShip maps

* updated GBInteractiveComponent
* added support for checking direction based on Pawn view location & rotation
* added tick function that is enabled/disable when the trigger or input begins/ends.
* updated Door_Swinging
* fixed outside text being incorrectly displayed.
* updated Door_Rollup
* finished implementing interactive components
* added dot checks to see if it should go up or down
* ensured destroyed & usaged sounds & fx are replicated.
* cleaned up Blueprint/removed old elements.

* updated GBItem to allow the use of items while they are attached, but not held directly in hand.
* updated GBPlayerController to create a list of items that can be used while they are attached and send it to Blueprint.
* updated BasePlayerController Blueprint to bind OnUseAttachedItemXXX() events.
* created own RadialMenu system
* supports any number of entries
* supports preset 'fixed' entries combined with dynamic entries.
* entries created & added externally allow for easy customisation
* default entries have bindable delegate to allow you to call back directly into the external Blueprint that created them.
* updated BaseTaclight, BasePEQ, ANPVS_15_NVG & TacLight_MP5 to enable usage while attached.
* fixed TactLight_Rifle.
* changed LaserSight_Rifle to be child of BasePEQ
* FIXME - make BaseLaser instead?

* Removed log spam in user placeable target
* Added in Friendly callback when Friendly target is hit
* Changed 'UnFriendly' wording in user placeable target overlay to 'Hostile'

* Added ReadyRoom to TargetTest maps

* updated GBInteractComponent
* removed duplicate delegate definitions
* simplified delegates
* replaced InputPlayerController & PossibleInputPlayerController with TargetPlayerController.
* Set by trigger
* Cleared by tick.
* renamed Show/Hide/TickInteractions() to Show/Hide/TickPrompts().
* renamed ShouldShowInteractions() to PawnFacing().
* added bAllowPrompts, SetAllowPrompts(), GetAllowPrompts()
* added GetAllowPropmts() check to TickComponent() before Show/Hide/TickPrompts().
* updated Door_Rollup & Door_Swinging to update interact component usage.

* updated BaseTarget to make IsFriendly rep notified.
* updated Target_Reactive to override OnRep_IsFriendly to set friendly/unfriendly material.
* updated BP_UserPlaceable_Targets to removed need to set material when friendly/unfriendly.

* Exposing something for Kris (yuk!)

* changed default bullet projectile initial speed from 10000 mps to 100mps
* updated all bullet projectile speeds to rough real life values.
* Please note that these are not adjusted for barrel length / weapon as of yet.

* updated BaseTarget
* changed IsFriendly back to Replicated.
* added CustomMaterial variable that is RepNotified.
* updated Target_Reactive
* deleted OnRep_IsFriendly
* added OnRep_CustomMaterial
* updated BP_UserPlaceable_Targets
* updated friendly/unfriendly binds to set targets CustomMaterial to friendly/unfriendly material

* updated OperatorRailAttachment_Button widget to use GBRailAttachment::AutoAttach() to determine valid attachments.
* brute force approach - not a good thing if there end up being 100's of attachments.

* ensured AGBTeamInfo::OnRep_TeamId is called when standalone & listen server to update local player states.
* fixed complaints in child firearm customisation widgets about Setup event.
* fixed TacLight_MP5 and added it to use attached radial menu

* updated AGBPlayerState::InitializePlayerKits() to ensure bots immediate call ClientInitializePlayerKits() instead of waiting.

* Some work on standardizing Materials and maps for platform pieces
* Updated master material to follow same conventions as other master materials
* Fine tuned Roughness and normal maps
* Reorganized test user created killhouse into more than just a testing setup
* New folder structure for templates to be used to create maps within (currently just the arena/compound one)
* Moved the example killhouse map out of test folder

* Added solo spawn points to maps
* Created Operator Station BP to place in training maps to allow players to access Operator menu
* Wood table with tool/parts on it... Walk up and follow prompt to access menu
* Small adjustment to NVG PP material
* Desaturated and clamped values befor tinting to reduce brightness of materials that are white but not lit very much
* Fixed scaling on username text for platforms

* Added in IR Strobe kit item
* Currently an attachment selection for helmets (Will expand to other options)
* Works with radial menu
* Not replicated yet

* created FirearmCustomisation_Handgun & assigned it to BaseHandgun.
* moved ready room player start removal from GBReadyRoomPlayerStart to GBGameMode
* disable code that removes player starts based on game mode tags (for now)
* added code to player starts that removes them based on game mode type (cooperative, solo etc)
* updated BaseCharacter in attempt to fix text component while packaged.
* updated BasePlayerState to stop it creating prep area world prompts in a solo game.
* updated DefaultDeathOptions to remove spectate option in a solo game.

* updated GBTriggerComponent to greatly simplify shot replication
* updated BaseFirearm to implement changes due to GBTriggerComponent update.
* updated GBCharacter
* performed a general clean up & organised functions under similar areas etc.
* updated damage & dying related functions
* simplified rag doll creation
* removed need to use bTearOff & TornOff() to create rag doll
* added InitKitInfos() to proper apply appearance & loadout for non-player characters.
* created Test_DroppedItems map to spam random dropped items from center of map every second.
* recreated GBDroppedItem (again)
* Spent entire day fiddling with Unreal physics quirks.
* By using this dedicated class, I have one goto place for any issues in future.
* updated GBItem
* changed character mesh used for attaching to from GetMesh() to GetTorsoMesh().
* This solves issue with things disconnecting improperly due to the characters mesh (GetMesh()) becoming simulated.
* updated all Blueprints with some kind of item attachment to do the same.
* updated DoDropFrom() to use recreated GBDroppedItemClass.
* added DroppedRotationFix as a hack to fix issue with some item being rotated when attached to dropped version (physics body thing)
* updated many item base Blueprints to implement DroppedRotationFix
* implemented Drop option in UseAttached radial menu.
FIXME - Gonna piss people off, coz you can't pick stuff up currently.
* created BP_DroppedCosmetic to use in place of client side dropped appearance item
* updated BaseHeadGear to spawn a BP_DroppedCosmetic if PlayerDied inventory event is supported.
* updated Hat_BaseBall & Hat_Boonie to add PlayerDied inventorty event.
* updated Glasses_Sun to spawn a BP_DroppedCosmetic when PlayerDied inventory event is fired.
* added GBResetInterface to GBDroppedItem
* added GBResetInterface to BP_DroppedCosmetic
* modified AIBP_CharacterSpawner
* no longer uses GameMode delegates to spawn/add characters to terrorist hunt.
* created SpawnCharacter function that returns newly created character
* modified TerroristHunt
* spawns terrorist characters until terrorist count is met.
* begins with AIBP_CharacterSpawners, then uses internal spawning function.
* internal spawn function uses terrorist spawn volumes or, failing that, waypoints.
* terrorist count can be set via command line (NEEDS TESTING)
* updated SmallTown_DayAITest to add TerroristSpawnVolumes
* created SoloTerroristHunt based off TerroristHunt
* no round manager
* shows menu that lets you set number of terrorists & customise your operator.
* removed debug round stage stubbs from TeamElimination
* updated Trigger_PrepArea to only add Enter world prompts if round is joinable.
* updated TeamEliminationRoundState to remove Enter world prompts if round is no longer joinable.

* updated SoloTerroristHunt display name to "Solo Terrorist Hunt".
* moved enemy death message to top left temporarily.. needs updating in mission objectives really

* added Operator button to FrontEndMenuManager
* updated Operor UI
* FIXED appearance handling.
* improved loadout handling.
* added bManualCleanup variable to GBGameState to prevent dead bodies cleanup timer.


* Added AI test level based off smalltown, changed tacticalai interface usage to use correct execute methods (interface returns null if you use it as before).
* Updated squad actor and member components to notify squad of whizzcracks.
* Added in terroristhunt game mode. Stilll needs game over screen in TH gamemode to handle end of mission success/fail. Going to change gamemode to be GBBaseGameMode instead of GBGameMode so that round handling stuff doesn't screw with game flow.
* Removed sense config for tactical use.. moving it all to perception component.
* Just added a quick sanity check on bounds of arrays when being incremented in the round manager during the HasXXX  check for enough players/bots.
* adding game messages to Terrorist Hunt GameMode via custom game state.
* fixing redirects in AI directory.
* removing last references to BaseBotController.
* removing references to GBBot.
* cleaning up various AI Blueprints.
* removed GBBot class
* fixed bad BotControllerClass in GBBotManager class.
* set TerroristBot BT to DefaultBotBehavriourTree instead of TerroristBT
* Added simple blueprint-based waypoint support into AI test map for quick test. Will replace with a proper system later.
* Working on updating AITacticalPerceptionComponent updates now. Initial check-in of that.

Read this story on GroundBranch.com

Upcoming 4.11 based build

19 April 2016 - 04:25 AM

We're hoping to have a new test version out this week (April 19-23).
In the meantime, here is a preview of some recent additions and a information about other areas that may interest you.

Eye Bias

A percentage value that causes the camera to be offset towards one eye.

[caption id="attachment_2555" align="aligncenter" width="250"]dev_ingame_20160419d 0%[/caption]

[caption id="attachment_2554" align="aligncenter" width="250"]dev_ingame_20160419e 50%[/caption]

[caption id="attachment_2553" align="aligncenter" width="250"]dev_ingame_20160419f 100%[/caption]

This is the limited to the right eye at this time, as it is not yet possible to choose your preferred handedness.
It is especially handy to help you get a better feel for the firearm while point shooting.

Updated Rail Attachment System

Rail based attachments can now use multiple rails as parents, have their mount points modified dynamically and only need those mount points to be on a rail for the attachment location to be considered 'valid'.
This lets you do things like mount the MK4 on the EBR across its ejection port:


Optical Sights Fitted to Screen

All the optical sights have had a 'sight radius' variable defined for months, but I have only now got around to implementing the rest of the feature. That is, making the optical sights fit the screen based on their sight radius.

We first tried changing the FOV to fit the screen.
It worked, but the FOV change also affected the area around the scope and didn't feel quite right.

John suggested modifying the camera position instead, so we gave that a whirl and liked it.
He also created a basic blur post process material and this is the result:


The modified camera position is based on a fixed value from the cameras origin to the rear of the firearm.
In this way, an optics position on the rail is important and allows the player to decide if they want more situational awareness or a larger sight picture.


Virtual Reality

I've developed a pretty decent method for handling VR in a side project. It supports both rotation and position data with far less issues then the original method used in Ground Branch. Though GB is well overdue for an update in this area, it will have to wait a little while longer while we focus on bugs and stability.

Bugs & Stability

The transition from Unreal Engine 4.9.2 to 4.11.1 went rather well, with a few exceptions.
Week one was spent bug hunting, both in our code in the engine itself, to get the editor up and running properly.
Week two was spent making sure we were at the same point we were at using 4.9.2 (relatively).
We still have some update related issues to fix (map crash related to hierarchical LOD, some UMG shenanigans etc), but in other areas, such as those described above, we are ahead.

Stability is next on the list.

Bots help in this area - I can setup a server, spawn a bunch of bots and up the game speed to 10x normal.
Its looks like a Benny Hill skit, only more violent.

The best information tends to come from you guys - the players.
So please, keep being awesome in this area.
Keep playing.
Keep pestering me.
To help with your efforts in this area, I've added additional info about the game version, player position etc to the bug reports, as well as taking a screenshot.
You can optionally specific your name, but other then that, no personal information is required or included in the report.

Broke another #$^&#%$ chair

In related news, I broke another #$^&#%$ chair.
I tend to lean back way too much at times, and this caused the damn thing to snap at the small shaft welded to the base plate. I'm a solid guy (110kg/240lbs), but its kinda ridiculous how poorly some of these chair are made.
Any advice on a reasonably priced - and solidly built - chair would be welcome.
If not for my sake, then for the sake of my 4 year old, who is horrified I'm going to break her chair.

That's it.


Read this story on GroundBranch.com

Build update available and some UI concepts

31 March 2016 - 07:51 AM

Posted Image

Scopey has posted some new UI concepts in the forums based on feedback from users and the team. These ideas streamline the user experience and make things more intuitive. They will be making their way into the game as we go.


Some fun community stuff....

Posted Image
We also pushed a build update to Steam that fixes some server issues, bug that wouldn't save uniform choices and the groundwork for our Terrorist Hunt style gamemode.


* added build number generator
* changed network version to be a combination of game version (1010, 1011 etc) & build number (0001->9999).
* added game version, build number & engine version to background of UI.
* rigged game to override the BuildID used in the creation of server sessions.
* this should result in incompatible servers being hidden from view in server browser.
* Reduced number of recoil slots Heatshield attachment requires
* Cleaned up Background Sound audio setting BP and moved it it proper ini file
* added travel & network failure handling to GBGameViewportClient
* changed game viewport client class to GBGameViewportClient
* created Travel & Network Failure Overlay widgets.
* hooked them up to FrontEndMenuManager.
* Added doors to SmallTown map
* Added basic navmesh to Test_User_Killhouse map
* created Set/GetGenericTeamId functions in GBFunctionLibrary.
* created Test_NPC map.
* created TerroristHunt gamemode Blueprint.
* created TerroristHuntMessages Blueprint.
* created Test_TerroristHunt map.
* created TerroristSpawnVolume
* modified GBGameMode::JoinTeam() to force player to join team 0 if there is less then 2 teams.
* allows all Trigger_JoinTeam's to work, regardless of chosen team id.
* added coverpoints and terrorist hunt support to Test_User_Killhouse
* Widened Door openings in wall sections for Test_User_Killhouse to better accommodate Door BP and allow navmesh through
* replaced build number generator with one based on system date : HourDayMonth
e.g. 113103
* fixed operator appearance not saving to config

* Fixed - Made sure metal shelf was using proper physical material
* Fixed - Typo in ServerBrowser GameModes dropdown
* Fixed - Shotgun shell no longer spins on ground (Still want better physics response though)
* Fixed - removed built in heatshields from Mk48 model and added proper rail system
* fixed int to byte conversion in TeamEliminationMessages Blueprint.
* fixed TactialAIInterface Blueprint/C++ shinanigans (I hope)
* updated affected classes.
* added SquadId & FireTeamId to GBAIController class.
* fixed possible nullptr in GBGameMode::Killed().

Read this story on GroundBranch.com