Stationeers - Heightmare

Still working through the big-ticket technical backlog, but as usual we have a bunch of fixes and your requests that are worth getting into the stable branch. We're also going to endeavour to keep the 'what we're working on' section of these notes going every patch, to more clearly illustrate that what you see in these patch notes every few weeks is not the totality of what has been done since the last update.

Things people keep asking for in Discord
We've added the ability to search for recipes in manufacturing machines. For the IC programmers, we've also added a sleep command. They're small things, but many of you have been very passionately requesting them so we hope you enjoy it.

Audio Improvements
The first of many audio improvements have taken place in the last couple of weeks with the addition of a new team member dedicated to audio. In addition to bringing across some audio functionality from another project at the studio, we've been able to start looking at some of the most noticeable holes in what you hear while playing the game. We'll be experimenting with a lot of the systems and sound, so give us your feedback and keep in mind that it'll be a continually evolving thing as development continues.

New Tutorial on Workshop Next Week for Testing
Work continues on the new tutorial, and we'll look at getting this up on the workshop in the next week as well as making available the documentation for authoring your own tutorials or scenarios. Once it has been thoroughly tested, we'll look at introducing it in the beta branch. As this will ideally be a brand new replacement tutorial, we need to ensure it is a bug-free and comprehensive introduction to the game before it makes it to people playing for the first time.

Work In Progress
Some of these have been posted in past patch notes, but rather than regularly field questions about it in Discord and on Reddit, we'll try post more regular updates for works-in-progress here.

Session Abstraction
We're working on a lobby system to break up the multiplayer and the game world. This will allow players to join a game before the world is created. The next step will be the preserve this lobby/player data even while cleaning up the world, then once we support being able to transition into a new one with the same set of people then round-based play is just around the corner.
While we're trying to leave the bulk of optimization until more of the core features are into the game, occasionally certain things stand-out as being strong candidates for optimization. We've identified a couple of these in the last week or two, so it's too soon to speculate on how impactful they'll be - keep an eye out on the beta branch patch notes.
As mentioned above, the team now has a dedicated audio tech/programmer! The focus in the immediate future will be sounds local to the character (ie. suit noises), with additional movement sounds to go with the just-added footstep ones.

Hotfix Version 0.2.1956.8894
  • Fixed various side effects of refactoring.

Hotfix Version 0.2.1954.8891
  • Fixed several missing references to NitrousOxide in tooltips etc. [Credit: Risu]
  • Fixed issue where randomize on the Character Customization screen allowed invalid selections, which if retained would prevent save games with that character from loading correctly.

Version 0.2.1952.8883
  • Added the ability to search when using various printers.
  • Added sleep command to IC that pauses execution for the supplied number of seconds.
  • Added new audio pipeline allowing greater control and supporting simpler addition of new audio assets to the game.
  • Added first pass on footstep sounds.
  • Added ability to include custom translations to mods, not just scenarios.
  • Updated all prefabs that play sound as part of new audio manager.
  • Updated Suit audio parented to local player are now 2d.
  • Updated Localization Files (Current 19th March).
  • Removed audio-sources form prefabs that shouldn't have them.
  • Fixed Duplicated entries in the IC Code entry help windows.
  • Fixed bug where IMergeable structures could be used to change ones already flagged as indestructable.
  • Fixed null reference exception that could be caused by exploded gas canisters.
  • Fixed broken AtmosAnalyser when accessed to already destroyed atmosphere.
  • Fixed issue where nutrition was not being consumed, leading to hunger never increasing.
  • Fixed issue where the printer search bar text was not resetting.
  • Fixed bug when items leaving Sorter could get stuck when items were already in chute (props to Risu and Kamuchi)
  • Fixed error that could occur on ListenerEffectManager when loading some Steam Workshop saves.
  • Fixed AudioSources that are not playing are disabled.
  • Fixed Missing font causing fabricator construction list entry titles and quantities not being displayed.
  • Fixed error when attempting to change objects that are in the process of being destroyed since engine upgrade.
  • Fixed remote control save command. It failed to save world.
  • Fixed bug that would cause some structures to lock when accepting stuff from chute
  • Fixed an issue where Hunger critical was playing at the wrong time
  • Fixed ReadByte out of range error when receiving atmospheres from server.
  • Fixed bug with IC Library containing 'ghost' entries at the top for missing library entries, with buttons that weren't clickable.
  • Fixed bug preventing aliases from highlighting correctly.
  • Fixed bug that allowed pipes/cables to be placed inside objects.
  • Fixed fabricator recipe selection dropdown entries only displaying thumbnails without labels due to font change resulting in size value being incorrect.
  • Fixed issue with text not appearing on the manufacturing computer due to an invalid font being specified.
  • Fixed Fabricator bug that could cause it to lock if it export chute weren't clear.
  • Fixed issue with character hair occasionally not loading correctly. [Thanks Tassyr]
  • Fixed if a player changed their identity in game, after death they would revert to their old identity.
  • Fixed volume not being applied correctly to speakers when loading a save due to move to new audio system.
  • Fixed bug that made merging on some cable arrangements difficult.
  • Fixed human being unable to respawn if completely dead.
  • Fixed if you fall below the world you will now be teleported to the surface again.

Stationeers - Heightmare

Another bunch of fixes this update, with a couple of quality-of-life improvements for multiplayer and cable/pipe placement - but a lot of progress on some of the slow-burn features we've been working on for a few months.

Cable/Pipe Merging (pictured)
Rather than having to remove pipes and cables to add additional connections, you can now place cables/pipes on top of each other at which point they'll merge into their larger variant with more connections. No removal required! You will, however, be required to have the normal removal tool in your off-hand - so in the case of pipes, you'll need to have a pipe kit in your active hand and a wrench in the other.

Peer-to-Peer Multiplayer
Some players have issues in multiplayer with port-forwarding and connecting to Steam Matchmaking servers. You can now host a multiplayer game using Peer-to-Peer instead, joinable either directly by IP address on the server list, or by joining off your Steam friends list.

Savegame Improvements
Many improvements were made to the save process, with it now running in a separate thread. This means there will be no game 'freeze' whenever an autosave happens, but it'll still be processing the save data in the background. There will be an indicator on screen to tell you that an autosave is taking place, and you'll be unable to quit the game at this time. There will also be an audible tone when an autosave begins.

Coming soon to the Beta Branch
A sneak peek at the items that will be coming to the beta branch in the next week or two:

