We've passed a big milestone! v0.1 to v0.2 this week, given our major engine upgrade. Performance and fixes are the key of this week.
Known Issue with IC's
While not a regular section in our patch notes, we've got a major issue with IC's that is still awaiting a fix. There is an issue with some IC programs that can cause the registers and aliases to get mixed up, which can have unreliable results depending on how your program is structured.
If you are having problems with an IC program, and are unable to wait for a fix - you can resolve these issues by not using aliases and addressing registers directly. We will try get this fixed ASAP in a hotfix.
Engine Upgrade to Unity 2018
This week marks the completion of the first stage of the engine upgrade. Any major bugs caused by the switch should now be resolved, so a big thanks to everyone who was playing on the experimental branch while it was up and reported any bugs. Things should now be more-or-less back to normal, so now is probably a good time to re-iterate our patch process for all the new players who have joined us recently.
Performance and Stuttering Improvements
This weeks update will have a pretty significant postive impact on the game. Many users will now notice substantial framerate improvements as well as reduced stuttering. Unity 2018 will now allow us more options in the coming weeks for additional optimization and stuttering improvements as well.
Game Branches Explained
Stable/Main Branch
This is the branch everyone is on by default. This is only ever updated manually, and any update on this branch will be accompanied by either a Consolidated Patch Notes post like this one. If an urgent bug shows up in the ~24 hours following a patch, we'll just update the patch note post with the details. If the fix takes longer than that we'll make a separate Hotfix Patch Notes announcement.
Beta Branch
This is where the magic happens! The build on the beta branch comes directly from our working source at the studio. If something has been committed, it'll be in the next beta branch build. An automated build happens every weekday at roughly 8AM NZST, but if we're fixing something live as we discuss it with people in Discord or in response to a Steam Community post we'll likely push an update right away. Sometimes there could be multiple updates on this branch in one day, luckily the way Steam batches changes they're pretty small.
When the beta branch does get updated, you'll see the public patch notes in the #beta-changelog channel on Discord. Some patches may not contain any public change notes though, so don't be surprised if you see a blank one! It probably just had some boring change or the addition of some new art/sounds that haven't been implemented yet.
Build States for more structures
We've slowly been increasing the "build states" for various structures in the game, to add more depth and complexity. In a sense, this helps with physical security as well in the future - removing some devices completely would require tools which you could restrict access too.
Additionally a new resource, plastic sheets, has replaced Steel and Iron sheets in some cases. These are produced from Silicon Ingots. This should ease dependency on Steel in some cases, particulary for walls. But it's going to make finding Silicon quite important.
Other balancing is occuring as well, changing the reagent quantities to create things and also how many sheets are consumed in the build state process.
Hotfix 0.2.1763.8120
- Fixed issue causing terrain to become corrupted if you left one world and created another without relaunching the game due to terrain chunk pooling (added to reduce garbage collection) not being cleared properly when you leave a world.
- Fixed world saves would sometimes get to a point where you could no longer place doors. This was caused by Cursor objects never correctly calculating their center position (only occurred once registered). This meant that when we fixed another bug regarding placement, this old one was exposed. This meant a final check was always occurring against one grid square in the world.
- Improvement chunk pooling manager for garbage collection.
- Fixed problem with dragging objects not displaying their icon properly.
- Fixed unable to deconstruct damaged pieces. This was because the new extended tooltip was failing for destroyed structures that were not correctly registering themselves as destroyed. Credit: Su-pa-Kitsune.
- Fixed Canisters exploding from being overpressurised had been accidentally disabled. It has been re-enabled.
- Fixed CircuitHousing's IsValidIndex function bounds check was incorrect. [Credit: Risu]
- Fixed Index lookup in IC's always returning 0 for aliases. [Credit: Risu]
- Added Stationpedia, an in-game help system. Default key to access is F1 (in game only). Framework has been added along with some data, note this is subject to significant change and does not contain all the information that is planned.
- Fixed null reference caused by player brain not being created in time for terrain generation to use it for positioning.
- Fixed null reference caused by failure to create global atmosphere on client in time to begin atmospheric processing. Credit: TakoMT via Steam Forums.
Hotfix 0.2.1758.8095
- Fixed NRE when stop server on dedicated server
- Fixed NRE on dedicated server
- Fixed Password server could become stuck in the top right of the screen when trying to drag it.
- Fixed ladder blueprint shows incorrect bounds.
- Fixed cannot connect to password protected servers. Now password window correctly passes in values, and allows connection to server. Issue was caused by a failed input box conversion between old unity version and new, which also didn't generate any errors.
Hotfix 0.2.1748.8080
- Fixed Control Chairs unable to fire engines. A Control Chair connected to engines should now be able to fire up engines again when driven. Clients will not be able to see the engine particles for the moment.
- Fixed Tutorial not able to complete due to Autolathe not having materials.
- Fixed Jetpack in tutorial did not start with stabilization turned on.
- Improvement garbage collection with terrain generation.
- Fixed could access buttons on simple manufacturing machines while still building them.
Version 0.2.1746.8073
- Added some more error messages for the IC chip, mostly that will throw during runtime
- Added basic telemetry variables to Control Chair and Hardsuit. Now reports PositionX, PositionY, PositionZ (worldspace positions), VelocityRelativeX, VelocityRelativeY, VelocityRelativeZ (relative velocity to forward), and VelocityMagnitude.
- Added first pass of satellite dish for communicating with AI ships for missions and trading. Currently just placable, not functioning. Included support for complex multigrid blocks with different smallgrid dimensions.
- Added first pass of Shuttle Landing Pad. Currently just placable but does not do anything.
- Added build states for Tool Manufactory.
- Added build states for Autolathe.
- Added build states to Electronics Printer.
- Added build states to Security Printer.
- Added build states to Security Printer.
- Added build states to Hydraulic Pipe Bender.
- Added Logic Hash Generator. Buildable off the Logic Memory Item as a variant, when using a screwdriver on the button you get a combo that contains all dynamic things in the game. When you select it, that object will show as the current hash. This can then be used by anything that needs to use Hashes, such as the Circuitboard (Hash Display), IC's, Logic units, and Logic Motherboards. The output is recorded on the "setting", which is read only.
- Added UPNPEnabled option to Multiplayer options screen, so you can now disable UPNP if you don't want it or if it's causing problems.
- Updated wording on UPNP note on the Multiplayer settings page to clarify that both the setting AND UPNP on your router had to be enabled to make it work.
- Removed "launch" mode from Jetpack for now.
- Fixed buttons could not be used on Autolathe (experimental/beta only).
- Fixed game unable to run if workshop folder does not exist for stationeers. Normally, a workshop folder would be created - but if this didn't occur the game would not be able to be run. Now the folder will be created and even if it can't the game will still run. Credit: Zaneo, DirtyRat, and 4o (via discord).
- Fixed Slot Quantity text was not always aligned correctly in Unity 2018.
- Fixed lighting problem caused by the planet lighting layermask being reset after 2018 update to include everything
- Fixed human material specular settings
- Fixed Dual Registration objects were never running the large grid validation code.
- Fixed bounding box not supporting grid mode. Fallback had been using bounds, but this provided poor visual indication of blocking off grid areas for multi-grid large grid objects (such as the stairs, and the future landing pad). Now Grid mode for bounds now supports large grid correctly.
- First pass on clouds (turned off by default as they are causing significant frame time increases)
- Fixed Some tablet cartridge text not displaying correctly due to fonts missing after the Unity 2018 Migration.
- Fixed Multiplayer and Misc settings pages not properly resetting to defaults when the button was clicked.
- Fixed error spam when attempting to scroll the menu patch note box due to disabled components.
- Fixed bug that prevented setting TooltipOpacity.
- Fixed a bug that allowed an unpowered arc furnace and logic trickery to create duplicate ingots.
- Fixed a bug where devices sometimes couldn't be accessed by the IC (credit to Risu)
- Fixed incorrect error message when joining with incorrect version. Now displays Version Mismatch rather than Player Count Exceeded when joining via IP to a server with a different version.
- Fixed bug in which structures which required items in off hand wouldn't use the correct amount.
- Fixed a bug in which writing an incorrect value to DaylightSensor's Mode would brick the device
- Fixed unable to use worldspace UI in the new unity 2018 version.
- Fixed bug that was preventing IC using float constants.
- Fixed bug in which IC errors that occurred at run time wouldn't be reported.
- Fixed bug where exporting code to the IC chip didn't reset stack pointer to base of stack.
- Fixed multiplayer game bug in which client wasn't able to put IC in housing (the credit for finding the problem goes to Kevin!)
- Fixed Jetpack stuck with on sounds from clients. Now jetpacks will be turned completely off on load, until the root cause of the issue can be found.
- Fixed Mouse not locking to screen in Unity 2018 version.