This week is another pretty big one in terms of patch contents! It was meant to be a week we put the brakes on new features and go back to fix some of the long-standing bugs and address some quality of life issues. The outcome was some big wins on the performance and reliability fronts, but because Rocket can't help himself we also got a few new features! We've got some leave coming up in the coming weeks that may slow things down a little, but rest-assured there will still be steady improvements and we'll still be around in Discord to answer your questions and hear what you're doing in game.
Build States
Furnaces and Airlocks have been given additional build states. Much like how Frames are constructed, these structures require additional components after the kit is placed before they're functional. If you mouse-over the incomplete structure with the Extended Tooltip option enabled, you'll be shown what is required to progress to the next build state. They also now have to be deconstructed in phases in the same fashion. Likely tools for deconstruction of various stages are the Angle Grinder, the Crowbar, the Drill and the Wrench.
Integrated Circuit Improvements
The IC system has been expanded a lot this week with the introduction of several new commands at your disposal and the ability to interface with Reagent mixes. In the example gif above, Discord user Qiler has used IC's to do their own implementation of sorting. The code is available to everyone on the Steam Workshop.
The hardsuit has now been given an IC slot, allowing you to use IC code to control its internal systems. We will likely expand this system to support things like custom alerts, and look at adding IC slots to even more devices to give you greater control over your systems.
Glasses Slot & Night Vision Goggles
We've introduced a new slot to the game: Glasses! This has rudely inserted itself into slot 2 on your inventory bar, so if you want to preserve your muscle memory you'll need to assign it a new key otherwise you may wish to reset the inventory slot keys to the new defaults of 1-6. Currently the only items available for this slot are some regular old Glasses (just cosmetic at this point) and the new Night Vision Goggles (NVG). They use a bit of power but let you get around at night a bit easier. Expect more options for this slot to be introduced later to display a whole raft of data visualization options.
UI Audio
You may notice a few strange new noises when navigating the main menu. The current sound implementation is the result of a fairly intense couple of weeks right before we went into early access, so was lacking in a few areas. We're looking to fill in some of those gaps in the near future - starting with the easy stuff like UI sounds. Currently just the main menu and some of the prompts are included, however, this will extend into the rest of the UI (settings screen, inventory slot interactions etc) in the near future. We can then start to look at some of the more complex sound additions to the game, like footsteps, impact sounds etc. Any feedback is appreciated, as always! You can alter the interface sound independently using the newest volume slider on the Audio settings screen.
Bug Fixes / Improvements
Normally they wouldn't get their own heading, but there has been several significant fixes and improvements this week we'd like to highlight. Firstly, as mentioned in last week's patch notes we've acknowledged the performance issue with stuttering in the game and are trying to identify the best places to fix or improve it. This week we had several big wins in that department, with some of the worst culprits getting refactored to try make things run a little smoother. The problem definitely isn't solved, but based on the early feedback we've had from those playing on the beta branch the issue in at least the early game has been improved significantly. Work will continue in this area in the coming weeks and months.
In addition, several significant long-standing Atmospherics bugs were resolved, which you may need to be aware of going forward. A bug was identified by the prolific Risu on Discord, which caused the calculation responsible for transferring heat from pipe contents to the air surrounding said pipe and vice versa, to mix with the atmosphere at the world origin (0,0,0) rather than the atmosphere around the pipe. Now that it is fixed, you'll likely see much faster temperature transfer between pipes and the rooms they reside in - so be sure to keep an eye on that furnace output! We'll revisit the values for this after people have had some time to gauge the impact, then can look at tweaking the values or introducing something like Insulated Pipe if required.
Version 0.1.1701.7945
- Added build states to furnace. Now will require iron sheets and a variety of tools to construct. Note that deconstruction also requires different tools now.
- Added additional build states to Airlock. Two extra build states are required to construct the Airlock, for balance reasons.
- Added tooltip information for incomplete structures. If a structure is not completed, and Extended Tooltips is enabled in the settings, a tooltip will advise the player what tools they need to complete the structure.
- Added Plants and Entities (such as players) will now take toxin damage from pollutants. This scales with the partial pressure of the pollutants in the atmosphere. 1 kPa PP is when they start taking damage, and when a critical toxin alert will show for the player. 0.5 kPa PP is when the caution toxins indicator will show for the player. Note this scales with partial pressure, if you have lots of toxins - you will die quickly. Lungs will, slowly, repair their toxin damage if below 50 damage. Plants will (currently) not.
- Added new slot Glasses. Note: This will have a default key that will conflict with existing installs. You will need to either reset the keys to defaults or rebind.
- Added Glasses. Made on Tool Manufactory. Cosmetic currently.
- Added Night Vision Goggles. Powered item that goes into the new Glasses slot. NVGs allow you to see at night, reasonably well. They use a fair bit of battery.
- Added Cognition voice warnings for critical and low, warns player when they are losing consciousness. Can be set on or off under audio settings.
- Added first pass of menu button audio. Should cover most of the out-of-game interface, as well as some in-game parts. Settings screen & Toggle/Checkbox audio to come next.
- Added a dedicated Interface Volume slider to the Audio settings page. LOGIC
- Added an lR command to the programmable chip that allows reading reagent information (recipe/required/contents).
- Added a ternary command 'select' to the IC. See in-game documentation for useage.
- Added SGT, SLE, SGE, SEQ, SNE, SAP and SNA commands to round out the set containing SLT for programmable chip
- Added PressureExternal and TemperatureExternal readable values on the Hardsuit. These could be read by an IC in the Hardsuit Processor slot.
- Added IC's can now be loaded into the Hardsuit. When in the hardsuit, an IC will be processed in the same was as the IC would in a circuit housing. Device references are hardcoded, currently : db is the Hardsuit itself. d0 is the Helmet, d1 is the Backpack (possibly jetpack if word). PressureSetting and TemperatureSetting are new Logic variables that work on the Hardsuit. This would allow you to write your own IC's to control your hardsuit.
- Added Hardsuit Filtration and AirRelease added as variables. These can be read and set, 0 is off and 1 is on.
- Improved stuttering bug. As memory is turned over, it causes Unity to perform "garbage collection" regularly to clean things up. A number of String generation areas have now been cleaned up, and have reduced stuttering caused by the Inventory Windows, and the Player State info (top right). These two areas caused quite a lot of constant memory turnover from updating their strings. If you notice an improvement with this update, please post your results in the forums. Note that stuttering still exists for my test levels, and we will continue to improve memory turnover to reduce stuttering. One big cause of stuttering that remains is memory turnover from the tooltip, and also network messages.
- Refactored atmospheric messages to raw StreamWriter instead of MessageBase to reduce garbage. Reduces stuttering caused by atmospheric updates over the network.
- Replaced starting airlock kits with regular door kits, as airlocks now require steel to complete them.
- Changed ICs so that if the thing causes an error is fixed it will try to resume execution.
- Changed Basketball Hoop now counts anything going through it, not just basketballs. Ores work well!
- Moved IC labelling of devices to be the responsibility of the device the IC is hooked into instead of the IC.
- Balanced Plant damage. They now take 30% of the damage they previously took, so they will be damaged slower.
- Balance second CO2 Gas Filter to player spacesuit for default starting conditions, to make initial start more balanced.
- Balance altered for Breathing value rate of entities. Now use an order of magnitude more moles, and plants use/produce an order of magnitude more moles. This was because production was so low for plants that, while realistic, the values were lost in either floating precision, or the atmospheric system removed them as they were so incredibly low. This was causing plants to not produce O2.
- Improvement added B[R]AP - 'branch (relative) approximate' - and B[R]NA - 'branch (relative) not approximate' - to coincide with B[R]EQ and B[R]NE but allow the player to specify a tolerance in the comparison
- Added a stack and branch/jump-and-load instructions to the programmable chip. Subroutines for all!
- Changed db, sp, and ra to aliases, so they don't have to be handled specially, and load them at the beginning of an algorithm run
- Improvement: Tidied how the IC stored it's variables so instead of code repeating an ugly implementation several times the ugly implementation only happens once now.
- Fixed Null Reference Exception Message if you had a Control Chair in your world due to missing text box on the altitude display.
- Fixed If playing offline, error message when Steam attempts to connect but fails will only repeat several times before the message is supressed.
- Fixed error preventing the peek operation from working correctly on IC (credit Risu)
- Fixed a bug where LED displays could display numbers larger than the screen size.
- Fixed controlling an active vent with an Mode Control Circuitboard shouldn't get stuck changing mode any more. [Credit: Risu / Zaneo]
- Fixed Incorrect labelling of Logic Types using the Configuration Cartridge due to the list of types being sorted alphabetically but not the list of string labels.
- Fixed unclickable call button on Elevators.
- Fixed Incorrect spelling and odd naming conventions on some wall types.
- Fixed Pipe Thermodynamics. For quite some time, heat radiation from pipes has been calculated but applied to the atmosphere located at 0,0,0 instead of the one surrounding the pipe. This fix may cause temperatures in your base to fluctuate quite a lot more than usual depending on how your pipes are situated and what they contain. A big thanks to Risu for finding this one!
- Fixed a bug in which IC's that contained references to db would be in error state when loading a save game.
- Fixed Incorrect StringHash on Glasses slot resulting in them being incorrectly labelled as 'Belt' in several places.
- Fixed bug in IC that prevented values being loaded from devices.
- Fixed Function and Variable help window lists were not sorted alphabetically.
- Fixed Basketball Hoop now updates the score display when OnOff is changed.
- Fixed Configuration Cartridge now properly displays all accessible logic types and their current values on devices. Grey for readable, Green for writeable.
- Fixed null reference when plant is breathing in a complete vacuum.
- Fixed occasional NullReferenceException with Arc Furnace when smelting, due to incorrect atmosphere object being referenced.
- Fixed NullReferenceExceptions on attempting to join a second game without restarting your Stationeers client due to old objects from the previous world still being referenced on load.
- Fixed unable to place airlocks/doors when an object existed at 0,0,0 in the world. This shouldn't normally have been able to occur, but could via bugs. This would prevent you being able to place airlocks till this was removed. Now this redundant check was removed, as it was a leftover from an old system. Airlocks correctly check their face neighbors during placement.
- Fixed Global atmosphere state not syncing to clients, so they didn't get variation in temperatures.
- Fixed Nul ref caused by Atmospheric thread cleaning up atmosphere before event had a chance to occur.
- Fixed exception when ice melting in a global atmosphere or true vacuum.
- Fixed Hardsuit PressureExternal reporting in Pa, when suit set in KPa. Now unified in KPa.
- Fixed Arc Furnace resulting in drop in temperatures when smelting. Now the arc furnace will produce gas, which will tend to be at the temperature of the surrounding air. Previously the gas was produced at zero degrees. Note the Arc Furnace will generate heat energy now, it's not energy neutral. This means if 2000 J is needed to smelt Gold, it will produce 20000 J of heat. You could capture this heat and be net energy positive. This fix may also fix the furnace, as it involved making the methods used Thread-safe, but this was not properly tested so needs to be confirmed.
- Fixed incorrect description of PEEK on the IC commands.
- Fixed a bug when registers with multiple digits weren't showing up as valid in the IDE.
- Fixed Bug with pipe network splitting not properly distributing atmosphere, resulting in the sum of the newly created pipe networks containing more gas than the original. [STAT-1022]
- Fixed Hardsuit processor slot tied to AC power state. Now IC in processor slot will run if there is a battery, and the battery has charge. You have to remove the processor for it to stop working.
- Fixed PressureSetting was not setable on the Hardsuit.
- Fixed issue with recipe containing duplicates if Workshop screen was accessed due to mods reloading.
- Fixed error handling if two scenarios with the same folder name are loaded.
- Fixed elevator shaft bounds box during construction is comically large.
- Fixed Iron Window was trying to cast a shadow and was not set as transparent, therefore hiding sun.
- Fixed bug which prevented aliases above 5 being assigned aliases.
- Fixed memory leak with new StringGenerator.
- Fixed Automated Hydroponics missing correct blueprint was using fallback.
- Fixed IDE for ICCode recognizing commands in comments when it shouldnt.
- Fixed dedicated servers occasionally not loading world or crates.