Recipe List Filtering
We're adding a search box to the top of the recipe selection window on construction machines, helping you find what you're looking for a bit easier.

New Tutorial
We have a rewritten tutorial that includes previously overlooked aspects of the game, like Mining, constructing an airlock from scratch, using access control, setting up solar power, status updates and more. This included a lot of foundation work on the system used to create these, so it'll be much easier for us to make additional tutorials on subjects like smelting, hydroponics, more advanced logic automation etc.

Client/Server Recipe Synchronization
Instead of the server assuming that the client uses the same recipes, they will now be sync'd to the client when they connect. This will allow for better mod support for multiplayer games, and reduce the likelihood of issues arising when clients are using different languages to the server.

Version 0.2.1914.8736
  • Added support for alternative custom voice collections (Status Voices)
  • Added FX sounds when auto-saving
  • Added Priority option to Existing Audio System.
  • Added description of lr command on ProgrammableChip.
  • Added Cables and Pipes will be merged when placed with any existing one in cell if deconstruct tool in offhand.
  • Added save path to settings. A few player have troubles to save world in "My Documents" folder. Once you change it, it can't be uploaded to steam cloud. You need to copy your save files to other pc manually.
  • Added Steam P2P which allows to play with your friends under NAT or VPN. There is an option in setting > Muliplay > Enable P2PHost. Once it's enabled, "Advertise Server" option is disabled. Steam P2P isn't compatible with it. You can join friend's P2P host through "Join Game" on steam overlay.

  • Optimized memory usage when saving world.
  • Improved Audio Fidelity on Helmet Open/Close.
  • Improved saving world performance. It indicates saving message at the bottom right corner and can't leave session while saving.
  • Removed ability to paint LED Light.

  • Fixed bug that caused arc furnace to output unpredictable substances and quantities.
  • Fixed missing syntax highlighting for lr and define commands on IC.
  • Fixed bug that prevented logic from telling the arc furnace to print when new ore of same type entered input slot.
  • Fixed bug that caused BatteryCellCharger to bring down power network.
  • Fixed Incorrect value on Max distance causing Powered Sound to Play Everywhere.
  • Fixed P2P connecting problem when it's already in game. It couldn't connect to P2P Host.
  • Fixed total thing counts in loading screen. It was always 0.
  • Fixed batteries in BatteryCellCharger no longer charge one at a time.
  • Fixed BatteryCellCharger no longer wastes power if more than one battery placed requires charging.
  • Fixed bug that prevented cables being placed immediately next to ChuteBin.
  • Fixed null referenced exceptions in Human. Dead player's head animator wasn't set for new connected player.
  • Fixed bug preventing cables, heavy cables and pipes from being placed in authoring mode.
  • Fixed LED when placed from painted ItemWallLight kit will now always be white.
  • Fixed couldn't set LED colour from Logic devices.
  • Fixed bug allowing heavy cables to be merged into normal cables and vice versa.
  • Fixed bug preventing painting Pipe Kit.
  • Fixed an issue where you were unable to continue building some structures after a certain point.
  • Fixed unexpected error message when player respawns after starting to decay. It respawned twice and accessed to uninitialized data.
  • Fixed connection problem in password P2PHost. It failed to connect to P2PHost after input password.
  • Fixed unable to save world when chick npc is spawned. It threw null reference exception.
  • Fixed bug in which ladder end wouldn't return kit on deconstruction.
  • Fixed unexpected error log when connect to dedicated server("Spawn scene object not found for 1"). It's side effect of Steam P2PHost.
  • Fixed bug that prevented placed LED from being painted.
  • Fixed bug preventing displaying of some Polish special characters.
  • Fixed null references in HydroponicsAutomated. It tried to harvest potato on game client. Automated harvest is available only on host or dedicated server.
  • Fixed broken Programmable ChipMotherboard when input enter before click it. It wasn't initialized properly.
  • Fixed wrong access to GasDisplay. It often happened when removed device from Motherboards.
  • Fixed wrong access to color swatch. The index was wrong and broke game logic when loading world.
  • Fixed broken graphics when saving world over read-only attribute files. It forces to remove read-only attributes world save files.
  • Fixed null reference when closing character creation panel in settings.

Stationeers - Heightmare

Everyone is back on the ground after the holidays, and work continues on the major pieces of work we mentioned toward the end of last year - with a couple of additions. As always, we've included a smaller fixes and changes.

What we're working on...
Peer-to-peer Multiplayer
We're in the process of refactoring some of the multiplayer code to support peer-to-peer networking, which should prevent many of the issues people were seeing with port forwarding and make the multiplayer system easier for us to work with. This should be available on the beta branch tomorrow.

Pipe & Cable Placement Improvements
We're also adding a quality-of-life feature based on a very old suggestion from Discord - you'll no longer need to remove cables or pipes to add additional connections. eg. A straight cable can be turned into a T junction with the addition of a corner piece, instead of having to remove it and replace it with the variant you want.

Scenario and Incident Expansion
It's not noted in the patch notes below, but there has been a lot of new functionality added to the XML-authored scenario tool-set, allowing scenario authors to create objectives based on the state of an interactable (open a door, close a chest, turn on a machine), pipe pressure, death of an entity, mine a certain number of voxel chunks and many more. We've also introduced EventActions which occur at the beginning and end of a mission stage, this allows mission authors to directly affect the world by spawning in objects, changing object states etc. While these will be available to everyone who wants to author scenarios, we're primarily adding them for use in an expanded tutorial system in the works.

All of this functionality has also been added to the incident system, which is used to script random events that will be added to the game once we've authored some and figured out a nice way to notify the player that they're taking place!

Patch note title image credit goes to UhOhPolio and their creative use of the various cosmetic cladding options available to create this stylish workshop.

