UPDATE 332 - Released!
332 Changelog Greetings Citizens! While it’s been a while since the B.M.A.C. production came online through the Trans-Gov Federation, we’ve been in the background quietly tinkering away on deep system improvements within the mainframe while aboard this station. We recognize the Kharaa threat is an ever present and increasing one, and because of that the Federation wants you to know that your well being is important to them. As such we’ve made things go faster. We’ve oiled up some rusty parts. And we’ve reprogrammed the nanites to not be so painful upon injection. We think we’ve made good progress and are excited to show you some of our work by getting it into your hands for assessment double time. Just be sure you don’t forget to fill out the p3.1415 forms in the Discord server to let us know how satisfactory your experience was. Contained within TSF-Software-Patch.332 is a host of improvements to both performance and stability, as well as some new customization options for the Elite B.M.A.C. package, and entirely rewritten AI behavior. There’s also balance changes and visual changes. The list is long but fear not, if you do not read the entirety of the log the fine is only 500,000 credits per section 10.2009 of the Articles of Citizenship. We still have some exciting and very large features to add in the next software update that will arrive soon, such as matchmaking and a new city to defend, Metro. But these tasks are so large that the Federation has brought another member aboard our team to help: Salads. Please welcome him with the traditional and formal greeting per regulations. He’ll be in the back of the station, behind the terminals that say High Voltage. Remember all sales of NS2 and DLC directly affect our development budget and allow our team to continue work on NS2. This is Command Station Alpha, over and out. Changelog Gameplay
- The long list of balance and gameplay changes can be found here in a separate blog
Optimizations
- Removed one frame of mouse input delay that was always present in the game! You felt it, we felt it, it was only a matter of finding and destroying it after all these years of looking. Here is an example in 30 fps of the degree of impact this had on aiming before it was fixed, where the green ball represents the amount of the delay that was present compared to the pink crosshair.
- Optimized worker thread load to prevent blocking other threads from running (which could cause a timeout during connection and other issues)
- New and faster file hash algorithm for consistency checking. This provides faster consistency checking and therefore slightly reduced loading times.
- Reduced frame time maximums by preventing the steam friends list from updating every 15 seconds regardless of whether it was visible or not.
- Resolved performance issues and conflicts from build 331 in relation to SDL changes that affected some clients (Thanks Terence!)
- Optimized frame times by preventing weapon displays from rendering every frame, even for weapons you are not carrying.
- Drastically improved the average frame time of Spectator health bar update routine
- Greatly optimized the Mini-map update routine. The run time was rather long at 50+% of the total world update time and thrashed the Garbage Collector. It has been entirely refactored to be more efficient and JIT’d.
- Refactored scoreboard to use the new map container which makes things more efficient
- Optimized the Garbage Collection. Made sure the Lua GC doesn’t run during world update routine, reducing frame time spikes. Adjusted the run time of the GC dynamically based on the production. Increase the GC timer resolution to overall decrease the time the main thread waits for the GC job to finish.
Tweaks / Improvements
- Added new Elite tier B.M.A.C. skins!
- You can now view and purchase most of the skins that are sold directly in the Customize Player menu! (We may add more over time) Requires Steam Overlay to be enabled, and the prices should automatically reflect your local currency.
- Added the fabled and long requested Fog feature to maps! It’s sparingly used mostly in non playable areas of maps, and costs almost nothing in regards to performance. However it can be toggled on or off in the graphics option menu.
- Options will now save locally on your hard drive in addition to the Steam cloud save option (by default). This means that if Steam cloud fails for whatever reason, your settings will now be loaded from disk.
- New Powernode visual effect improvements to better match the balance changes (no more blueprints!) and state. For example: The color of the powernode material, the light on top, and the cinematic fx all change based on its health. The pulsating area lighting that occurs after destruction no longer occurs until the 15 second requirement has passed that allows rebuilding it - meaning there is actual uninterrupted pitch darkness right after the power is destroyed, and there is a visual cue for when the node is able to be rebuilt again.
- Disabling Voice Volume will now prevent the user from transmitting their voice data to the server as well. This means if you mute everyone by setting Voice Volume to 0, you cannot speak to them either.
- Back by popular demand: Parasited status icon for Marines show once again regardless of your HUD detail setting
- Made it easier to cancel a primed Grenade in your hands by switching weapons
- Bots have been generally improved in many many ways. From randomized individual personality traits that dictate things like how supportive or aggressive they are, to reactions being revised to feel more human-like, to movement routines such as sneaking, dodging etc. Their accuracy even scales automatically with the server’s average skill level to ensure they remain challenging for players without being overpowered. There will be many more improvements to come in the future as well. Give them a shot and tell us what you think!
Fixes
- Fixed timeouts that would occur for players when attempting to connect to a server.
- Fixed structures being detected but not visible if scanned (Thanks Katzen!)
- Fixed commanders forced to repress the grid key for dual action items (Thanks Katzen!)
- Fixed that the scrollbars in the News / Changelog main menu area did not actually scroll.
- Fixed that the NS2 process would often remain running in the background after closing the client, preventing you from relaunching it as Steam would see it as still running
- All Marine models now utilize the same hitboxes. Previously only the default normal armor was using an updated and more performant version.
- TBB library binaries updated to include VC 2013 redistributables to prevent some cases where the game would not load for some users.
- Fixed double and triple buffering Vsync options not correctly applying at startup.
- Fixed that returning players who had an old and removed feature called Camera Animations left over in their options file, could cause issues such as crosshair misalignment.
- Fixed the round start countdown camera animation not smoothly transitioning to the player’s final view. Note that the server mod “Shine” may prevent this animation from occurring at all in some cases.
- Fixed Shade Hive passive upgrades overriding the Shade structure when it came to cloaking behavior. For instance, cysts should not decloak unless touched when a Shade structure is nearby, but should decloak within range when there is no structure but they are instead cloaked by the hive type’s passive ability.
- Fixed an issue where occasionally some players would be missing from the Vote Kick menu in game.
- Fixed “Previous Weapon” binding not working correctly if rebound to anything but the default mousewheel binding.
- Fixed the last Cyst in a chain often dying when placing a long chain (Thanks Katzen!)
- Fixed that a Cyst chain does not reconnect properly when replacing one Cyst in a long chain.
- Fixed that Crush upgrade did not increase damage against unpiloted Exos
- Fixed Crush not affecting Gorge Spit weapon
- Fixed spawn angle bug for the final time (we think), where the player would not be aiming at where they were previously during the respawn animation. May you slay many a Skulk who dares to bite your infantry portal.
- Fixed Tunnel Exit button being selectable for the commander for a brief time frame after collapsing a Tunnel, which would show a placement model to place a new one, but would not actually allow you to do so.
- Fixed Tunnels occasionally not connecting to one another after upgrading to Infested and then collapsing one.
- Fixed Alien heal / regen soft cap that was previously implemented but was not working correctly.
- Fixed recently killed Gorges still spawning Babblers, which could cause Gorge ragdolls to do amazingly silly things.
- Fixed the missing Join Team bindings in the menu. We don’t know where they went or why. But we had a nice long talk with them and they’ve agreed to stay in the menu for the time being so long as you don’t spam them further.
- Fixed BMAC taunts playing default marine taunts when in an Exo
- Fixed an exploit of being able to create unlimited Babblers in the world by utilizing two coordinated and highly mischievous Gorges that were hell bent on dominating the galaxy through repopulation efforts.
- Fixed random client crashes that occurred when multiple files were missing during loading into a game.
- Fixed Voice chat HUD feature showing names of talking players, even players from the enemy team, when voice volume is set to 0.
- Fixed Voice chat playing back actual voices all at once after changing the voice volume slider from 0. Sure we all hear voices from time to time, but we’re never supposed to hear 10 other people barking orders at us once, that’s too far, right bob? Yea see, bob agrees.
- Fixed Hallucinated Drifters having stuttering movement.
- Fixed a bug with players getting omitted from the scoreboard in some cases.
- Fixed decals projecting onto Mine placement models
- Fixed Bots being removed when a Commander Bot was replaced by a player.
- Fixed Fade old description and typos in the evolve menu
- Fixed many Steam Achievement wording issues
- Fixed client crash when exiting Skulk race challenge
- Fixed some crashes when using Profile command and using Exos
- Fixed crashing when utilizing Cr4zy’s alien vision
- Fixed the Crusher on Mineshaft to ensure it actually kills players once again. This seemingly innocuous fix led us down a deep dark rabbit hole that exposed some potentially fundamental issues in networking that have huge ramifications and that we may one day be able to expand on after fixing. Stay tuned Marine.
- Fixed material swapping crashes. This could occur from a player swapping BMAC skins or even seeing someone else do it. It applies to all material swapping uses however (this patch uses the system for the new powernode fx)
- Fixed that Alien bots do not return to the Hive for health
- Fixed that Marine bots would often build structures by spamming the use key, making a sound so annoying you wanted to throw them off the deepest cliff in mordor into a fiery pit of doom from which they can never be heard from again.
- Fixed that destroying a dropped Machine Gun with Bilebomb awarded no score points.
- Fixed that Marine bots did not buy Grenade Launchers or Flamethrowers
- Fixed that Marine bots ignored dropped Machine Guns
- Fixed Grenade quickthrow (aka Tertiary) animation bugs that could cause your HUD to disappear and some other wonky behavior.
- Fixed Babblers not respawning on a Gorge if they spammed the Bait Ball. This should allow new players who often fall for this trap to still get some use of it.
- Fixed Gorge Bile Mines not cloaking when near a Shade.
- Fixed that Medpacks would not drop when bound to mouse wheel during tutorials
- Fixed case where having a coded mod active on the client would prevent tutorials from loading.
- Fixed some cases of client crashing upon start up
- Fixed that the friends list would update even when the menu was closed, which could cause a hitch.
- Fixed client crash with Skulk Race challenge when viewing leaderboards
- Fixed the Credits screen background blending incorrectly in some cases
- Fixed script error when a marine died on top of an ammo pack
- Fixed script error from a race condition when a player with a Machine Gun died
- Fixed script error that could occur if an Onos died during using Stomp
- Fixed script error when dying as a Skulk when Leap is researched and you have the tooltip on screen to leap.
- Fixed potential read-access violation crash on shutdown
- Fixed many memory leaks
Sounds
- Fixed that your own sounds such as footsteps, would often be offset from the player, sounding as if you were walking or strafing ahead of yourself somehow. This was most notable on virtualized 7.1 sound setups. The paranoia from hearing footsteps outside of your own body is gone!
Maps
- Added fog to various maps. (Thanks BeigeAlert, pSyk, RuneStorm)
- Derelict (Thanks pSyk):
- -Fixed tunnel placement exploit.
- Docking (Thanks RuneStorm):
- Various bugfixes and tweaks to visuals.
- Tram (Thanks pSyk):
- Improved collision on pipes and geo near the ET-Mezz vent.
- Fixed upgrade structure placement exploit in Server.
- Added a ladder into the vent from Shipping to Logistics.
- Unearthed (Thanks pSyk):
- Fixed structure placement exploit in Marine Start.
Tools
- Integrated new slick and robust profiler named Tracy. It’s a separate executable you have to run and connect to the game executable. You can find the profiler binaries and a manual pdf in the utils\Tracy folder.
- The Tracy capture tool uses a lot of memory due to capturing a lot of data points by default. So you can only have it running for a few minutes before it will start thrashing your swap file.
- If you run NS2 as administrator Tracy will capture your complete cpu context. Which means that if you decide to share such a capture with others they will be able to see all applications that did run on your system during the capture!
- Engine console commands:
- tracy_start - Starts Tracy's listening thread allowing profilers to connect.
- tracy_stop - Requests the connected Tracy profiler\capture tool to disconnect itself.
- Command line options:
- -tracywait - Will start up Tracy very early on in engine initialization and block loading until a Tracy profiler or capture tool connects. Great for finding slow loading problems
- -tracyip will set the ip address Tracy client embedded in the engine will bind to, by default its loopback\127.0.0.1. This allows you to run profiler\capture tool on another computer.
- -tracystart is like -tracywait but doesn't wait for profiler to connect
- Added latest version of the .Net Performance Analyzer. Used to open in-game profiler captures.
- The profile command tool’s pause feature can be rebound through the in game bindings screen now.
- Fixed TechSupport.exe not working at all and updated tech support email.
SDK
- The Steamworks library for the game is upgraded to the latest version (v1.46)
- [Map Editor] can use two new entity types: fog_mesh_volume and fog_sphere_volume.
- [Map Editor] Added a “Crack-finder” feature in the menu that will use an edge finding shader in the editor to highlight small cracks in the map, similar to what alien vision can provide in game.
- In game Profile console command’s pause binding is no longer hardcoded to spacebar. You can rebind it in the Misc section in your bindings menu.
- Improved Crash Handler full dump generation to prevent silently exiting.
- Added a console command "lag_fix <true|false>" which enables/disables the mouse input delay fix so you can compare (the fix is enabled by default).
- Fixed Launchpad being frozen after publishing a mod
- Fixed a crash in Viewer when loading between different models and viewing collision
Known Issues
- Bots still have many issues which are known and are being actively worked on, from improvements to actual bugs.
- There’s currently no form of communication to the player when their applied healing is not 100% effective due to the healing cap. We plan on changing this in the future.
- There are numerous parasite visualization bugs related to the shader, status icon, or outline. We’re aware of all of them and their importance but boy oh boy are we not excited about the amount of work involved here.
- BMAC taunts in exos do not update if your skin is changed while still in an exo.
- Babblers can still attack a powernode even if completely destroyed.
- The new marine hitboxes have an issue with the shoulders where they flare outward more than they should. We’ll be addressing this next patch.
- From commander view while placing a structure, the floating in world powernode health that is shown may be inaccurate.