Version 0.2.1879.8621
  • Added a LogicType ForceWrite that, if set to a value above 0, will trigger any LogicWriter to resend its current value.
  • Added Opacity Toggle Button to the IC Code input window to toggle the transparent background. You'll find it at the top to the left of the help buttons.
  • Fixed Error message spam when trying to complete a mission with an atmosphere-related objective (such as the hydroponics one in the Mars mission) due to no support for playing UI audio outside the main thread.
  • Added LogicType and LogicSlotType descriptions to localization system.
  • Added descriptions for PrefabHash.
  • Added ability to retrieve object's (and slot object's) PrefabHash.
  • Added sounds to warn you of appearance of new critical and warning states.
  • Improved home/end/delete/backspace key behaviour in IC IDE.
  • Improved voxel generating logics. Generating voxel close to object first.
  • Changed LogicWriterSwitch saving so that it successfully loads the older version of saves.
  • Changed side of Sleeper player gets out of from base to side with on/off button.
  • Optimized terrain generation to reduce stuttering when generating a large number of chunks.
  • Optimized camera filter effects so that it uses less memory and CPU.
  • Reduced volume of menu music file to bring it back to the level it's supposed to be at (a recent prior update had removed a volume reduction at some other stage in the chain).
  • Changed Lists in the Stationpedia from paragraphs to one entry per line for clarity.
  • Moved the Randomize button in Appearance menu so it doesn't jump around when turning on and off Facial Hair options

  • Fixed tooltip comment on LogicWriterSwitch switch.
  • Fixed Issue causing the Escape From Mars mission to skip the plant growth task, due to a missing check to ensure a plant had actually grown before seeing if it had grown enough.
  • Fixed setting ForceWrite on LogicWriters caused a write even if they were turned off.
  • Fixed setting ForceWrite multiple times within a single tick would cause the value to be written multiple times within a single tick.
  • Fixed bug preventing ChuteBin from locking.
  • Fixed Logic Writer devices now no longer resend values on load.
  • Fixed Jetpack on/off state not persisting through save/load.
  • Fixed the moving item slot sound from playing to everyone, is now playing locally.
  • Fixed Bug where when loading settings, if the settings.xml file was present, but empty, it would still attempt to load utilize the contents causing errors. Now if the settings file cannot be loaded completely without errors the game will not attempt to use it.
  • Fixed issue where jetpack is invisible after dropping it from your InventorySlot.
  • Fixed player being able to pass through glass top of Sleeper.
  • Fixed player sometimes colliding with Sleeper when exiting.
  • Fixed bug that allowed frames to be built over dynamic crates.
  • Fixed issue where status' sometimes failed to redisplay upon opening a new world.
  • Fixed notification sounds spamming on game start.
  • Fixed corpses and unconscious players no longer blink.
  • Fixed memory leak when initializing game.
  • Fixed Music Volume slider not setting the volume correctly.
  • Fixed an issue with UI button hovering sound conflicting with itself.
  • Fixed Issue with the models for some paint cans not being correctly colored.
  • Fixed the sound channel displayed in the Audio settings.
  • Fixed broken button animation for Appearance in Settings
  • Updated Localization Files (Current 21st Jan)
Stationeers - Heightmare

A Look Back
This time last year we were just coming off the back of Early Access release, so where the last post took a look at where we were going, in this one I'd like to take a look at where we've come from.

Here's a summary of the major additions to the game while we've been in early access in the last 12 months. It's hard to even imagine the game without world atmospheres or the logic chip system now, so I can't wait to see what this list looks like at the end of 2019!

  • Logic System (followed 6 months later by the programmable IC's)
  • World Atmospheres
  • Mars, Europa and systems for planet Variation (day/night temperature curve, solar strength etc)
  • Hunger Mechanics
  • Third-person camera
  • Workshop support for mods and IC code.
  • Stationpedia
  • Scenario System
  • UI Refresh accross the board (menus, server browser, mouse UI, recipe selection, text entry for labeller etc)
  • Content (Plants, cosmetic cladding, wall types, weapons, planets, clothing/gear, structures)
  • Massive performance optimizations for terrain, and stuttering in general (with more to come)
  • And much more...

While many of these were things we had already envisioned, one thing we didn't count on was the massive level of support we've received from the community over the year. Stationeers is a challenging game, and teaching people how to interact with all the various systems will be an ongoing battle. The tutorial is on its 4th major iteration and certainly not the last, with a more fleshed-out tutorial campaign being planned for the new year. Personally, the thing I've found most endearing about the community is their willingness to answer questions on Discord, Reddit or the Steam Community board - but this is supplemented by a massive library of tutorials on Youtube. Add to this the team of dedicated individuals providing translations for the game in 14 different languages and thanks to everyones combined efforts the game is accessible to audiences it otherwise wouldn't be.

We would like to take a moment to acknowledge the outstanding work of one particular individual - Discord user Dragon, who took it upon themselves to configure a tool for localization tracking and support. This has provided a useful interface to track localization efforts of the game, giving volunteers a one-stop-shop for translating various pieces of Text from Stationeers into one of the 14 languages currently supported. This work would of course be all for naught if it weren't for the assistance of our dedicated translators. This is not a complete list, just those currently signed up to the tool and those responsible for some of the more recent submissions through the old Discord-based system. Apologies to anyone we've missed!

  • Dragon
  • EmreAdv
  • AstralWalker
  • DemonCZ
  • Croco
  • Mekko
  • socramazibi
  • semTex.
  • ShiaNox
  • Dax
  • STD
  • Harpi
  • lill
  • Spiike
  • vikjITA
  • Mustard
  • Daedalusxxx
  • comel11
  • -Ulitka-
  • organiq
  • Bonbon_kocher
  • Von Meister
  • samuelcseto
  • TFlippy
  • YuanYu
  • DinhoBRJ
  • Pip

And while on the subject of foreign-language support - A special shout-out is in order for the community of the Unofficial Stationeers French-Language Discord Server and to Tioris (Psi) who sent us this save showing his base ready for the holiday season.

On that note, the studio will be closed for the next few weeks, so we'll see you back in mid-January re-energized and ready to kick off another year of Stationeers development!

Version 0.2.1846.8518
  • Added logic type support for Pressure, Quantity, Temperature, RatioCarbonDioxide, RatioNitrogen, RationOxygen, RationPollutant, RatioVolatiles, RationWater, and RationNitrousOxide to TankLarge and TankSmall (reporter's credit to SunRazor)
  • Added a field to display your current system speaker mode found in the settings menu, under Audio.
  • Added UI audio feedback when moving an item to a hand slot.
  • Added Voice notifications now play once when enabled in the Audio Settings menu.
  • Updated Localized Text Dictionaries. (Current 10th December)
  • Fixed the MainMenu music still playing quietly even when the volume was set to 0.
  • Fixed command descriptions for the *al commands on the programmable chip.
  • Fixed a bug that prevented clients from selecting backwards on logic chips
  • Fixed Autosave running even on multiplayer clients if autosave settings were changed after you connected.
  • Fixed bug of players getting stuck on LadderEnd when trying to descend
  • Fixed un-localized text field in tutorial on powering your spacesuit stage.
  • Fixed bug that prevented players passing through the gap in the Ladder Platform
  • Fixed plants yielding between 2 and HarvestYield+1 depending on how they were harvested
  • Fixed a bug that allowed the player to have a fully grown plant in their hand
  • Fixed bug in which player getting out of chair would be instantly killed.
  • Fixed bug which allowed players getting off the top of ladders to clip through objects
  • Fixed bug that was causing setting input on logic batch writer to freeze game.
  • Fixed NullReferenceException error on Dedicated servers when trying to play some of the new slot interaction UI audio elements.
  • Fixed some of the IC chip instruction descriptions (reporters credit to EinBerliner)
  • Fixed added Plastic Sheets to first locker you find in the Escape From Mars scenario, as the recent addition of manufacturing machine build states had made it unintentionally challenging to progress without them.
  • Fixed issue with Tutorial caused by a change in how chairs are placed resulting in required suit filter being impossible to pick up.
  • Tweaked the look of the Tutorial panel to match the new look of the IC Editor help windows
Stationeers - Heightmare

Pressing On

Trying something a bit new this week. Normally we structure patches around one-or-two significant new features that have been added to the game. Unfortunately nothing is quite ready to release, but we do have a large number of small improvements, bug fixes and quality of life additions that I think everyone playing on the stable branch will appreciate. So here they are!

Update on Trading

We're going through adding functionality to what you can already do with the Communications Motherboard. This is mostly based around finding storage devices on the same data network and collating their contents. This will determine which items are available to trade. The means to transfer goods between yourself and the trade vessel will be pretty 'magical' to start with, but the shuttle landing process will be added after that.

Major Architectural Work

At this point of development it becomes clear what big packages of existing work needs to be reconsidered, because you get a better idea of what is fun in the game, where your performance problems are, and what is actually realistic to achieve. We've identified four key areas that we need to redevelop and are starting work to finish these off. Once these are done, we will have the broad platform in place for the complete game - and then just need to focus on the stuff around it.

Remember these are only intended plans and we go into them considering if they are possible. Where they're not, we will have to change and adapt, dropping what we can't do or what isn't fun. Don't consider these absolutes!

Zero-point Shifting

Our game engine (Unity), like nearly all others, uses "float" precision for "vectors" - vectors are used to position things in the game world. This means that each "number" in the position (x,y,z) has a fixed number of bits in which it can be stored. For a float that number of bits is 32. Each number in the position is effectively stored as two values: the "significand" and the "exponent". The significand store the significant digits of the number up to a fixed amount, and the exponent stores the order of magnitude of the number, also up to a fixed amount. In a float these fixed amounts are 23 and 8 bits respectively. Because a high value of the exponent results in the gap between numbers that the computer can represent becoming larger, the further the number is from zero the less absolute precision it has. The practical result of this is the as you get further from the origin (0,0,0) the physics objects start "shaking" because you don't have enough precision for smooth movement.

The solution to this is to abstract the "meta" position of the object (i.e. the position of it in the game universe) from the "rendered" position of the object (i.e. the position of the object in the game scene). This means when the player gets a certain distance from the origin we move the character back to the origin and adjust the position of everything else so those things keep the same position relative to the player.

In essence, it's a pretty simply thing to do. In practice, because position is handled nearly everywhere, it's quite laborious and fraught with bugs to implement.

What does this allow us to do? This allows us to offer much, much bigger worlds to the players. Allowing them to explore beyond the current limit before things break, which is 5km³. We need this for vehicles such as rovers, drones, air vessels, etc...

Multiplayer Netcode / Object Virtualization

The game sends a lot of data to clients. We're using the early unity version of UNET for networking, with a mix of high level and low level network messaging. Sometimes we have our own serialization of network messages and sometimes we use Unity's helpers to have it do the heavy lifting. This means we have a lot of memory turnover (garbage) and cleaning this up is what causes game stutter every few seconds. Network messages aren't the only source of this, but they're a major contributor. Even when playing alone the game runs as a server and sends messages to itself, so it still contributes to the problem when playing alone.

Unity is releasing a new network package soon, and we'll be evaluating whether to use that, or to abstract out objects completely. This means that, like the zero point shifting above, we might have game objects existing "virtually" in a universe sense as pure data constructs, and only turn them into "game" objects when we need to render them. This means we can have a "pool" of such objects and when we need to draw one, we simply apply the "virtual" objects details to it and plop it in world. This would give tremendous performance improvements, both in memory and in CPU. The result would be quite remarkable. But it's worth considering this is, in fact, a huge amount of work and quite risky.

We can't 100% commit to which option we choose, but at the very least some level of multiplayer refactoring will occur.

What does this allow us to to? Potentially tremendous performance improvement, not just for multiplayer but also for single player if game objects are virtualized. This means better frame rate and order of magnitude amounts of game objects that could be supported.

Session Abstraction

Big words! What does this mean? Simply put, this means cleaning up our quite messy initialization procedures when you start a game. We need to abstract out elements of this and clean it up. By doing this we really open up the door for what "types" of games we can support. Want to replay the same save again and again as a round like SS13? Can do! Want to make a MP deathmatch arena? Sure can! Want to create a coop-mission challenge? Yep that too!

What does this allow us to do? In addition to cleaning up the game setup and removing many pesky connection bugs, this allows us to restart the game while clients are connected, as well as support advanced gameplay modes such as round-based play.

Game-world Migrations

Off the back of the previous work, we want to be able to migrate one game world to another. We actually already have this work mostly done, and we were actually going to support it via migrating to new sessions. This meant four players could migrate to a new session when they wanted to take a mothership somewhere, but the other players in the world could continue. It "mostly" works. But it's really, really complicated. Complicated is bad. If this wasn't a niche game, we'd probably go down this route. But it's a niche game and we have to embrace that. This means we need to go for safe options, ones that we know we can do without over committing and not delivering.

So we're going to dial back that system a bit. You'll be able to take everyone currently playing, get on a vessel, and go to a new world. Using the session abstraction this means:
  • Save out what is going to the new world (players on ship, stuff on ship)
  • Delete everything except player "brains"
  • Make the new world
  • Create the stuff we saved out
  • Start the game
Sounds pretty simple right? Once we've done session abstraction, yeah!

What does this allow us to do? Away missions, basically. It allows you to continue game sessions over many worlds. Build a ship, fly it somewhere new, fly back to your old place. The main caveat we're likely to make is requiring everyone in the play session to migrate at once, rather than splitting the session into instances.

So while not a complete road-map, this will hopefully give players a good idea of what we're looking at working towards over the next few months. If you have any questions, hop into Discord!

*Hotfix* Version 0.2.1833.8470
  • Fixed bug that prevented second input on chips being set.

Version 0.2.1831.8467
  • Added new uniform models for when they're un-equipped to replace the original flat box models that they've had since release.
  • Added 'Appearance' button to the settings screen. This functions the same as the character creation screen that has always been accessible in-game, but sets a preset character that will be used when you create a new world. This will be extended later to work with joining multiplayer games.
  • Added Localized text (translation) support to the New World screen.
  • Added Atmospherics Tablet Cartridge can now be used to read the internal atmosphere of another Stationeer's suit. Good for diagnosing unconscious players! Thanks to Sim and Neouni for the suggestion.
  • Added dimmed backgrounds to all windows and dialog boxes to better prompt the user on what's currently interactable.
  • Added a define command to the IC that allows programmers to create constant values without using a register.
  • Added more sounds to UI including the character creation menu.
  • Added moustache facial hair variants for November.
  • Added in-game sounds for task, mission and stage completion, adding an object to your hand slot and opening and closing inventory windows.
  • Added some more missing interface sounds in the menus.
  • Added Holding the smart-rotate key as a modifier (default: C) now lets you loop through logic device pin options backwards.
  • Added Green as a new available hair colour.
  • Adjusted Prompt, Alert and Confirm dialog boxes to be more consistent with each other and adjust their size to the content inside better.
  • Adjusted IC Script Editor window layout to be more consistent with other windows in the game.
  • Adjusted Text Input window layout to be more consistent.
  • Adjusted max radius an many looping sounds to reduce sonic clutter. WIP.
  • Adjusted IC help windows to be longer, showing more items.
  • Changed Debug Log file entries to exclude some unnecessary data and replace it with some metrics that are more useful for troubleshooting, like server type and loaded mods. The game log file can be found in %userprofile%\AppData\LocalLow\Rocketwerkz\Stationeers\output_log.txt and is immensely useful if you're reporting a bug - particularly ones where an error was displayed in the lower-left corner of your screen.
  • Improvement IC better supports coding with enum values.
  • Improvement Devices on device pins are now sorted unibetically (= alphabetically, give or take).
  • Updated Localization Files (Current 29th November)

  • Fixed text jumping around when resizing the Stationpedia.
  • Fixed a pretty major issue with a 'default active' sound that was causing it to use up all available sound voices, preventing any other sounds from playing. Complex stations should now sound much better, but there is still WIP on this.
  • Fixed a bug where combining pipe networks wasn't calculating new combined total atmosphere properly.
  • Fixed a bug where removing a pipe from the end of a network would clear the atmosphere contents.
  • Fixed a bug where removal of a pipe from a network wouldn't divide up atmosphere properly.
  • Fixed the documentation for lr on the IC.
  • Fixed Dynamic Hydroponics attached to a Tank Connector not being removable, due to not having an animation controller.
  • Fixed Prompt dialog boxes jumping in size occasionally.
  • Fixed bug in which battery wall light would drain power even when off.
  • Fixed bug in which battery wall light would remain on even after battery discharged.
  • Fixed Digital Valves are no longer forced into an error state by being fully enclosed in a frame.
  • Fixed Issue starting new worlds due to previous WorldSettings change and dependency on worlds names not being changed.
  • Fixed sound clashes in the main menu.
  • Fixed inventory sounds playing at once when you start a new game.
  • Fixed issue with new moustache variant for third face style.
  • Fixed error whenever destroying the Portable Solar, as it was trying to start generating power, despite it being in the process of being destroyed.
  • Fixed the majority of misaligned and overflowing text within menus and on buttons. Text should now autosize and stay within their bounds. Especially noticeable when using a localized language.
  • Fixed Error when trying to recycle the Portable Solar, as it was trying to run solar-charging code like whenever you drop it, despite it being in the process of being destroyed.
  • Fixed instances where duplicate sounds were playing when navigating menus.
  • Fixed Issue with the full beard on one of the face variants not displaying properly.
  • Fixed issue on loading characters where organ creation could fail, resulting in immediate death.
  • Fixed NullReferenceException error that could occur if the UI Audio Manager attempted to play audio before it had properly initialized.
  • Fixed a bug in which the GasDisplay could show incorrect units if cycled through temperature (finders credit to EinBerliner).
  • Fixed incorrect close tag in ChangeSettingToFor value.
  • Fixed bug on IC where defines weren't storing hashes correctly.

Stationeers - Heightmare

Mostly odds-and-ends this week, with a few new quality-of-life features and fixes but mostly just building on the foundation of the game. Things like the military gear may not obviously fit into most of the game as it stands, but the less obvious things like the new character rig will greatly improve our workflow for working with characters down the line. Audio work continues, with the newest member of our team taking the opportunity to familiarise themselves with the basics of the UI and Audio system in game before moving onto some of the more challenging development areas.

Additionally, we're rapidly approaching the end of our first year in Early Access. We'll be putting together a brief video looking at what has been achieved throughout the year and what the future will bring for Stationeers. You can expect to see this in the next few weeks.

New Character Rig & Marine Gear

Later in development we're going to want to add more variance to characters with gear options and role-based outfits. In order to prepare for that, we've fixed a long-standing issue with the character rig, which should resolve several outstanding animation/appearance bugs, mostly affecting female characters.

Audio Improvements Cont.
We're continuing to fill the void that some players may have noticed, with the addition of interface audio to the settings screen. This work will continue over the following weeks with the mission/task UI and inventory receving some long overdue audio feedback. After that's out of the way we'll move onto some of the more technically challenging sound implementations to round out this so-far neglected aspect of Stationeers.

Hotfix Version 0.2.1814.8357
  • Fixed Null Errors that could be encountered on load due to issues getting an invalid game install path from Steam.

Version 0.2.1812.8352
  • Added Wall Light Battery variant. This has only a data port, but takes a battery as a power source so is useful as an emergency or temporary source of power.
  • Added Suit Storage will now recharge batteries that are put in it, including batteries inside head torches and marine helmets.
  • Added new character rig and models. This is a visual improvement to provide a better and more consistent visual result for characters, while still using the same rig for both male and female.
  • Added Marine Helmet, Armor, and Uniform. Constructed on the Tool Manufactory. Helmet has a battery slot, and a lamp. Armor has four internal slots for storage. Currently does nothing special this is the first pass and will be extended later.
  • Added first pass of controller support. Currently no defaults, so you have to set your own axis definitions. Added button images for Xbox One Controller (other controller image support to come later).
  • Added Major refresh of Localized text files. Untranslated keys are no longer included in every XML file, as missing keys now default back to english. See the #localization channel in Discord for more details.
  • Added branches and ternary operators to the IC to complete the missing ones.
  • Added interface audio to the settings menu.

  • Improvement JumpTags can now be used as variables on the IC. The value of the variable is equal to the line number the tag is defined on.
  • Changed Plants no longer take damage from being in an atmosphere that doesn't contain what they need to breathe. They'll still take damage incorrect temperatures, presence of toxins or lack of water, however.
  • Updated Localization Files (Current to 10th November)

  • Fixed Disk Slot on Air Conditioner and Wall Cooler allowing any item to be inserted.
  • Fixed Re-scaled audio settings sliders to a max of 100, this being identical to what was previously the default setting of 80. If you had volumes below the previous default value they will have been scaled accordingly, so no volumes should be any different unless you were using settings above 80.
  • Fixed issue where IC housing dropdown list entries were not cleared when removing a ProgrammableChipMotherboard from a computer, leaving them visible in the world and attached to the motherboard.
  • Fixed slightly less shadow from helmet when looking at player shadow. Was caused by incorrect layer assignment on one of the scene directional lights.
  • Fixed skin color not changing to correct body when wearing uniform. Now skin correct color on hands and arms while wearing uniforms.
  • Fixed Headlamp not counted as a "light" for the purposes of the Light key and status indicator. Now all helmets with lights, and headlamp, will be togglable with this.
  • Fixed bug where powered item status indicator would stay on when dropping an item while it was turned to on.
  • Fixed Randomize button in Character Creation screen did not randomize all attributes. Also did some slight optimization on character creation screen. More to come with this.
  • Fixed StationContact buttons now more clearly display whether or not they're within contactable range.
  • Fixed issue dropping objects since yesterdays beta update introducing controller support due to it still using an old input system.
  • Fixed DynamicCrate missing Lock interactable, causing Debug.Log spam and lowering FPS when looking at crate.
  • Fixed a bug in which a graph with a line y=0 would prevent interaction with consoles on either side of it.
  • Fixed Jetpack animations for directional movement not working properly due to controls refactor.
  • Fixed Playing of interface audio, game sounds and voice notifications are now gated behind checks that your master volume and volume for that particular channel is above 0.
  • Fixed Tooltip Opacity slider values not rounding correctly.
  • Fixed a big frame counter running in duplicate and reduced more memory allocation.
  • Fixed Volume scale readjusted to now bottom out at -40db instead of -80db, making more of the slider range useful.
  • Fixed a item kit composite floor grating bug where the kit claimed there were five options rather than the actual four.
  • Fixed Game now more gracefully handles instances where Steam isn't running, displaying a prompt rather than just a wall of log error text.
  • Fixed invalid construction option entries on ItemKitBasket and ItemKitWallIron (Thanks supakadai & Sli in Discord).
Stationeers - Heightmare

It's been a quiet week or so and with some of the team taking extended breaks we were fairly light on the ground - but we made some good progress on the trading mechanic and have a few other surprises.

Interstellar Communications
One thing we've been working towards through early access is a way to give the end-game further meaning. You've mined everything valuable around your starting area. You've built an impressive base with all the requirements for survival comfortably taken care of. You've built redundancy and automation using all the tools at your disposal - what is there to do next? We've got several ideas for expanding on late game life, and Interstellar Communication touches on several of them.

As described several updates ago, we're working towards what we've dubbed the 'Trader Mechanic', but the final implementation will actually support far more than that.

In creative mode you can now spawn in construction kits for Satellite Dishes and a Communications Motherboard. A Communications Computer will display all of the contacts that could be reached by all Satellite Dishes on its network, and the signal strength to each. You can adjust the angle of your Satellite Dish in order to improve the signal to available contacts or find new ones. In time, you'll be able to use logic to streamline this process like on all the other devices in the game.

The next steps we'll be implementing will allow you to, given a sufficiently strong signal, initiate contact. This may just be for information (ie. reports from weather satellites) or to accept trade offers or visitors assuming you have a powered, connected and accessible landing pad (also currently available in Creative Mode).

As with all our new features, portions of the complete feature may be accessible while it is still a work in progress. We encourage you to try it out, report bugs and let us know what you think on Discord!

Alien Mushrooms

To demonstrate some of the flexibility of how some of the systems in Stationeers interact, we'd like to introduce the newest member of the botanist/atmospherics engineer toolkit - the Alien Mushroom. This functions in much the same way as existing plants, however instead of breathing in Carbon Dioxide and exhaling Oxygen, these will inhale Nitrous Oxide and exhale Nitrogen and Oxygen. This serves as a proof of concept for allowing us to easily change the gas mixtures inhaled and exhaled by plants, for which the next step will be to expose these values to mods.

Stationpedia Expansion

As promised, Rocket has continued to expand the Stationpedia to now include information on Alloys, and applied a few usability improvements as well. The color scheme has been changed again to improve the readibility of some elements, but may still be subject to change based on peoples feedback. It will also now automatically appear when beginning the tutorial or your first game. For those who have been asking about how to translate this, once more of the guide is complete we'll be making it available through the localization system so you'll be able to help translate it into your preferred language.

Version 0.2.1791.8240
  • Added Alien Mushrooms. Alien Mushrooms breathes in Nitrous Oxide and breathes out Nitrogen and Oxygen. This is a first pass for plants breathing custom gas mixes.
  • Added Alloy information and list to Stationpedia.
  • Added Tutorial and new game Stationpedia will now popup with opacity set to none by default, to make it easiest to read it.
  • Added second pass on Satellite Dish. Vertical and Horizontal can be set, in a similar way to the Solar Panel.
  • Added first components of the systems supporting Interstellar Communication to creative mode.
  • Added RatioNitrousOxide LogicType to logic-enabled atmospheric devices.
  • Added Door Setting variable can now be set by Logic.

  • Changed approximate checks on programmable chip from using |a - b| < e*max(|a|,|b|) to |a - b| < max(e*max(|a|,|b|), float.epsilon * 8) to avoid it wigging out when a or b are near 0.
  • Changed GraphDisplay so that graph runs from left to right, and reduced wasted space on the plot by removing above/below the x-axis if no line is plotted there
  • Tweaked and adjusted the layouts of the Settings screens so they're easier to read.
  • Updated text input fields to now animate while hovering over them.
  • Improved server messages. Server messages (shutdown notifications, server notices etc) now show up in the chat window as well.

  • Fixed Doors not reset Setting to new Open state, so it assumed actions must be taken (Credit: Risu)
  • Fixed Player State Window (top right) now displays temperature as "not a number"(NaN) when in a vacuum.
  • Fixed Player State Window color values not being initialized, and only updating correctly on first change.
  • Fixed Aliases being cleared on reset for IC Chips (Credit: Risu)
  • Fixed Beta bug where NaN was displayed when below 0 celcius, not invalid temperature. Now displays Nil (localizable) correctly for invalid temperature, instead of 0 which it displayed previously.
  • Fixed syntax highlighting bug in programmable chip editor that would cause things like `# O=k` to display tags, and `# 0=kelvin` to not be coloured correctly.
  • Fixed a bug where players could use RTF markup to highlight their own code.
  • Fixed the incorrect display on the computer monitor of IC source code.
  • Fixed Rotated filter slots on the large gas filter so their label is visible.
  • Fixed NullReference on generating terrain while flying faster than it could generate.
  • Fixed a couple of null reference exceptions caused by the interim commit of the trading mechanics.
  • Fixed Stationpedia window was not correctly initializing centered.
  • Fixed an animation delay when hovering certain buttons in menus.
  • Fixed occasional error for some players when populating Stationpedia data resulting in none of the text being loaded for any language. Will now display an error and continue loading normally.
  • Fixed reagent coloring in help system was a dark purple that was nearly always hard to read. Has been replaced with magenta to help with reading.
  • Fixed two matching filters show up as a warning (Credit: Risu).
  • Fixed visual blueprint missing for Portable Solar.
  • Fixed NitrousOxide filters were removing Nitrous Oxide from the input pipe correctly, but would add Water to the output instead of Nitrous Oxide.
  • Fixed tutorial required player to keep Stationpedia window open at all times during microwave task. Now player only needs to open it, and if they want to have it closed during the rest of the task they can.
  • Fixed WallCooler being an amazing heater in Europa. WallCooler efficiency drops as the temperature difference becomes too large. If the waste network becomes 100 degrees warmer than input, efficiency begins to drop until zero at 200 degrees.
Stationeers - Heightmare

Update on Trading & Surgery
Immediately following last weeks patch a few nasty issues surfaced as a result of the engine migration, but they've been tackled and we're able to refocus on the trading mechanic. The new UI capabilities we have thanks to the addition of the Stationpedia will be a big part of that, so keep an eye on the beta branch for the latest on our works in progress!

It's only been a few days since our last hotfix, so not a massively dramatic update this week - however there is one very important things to note.

CAUTION: Back in September a change had the unintended result of canisters no longer taking damage when over-pressurized. This update includes a fix for that.

Besides that, we got a lot of fixes in for non-critical-but-annoying bugs, some that have been around for a while. The save process has been made much more robust, with more checking done when saving to ensure things are working and better error reporting when it doesn't. It also won't overwrite files if there are any problems with the save process.

Dedicated server is still a work in progress, but some of the outstanding issues with Integrated Circuits and Atmospherics (specifically, welder gas tanks) on dedicated server have been resolved. The remaining major bug relating to vanishing items on dedicated is proving more of a challenge, so if you happen to have a reliable set of steps and a world save to reproduce this issue we'd love to hear from you on Discord!

(Another) Tutorial Refresh
And surely not the last! We've expanded the tutorial to include build states for machines. Expect it to be expanded further in the future to integrate the new help system.

We've implemented an entirely new in-game help system - Introducing the Stationpedia! It can be accessed using the F1 key and is a nice simple way to view game information without having to alt-tab. You can click on most objects to link through to other ones for all raw materials, gases, crafting kits, structures, their recipes and the values they have that are exposed to logic. This is definitely not an exhaustive list and we'll constantly expand on this as we (and you) think of more data to add. The window can be resized, and there's an icon in the top right corner that will let you toggle transparency.

Version 0.2.1772.8154
  • Added game version now stored with IC Source Code to help track down issues and in case we need to do special version handling later.
  • 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.
  • Added opacity toggle and help buttons to tutorial window.
  • Added deconstruction information, similar to construction tooltip. When a tool is in your hand, and Extended Tooltips is enabled, you will receive information on what tool is required (if any) to deconstruct the structure you are looking at. To disable this, turn off Extended Tooltips in the settings menu. This will help when deconstructing items as it tells you what tool to use.
  • Added Operate and Logic modes to all doors. When set in Operate mode (0; the default) the door works normally. When set to Logic mode (1), using the doors buttons will ignore open/close requests and change the "setting" variable, depending on the open state. If the player presses the button and the door is open, the setting will be set to 0. If the door is close, the setting will be set to 1. This allows you to manually control doors using it's buttons, instead of using the doors internal operation.
  • Added 'Mature' logic slot type. Will return 1 if the plant growing in the tracked slot is in a growth state flagged as 'Mature', 0 if not.
  • Added MaxQuantity as a LogicSlotType. You can now read both the Quantity and MaxQuantity of a slot for easy Diode displays!
  • Added Nitrous Oxide to Silver and Lead ore output.
  • Added Reagent, Gas, and much more information to Stationpedia. Now detailed information is available for this. For example, the Reagent and Gas pages will tell you what objects the reagent/gas is found in.
  • Added Autosave support for new worlds. If you don't have a current save slot set (by saving the world manually) and your autosave timer is reached, a new save slot will be created.

  • Improved garbage collection during terrain generation by pooling and reusing terrain chunks through the implementation of a 'Terrain Pool Manager'.
  • Improved tutorial significantly. Integrated it with the Stationpedia, so that players can click on highlights to get taken to more information.
  • Removed Tablet from tutorial. Instead tutorial covers recipes within the Stationpedia.
  • Changed WaterFilter in starting equipment to a ItemKitSensor to replace the one removed a couple of days ago. Water filter no longer required due to a water canister being included with the portable hydroponics added to the starting gear several weeks back.
  • Changed dedicated server. ClearAllInterval now treats zero or negative values as 'don't run ClearAll automatically'.

  • Fixed inability to create new entries in the code library due to the code input window obscuring the text input window.
  • Fixed NRE on dedicated server regarding elevator shafts.
  • Fixed IC Operations BDNSAL, BDSEAL, BEQAL, BGEZAL, BGTZAL, BLEZAL, BLTZAL and BNEAL branching to the incorrect line. [Credit: Risu]
  • Fixed the 'Setting' value on CircuitHousing not persisting through save/load due to CircuitHousingSaveData being a child of StructureSaveData instead of LogicBaseSaveData. [Credit: Risu]
  • Fixed IC housing losing device references on load on dedicated servers.
  • Fixed Logic Dials visual position not being updated on load. [Credit: Risu]
  • Fixed Automated Hydroponics not being paintable. It can now be painted like the other hydroponics structures.
  • Fixed welders not working on dedicated.
  • Fixed changing Autosave settings while the game is running not applying any changes. Autosave can now be disabled or have the interval changed after you start your game.
  • Fixed bug with chunk pool could not be reused.
  • Fixed problem where if the save process failed for any reason, you would not be able to try save your world again until you relaunched the game. You will be notified in the console if a save fails.
  • Fixed problem where incomplete saves may still overwrite existing ones. Now, as it saves each file of a world save they'll be given a temp_ prefix. If all the parts save completely, they'll replace the existing save files. This does not affect the contents of the backups folder.
  • 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.
  • Fixed problem with dragged 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]
  • 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.
  • 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.
  • 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.
  • Fixed could access buttons on simple manufacturing machines while still building them.
Stationeers - rocket2guns

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.
Stationeers - rocket2guns

For the first time in many months, we're not doing a weekly update! Before anyone posts about the project being abandoned, let's talk though the good news about why that is!

Upgrading our Engine to latest version

Most importantly, and most significantly, we are making a major upgrade in the engine. We have made the game using Unity. We locked the unity version a month or so out from our initial launch which means we haven't continued to upgrade the engine since then. Why is this? Well, engine version changes can cause a lot of headaches. While they do contain lots of bugfixes (good!) they often necessitate changes in how things work (bad!).

There was also a significant change in pricing for Unity which was going to have some pretty huge ramification for the cost of our project. This is a very niche title, that's likely to run very close to only break even. We have to buy licenses for not only the people developing the game, but even our build servers! So it adds up pretty quick.

In the end, the benefits of this project being like others in our studio (which had moved to Unity 2018), and the fixes and new features of 2018, meant that we needed to upgrade. And so we have. Heightmare did the initial test, porting over and changing what was needed. Then we started migrating all the team, and our build servers. We've got all the hard parts of that working to the point some in the community are actually testing versions of the game running in the updated engine. Now we're just finishing the upgrades to our automated build and deployment system so it works with the new Unity version.

What are the results? Well, quite staggering really. Load times for a community provided large map were reduced from 5-10 minutes to seconds. There are other areas we'll have significant improvements in that will be more appreciable over time.

Trading and AI missions

If you've played RimWorld, you know how well trading can factor into to these kinds of game. So we wanted to start looking at what trading could look like in Stationeers. A form of trading is also key in our inspiration, SS13, so we felt it was a necessary component before we could replicate round-based play of Stationeers as well.

The initial groundwork has been done, the models have been made, which means we can begin the implementation in the coming weeks. It will involve placing down a landing pad. Placing landing "beacons" which would guide AI aircraft in, and then placing a communications relay which allows you to talk to these traders. You need to make sure the path you set is clear, or the AI craft will crash and not want to trade.

Initially it will just be trading, once that works out, we'll look at how the mission system (already implemented) can be extended to include people coming in via these ships. Perhaps you need to escort a scientist out to a remote area, or find someone lost and then recover them to a rescue ship, and so on.

Surgery and Medical

The medical system seems very basic. You get hurt, you take a pill. The reality is the system behind it is actually well fleshed out - it's just the "healing" that is simplified. You have organs, they take damage. So we want to expand this and surgery is seen as a key component.

It's a good chance for to examine: how do we get key mechanics into the game? Well, simply put - we play games! For me, SS13 in particular Paradise Station has been a surgery system I really enjoy. I play on that server as a Surgeon often; so I'm very familiar with how fun it can be. We discuss those ideas in an open forum, and often break out to a whiteboard to discuss the implementation. Then it gets captured on an internal intranet, tasks get assigned, and the work begins in earnest.

When will we see this in? Good question! The answer is really "it depends". Really what affects it most is how stable the build is, how well the engine upgrade has gone, and how bad stuttering is in the game.

Some weeks, people complain about us having new content coming when there are still bugs - assuming this new content takes people away from fixing bugs. That's seldom the case, we prioritize bugfixing over new features. New features and content get implemented because: the programmer doing it needs a break (something fun), implementing it takes a very short amount of time (variations of existing things can take only 10-30mins to implement), others are working on core aspects of the game so the programmer isn't able to do bugfixes till they're finished.

So how are we doing?

We're pretty upbeat actually! The project is in a good place, it's fun for us to add new things because we've ended up refactoring most of the really troublesome things. We are left with a few hard ones: such as stuttering and whether we completely replace Unity's networking API with our own solution. We also have big design decisions to make, some community suggested such as how much more "science" we model with things like pressure and temperature.

What is most fun, at least for me, is going into the game and adding new stuff and then seeing people play with it. And with a good foundation, we're able to do that much easier. We got some rough feedback early in the project, and updates were a lot slower. But that's just because we took on the biggest tasks first. And that's a tough part of early access, consumers aren't really ever exposed to these realities and as a developer: you can be rewarded for having a short time "more content" focus rather than a long term "better architecture" approach.

Please consider leaving a review on the project! It's really good to get feedback and review score makes a tremendous difference. Whatever review you leave but especially if it is not recommended, please leave some constructive thoughts. There is, for example, a recent negative review saying that the game doesn't run on Linux for them. We think that's a bit unfair, as the game isn't listed as supporting Linux. We see significant drops in sales based on even a few negative reviews. Some people do change their reviews, if they listed specific things and we go in and address them


So that is a pretty good overview of where we are at, and where we are heading for the next few weeks and months. Please let us know your thoughts, and get involved on the forums and discord!


Search news
Nov   Oct   Sep   Aug   Jul   Jun  
May   Apr   Mar   Feb   Jan  
Archives By Year
2019   2018   2017   2016   2015  
2014   2013   2012   2011   2010  
2009   2008   2007   2006   2005  
2004   2003   2002