1. Stationeers
  2. News

Stationeers News

The Farming Update Part II: Balancing & Bugs

Continuing to expand on last week's update, we've added some new features to how plants process light and made some quality of life changes to the plant tooltips. We've also focused on general big fixing.


Plant Light Changes


Sunlight and grow lights now both scale the amount of time the plant has received light for, based on their solar intensity. Sunny planets like Vulcan receive a 150% multiplier to time spent in light, while distant, cold planets like Mimas only receive 18% of the time spent in light. Plants grown solely from the sun on distant planets may become extremely stressed, and struggle to mature. Grow lights have been reduced to 80% intensity.



Fortunately, grow lights now cumulatively add light to plants in combination with the sun. Hydroponic setups with both exterior windows, and artificial lighting will often have an edge in meeting a plant's light requirements. Additionally, we've added the ability for plants to get an extra growth bonus for extra time spent in the light. Some of the longer growing plants, corn and pumpkins, have had their required darkness lowered, so you can give them extra time in the sunshine.

Keep in mind that plants still need a rest period out of light, and wont get growth bonuses when stressed from lack of rest. You may want to automate the process with solar sensors, timers, or just an old fashioned light switch.

The several plant entries have had descriptions updated in the Stationpedia, to point out the nuances of several plants, and give players an idea of what growing the crop may entail.


Plant Names


Plants can now be given custom names using the labeler. Additionally, when you use the labeler to give your planter a custom name that name will be passed on to the plants as well. This will help with organizing your farm and save getting your plants mixed up.


Localization


We've done a lot of work on getting more localization coverage. Work is continuing here but the changes have not yet been exposed. In the coming months we will be putting more effort in to this area, so watch this space.


Saving Bug Fixes


There was a number of nasty bugs around saving that was causing corrupted saves and resulted in some weird behaviour after loading them again. The Discord integration was sometimes causing games to fail to load, this is now being handled correctly so you can continue to load without Discord integration.

Some people were experiencing empty tanks, or rather missing thing atmospheres, after loading a game. We've implemented a temporary fix for this and are hunting down a permanent solution. If you are still experiencing this then please do report it.


Your support makes this possible


The major refactor has been a huge milestone for us and we think you can see the tremendous impact that it has had. Your support through bug reporting, suggestions, and direct involvement with our team on discord make a big difference.
[h3]If you like the progress we have made, please consider taking a moment to leave a positive review. This makes a great deal of difference to the project. We have worked hard on this project now for five years, and we feel confident the game has substantially improved from when we started. Many projects steer clear of the hard tasks, and we are proud to have taken them on.[/h3]

Additionally, you can support us by purchasing the DLC we made to allow those who like the game to support us, and in return get something a little fun to continue to use in the game.

https://store.steampowered.com/app/2089290/Stationeers_Human_Cosmetics_Pack/

https://store.steampowered.com/app/1038400/Stationeers_Zrilian_Species_Pack/

https://store.steampowered.com/app/1038500/Stationeers_HEM_Droid_Species_Pack/

Change Log v0.2.3678.17897
  • Updated plant tooltips to be more compact and only convey verbose information when something is wrong
  • Improved stationpedia layout for plants that interact with multiple gasses.
  • Fixed trader throwing error when no comms motherboard is inserted into computer
  • Added Plants now can get extra sunlight per day, giving them a growth bonus, only if their required darkness time is met.
  • Added Plants now normalize their lit time to the strength of the light source. Growing plants on planets with low solar intensity will require more light time.
  • Added Plants can now cumulatively have the sun, and a single grow light applying light to them.
  • Changed The basic grow light to only provide light at 80% Intensity.
  • Reduced Corn and Pumpkin's minimum darkness, to allow them to gain larger growth bonuses from extra light.
  • Updated individual plants stationpedia entries to highlight design intent/differences.
  • Fixed stacker tool tip showing quantity twice
  • Added in some missing text in stationpedia and tutorials
  • Fixed Centrifuge sometimes throws error when exporting processed dirty ores.
  • Added more detailed exceptions within Asteroid.SetMineableRenderers() to try track down a bug
  • Fixed 5-way cable junctions reduced to 3 from 4 cables to be the same as 6-way junctions.
  • Fixed GameStrings key issue
  • Fixed Error when reading collectableGoods on modular rocket before it has been launched (will now return false).
  • Removed hard coded failure strings from tooltips into GameStrings
  • Fixed split stacks only going to the left hand. Split stacks will now go to any free hand or merge with a stackable in hand of the same type. If none is found the split stack will be dropped on the ground.
  • Moved success tooltip messages into append message method
  • Moved more tooltip strings into GameStrings for localisation
  • Made sorter filter scroll bar slightly wider
  • Fixed 'stormend' command not working correctly. Replaced 'stormbegin' and 'stormend' commands with 'storm start' and 'storm stop'. Stop command will now correctly stop the current storm.
  • Fixed Spelling error in Plant tooltip.
  • Fixed Instance where a save with a lower than expected number of serialized trader contacts would fail to load.
  • Fixed game string key double up
  • Added missing mushroom recipes
  • Removed obsolete class HelpTextDevice migrated to GameStrings
  • Moved more hard coded strings to GameStrings for tooltips
  • Fixed ArgumentOutOfRangeException thrown by Comms-motherboard when save contains erroneous trader contact data. Data will now be parsed correctly and erroneous data discarded.
  • Fixed NREs when clients plant plants
  • Fixed delete plants being called on client
  • Fixed labelling plants on clients bringing up labeller window on server.
  • Added Plant Genetic Analyser will now show the name of the plant that the sample came from.
  • Added Plants and seeds can now be given custom names with the labeller. When labelling a stack of plants all items in the stack will receive that name.
  • Added All planters can now be named with the labeller. Plants in the planters can be renamed by targeting the plants slot with the labeller.
  • Added Plants will retain custom names when planted and pass on custom names to harvested child plants and seeds.
  • Added Plants in a planter with a custom name will have the planters custom name appended to their custom name i.e PotatoGeneStock02_PlanterA
  • Added Stacked Plants will retain their custom names in the same way as they retain their genetics data.
  • Removed IsCustomName bool. It is more robust and performant to use !string.isNullOrEmpoty() instead.
  • Converted ConsoleWindow GameStrings to Localistaion2.GameString
  • Removed Thing overloads in GameString.AsString() to use the string casting at the high level to avoid excessive overloading or boxing
  • Fixed audio related NRE that sometimes occurs during loading save
  • Added cancel button to the 'this save is old' warning popup
  • Disallowed saving when game state is 'loading' and in a few cases were the directory may not have been established yet
  • Added partial fix for tanks being empty when starting a new game. Now, the game will be saved after several game ticks (instead of immediately) to let atmospherics settle
  • Potential fix for locking issue for cable networks while client is in join process. STAT-2875.
  • Re-ordered chutes in chute kit. New order is: straight, corner, window, junction, flipflop, valve, overflow, inlet, outlet
  • Rounded values on the plant genetics panel to make it easier to read
  • Fixed NRE RocketTankModules when loading game causing load failure. Fixes STAT-2862.
  • Fixed Chute digital Flip Flop Splitter Left is missing from building variants
  • Fixed issue with IC dropdown being covered by text area. Turned off raycast target on text area.
  • Removed deprecated incidents menu
  • Fixed formatting and changed text on the Laptop's Stationpedia page
  • Added further messages to plant tooltip to let players know when the plant is not yet mature or not yet seeding
  • Fixed game strings variable indexing causing issues with localisation in tool tips for plants
  • Removing mothership references in stackable
  • Fixed plants replenishing their fruit on loading save. Will now load with the correct number of fruit.
  • Fixed Colliders disabled on window shutter glass.
  • Changed multiple hardcoded strings for tooltips to GameStrings for localisation. Still many more to go.
  • Fixed Sun is not visible through window shutter when open.
  • Fixed Discord error that could cause save games to fail to load. Error is now handled correctly and game will continue to load without discord integration.
  • Fixed Seed bags get deleted when exported from silo.
  • Fixed Stacked cooked foods don't become decayed when put into silo.
  • Fixed Soups and cereal bars can now be stored in silos (they previously turned into decayed foods)
  • Fixed plant sampler battery slot trigger not allowing you to insert battery with single click
  • Fixed plant sampler display text staying visible when battery is removed
  • Fixed Recursive power networks will now blow fuses instead of a cable if a fuse is present on the cable network.
  • Fixed Potential fix for comms-motherboard throwing error when printed.

The Farming Update

In The Farming Update we've made some big changes to how plants grow, adding new challenges and rewards. These changes include slowing down the growth time, a new genetics game loop, more nuanced environmental impacts on the plants, and the introduction of perennial plants. We wanted to achieve a feeling of involvement with farming and a sense of reward for being attentive and providing the right conditions for your plants.

This update has taken longer than normal but has laid the foundations for the next few updates that will build upon these game loops and you can expect to see more content around hydroponics and food.

Increased Growth Time

Base growth times have been increased for all plants, some significantly. While potatoes remain an easy single day staple food, others, such as the Tomato and Pumpkin plants have a base growth time of 12 days.

Base growth time will now be affected by a number of factors including the environmental conditions and the plant's genetics (more on that below).

Perennial/Annual Plants

Along with long growth times, the tomato and pumpkin plants have been changed to be perennials. This means that once fully grown the fruit can be harvested and the plant will start producing more fruit without having to go through the entire growth cycle again.

Genetics and Growing Conditions

Plants now have a range of genes that affect the growth of the plant. Each plant will pass on its genes to fruit and seeds with a small mutation. A plant's genes can be affected over its lifetime depending on the conditions it was grown in. For example if a plant is deprived of water for a significant portion of its growth cycle then it will be more likely that following generations will require less water to grow.

While putting a plant under stress to manipulate the genes might result in the next generation of plants being more hardy, the plant will take longer to grow and its yield will be lower. Conversely, ensuring that the plant is within the ideal ranges defined by its genes, will make the plant grow the fastest it can and produce the highest yields.

We’ve added a section to all plant Stationpedia pages where you can find each plant's base growth parameters. There’s also a new Genetics Stationpedia section which includes a description of each gene.

Plant Sampler and Plant Analyzer

These two new objects will help you to choose which plants you cultivate and you can strive to create perfect plants that will thrive and grow quickly.

The Plant Sampler is used to take a sample of a growing plant. The Sampler is then plugged into the Analyzer and after a short time you will be able to see a full breakdown of the genetics of the plant. You can then cultivate the seeds from the best plants to use in the next generation.

Your support makes this possible


The major refactor has been a huge milestone for us and we think you can see the tremendous impact that it has had. Your support through bug reporting, suggestions, and direct involvement with our team on discord make a big difference.
[h3]If you like the progress we have made, please consider taking a moment to leave a positive review. This makes a great deal of difference to the project. We have worked hard on this project now for five years, and we feel confident the game has substantially improved from when we started. Many projects steer clear of the hard tasks, and we are proud to have taken them on.[/h3]

Additionally, you can support us by purchasing the DLC we made to allow those who like the game to support us, and in return get something a little fun to continue to use in the game.

https://store.steampowered.com/app/2089290/Stationeers_Human_Cosmetics_Pack/

https://store.steampowered.com/app/1038400/Stationeers_Zrilian_Species_Pack/

https://store.steampowered.com/app/1038500/Stationeers_HEM_Droid_Species_Pack/


Change Log v0.2.3667.17838


  • Changed `nodiscord` arg to be single dash to be consistent with rest of args. Double dash will still work. `-nodiscord` or `--nodiscord`
  • Fixed input/output tooltips not showing when pipe is connected.
  • Fixed editor using namespace not wrapped in #ifdef
  • Removed Discord SDK to test if crashing issues stop for some players
  • Added ability to read cryo tube temperature and pressure from logic
  • Fixed `-difficulty` command so it can be used at launch time for dedicated servers.
  • Ice will no longer melt when moving between chutes and certain devices (furnace, silo, sorter, stacker, unloader, vending machine)
  • Converted Tomato and Pumpkin plants to be perennial
  • Changed Seeding stage to be after Mature (harvesting) stage for Tomato and Pumpkin plants
  • Added a small amount of RNG to plant growth time to add variance and make growing a larger number of crops feel more organic.
  • Fixed compile error caused by bad merge
  • Refactored plant status system to support plant rebalance.
  • Added Plant helper classes to support life balance changes.
  • Removed fertiliser effect on food growth temporarily.
  • Reverted fertiliser change(rev 17702)
  • Added back DiscordSDK
  • Fixed discord crash. Caused by null pointer after a discord internal error. Have improved our Dispose method and added an extra init check in lobby creation
  • Fixed NRE stopping tutorials to load
  • Fixed a couple NREs from smelting tutorial
  • Improved exception handling at GameManager.Start()
  • Fixed characters staying standing up when they RagdollPart
  • Added play names to skeletons and skulls
  • Added missing discord sdk meta file
  • Increased threshold at which atmosphere fires will completely combust all contents to help prevent overly persistent fires.
  • Reverted thing fire threshold changes
  • Added groundwork for plant genetics. These changes will have no noticeable effects (yet)
  • Fixed macOS compile errors for DiscordSDK
  • fixing compile errors on OSX in ModData.cs
  • adding alias of Posix dlls for Steamworks so that they can be packaged correctly on OSX
  • Removing old IMGUI implementation
  • Adding new IMGUI implementation
  • Making tweaks required for new ImGui implementation to work in Stationeers
  • added cached game-tick delta time.
  • added serialization for plant genes.
  • Changed plants can survive for longer in adverse states without taking damage.
  • Added plants in adverse states will have a quality reduction an produce seeds of lower quality.
  • Added plants pass genetic properties onto child seeds and fruits with some variation.
  • Added plant record class. Plants track the amount of time spent in adverse conditions.
  • Added PlantSampler tool. Doesn't do anything yet.
  • Removed debris from older imgui package
  • Fixed Xml serialization of genes and aggregate states to use XML Enum.
  • Fixed some errors when planting and harvesting.
  • Added WIP Genetic variance system for seeds based on stress events of parent plant.
  • Fixed save game list from not populating if one save had a missing terrain binary.
  • Allowed saves to be loaded with a missing terrain binary.
  • Changed Added SeedQuality to GeneCollection.
  • Changed tidied up InheritTraits function to remove some duplicate calls across the various different planter classes.
  • Added turning on Plant Sampler
  • Added plant sample add/remove behaviour
  • Added preservation of gene information in stackables.
  • Fixed an error in plant growth RNG causing the upper limit to be very large.
  • Tied the plant growth RNG to the reference ID of the plant so that it is deterministic(affectively serializing it)
  • Fixed out of range exception being caused when stacking plants from older saves
  • Added AppliancePlantGeneticAnalyzer. Can add/remove PlantSamplerTool to the slot and turn on appliance. Just cosmetic no gameplay changes.
  • Added Genes now effect the health and growth of plants.
  • Added new genes for Resistances and tolerances of atmospheric states.
  • Fixed Stacked gene collections not updating correctly when calling OnUseItem and when harvesting when same type was already in hand.
  • Initial balance pass on Genetic mutation. Mutation chance for genes follows binormal distribution over a 20% range for change.
  • Fixed OnUseItem message not updating stacked gene collections.
  • Moved StackedGeneCollections to Stackable.cs. List is only initialised on Plant and remains a null on the base class.
  • Added Plant Sampler Tool save data persistence.
  • Added error handling for Plant Gene Analyzer Appliance.
  • Added missing so.meta file from DiscordSDK
  • Added `IMGUI_FEATURE_CUSTOM_ASSERT` `IMGUI_FEATURE_FREETYPE` defines to project settings. (kept auto generating)
  • Fixed IndexOfRangeException in Stackable
  • Added localisation keys for ItemPlantSampler and AppliancePlantGeneticAnalyzer
  • Added AppliancePlantGeneticAnalyzer to electronics printer recipes
  • Added ItemPlantSampler to tools printer recipes
  • Fixed plant sampler not working on all plant slots
  • Fixed battery slot location on plant sampler
  • Added Slot.ScaleMultiplier to scale size of things in slots. Only applies when realWorldScale is false.
  • Fixed Collider Mesh renderers showing when moving plantGeneticAnalyser and Plant sampler between slots.
  • Tidy up of plantGeneticAnalyser and PlantSampler prefabs.
  • Fixed Analyser anim not stopping when unpowered or error.
  • Added WIP plant growth values
  • Fixed hydroponic trays not being able to be sampled using plant sampler
  • Added damage to plants now takes into account the plants genetics.
  • Fixed issue where you could not type into the F3 console as the window was not receiving focus correctly
  • Fixed issue with tablets scrolling very fast making it impossible to read the middle sections of longer scrollable content
  • Renamed some Plant Genetics variables and classes.
  • Fixed Plant Genetic Temperature Modifiers.
  • Moved some functions to PlantLifeRequirements.cs
  • Removed ability to clear plant without modifier key press. Preventing accident clearing of plant from slot when harvesting.
  • Added holding C key as modifier to clear plant from slot. (Shown in tooltip)
  • General clean up of plant slot tooltips.
  • Added game strings to some areas of plant tooltips for localisation.
  • Refactored how plant life requirements get their values from the plant's genes
  • Removed unused method in gene collection
  • Added plant genetics display window for viewing gene data when interacting with the plant analyser
  • Added meta file
  • Fixed null ref on creating temperature curve for plant
  • Fixed genetic info popup not scrolling properly
  • Fixed null ref when pointing sampler at empty plant tray
  • Fixed genetic info display looking weird for zero width ranges
  • Changed Moved all plant balance data onto PlantLifeRequirements.
  • Added Plants now have an ideal Pressure Range for growth 50-100Kpa. Outside of this range growth will slow.
  • Added Plants will take pressure damage when pressure is outside of the range 25-200Kpa.
  • Changed plants require at least 5% of their growing atmosphere to be their breathing gas for them to grow at full speed. Growth will slow at lower ratios. i.e a potato will now grow optimally in a 50Kpa atmosphere of which 5% is CO2.
  • Added UndesiredGasResistance Gene.
  • Changed implemented a number of Genes into plant growth and plant damage mechanics.
  • Changed Renamed some plant variables and general cleanUp of plant class.
  • Added search button to plant analyser
  • Removed Error state flashing on OnOff button
  • Removed turning off appliance after analyse animation
  • Fixed being able to clear plant without hold C
  • Changed Default Genetics adjustment range to 25%.
  • removed Old hard-coded mushroom growing behaviour this will ben handled by PlantLifeRequirements now.
  • Fixed alt key for clearing plants to be more consistent with other alt interactions.
  • Fixed NRE on client join Plant.Gene not being synced.
  • Removed SeedQuality and YeildMultiplier genes
  • Added GasProduction Gene to plants.
  • Reduced the effect of Fertiliser on growthSpeed (now max 25% boost) and harvest yield (max +2.5 yield).
  • Changed Reduced seed harvest quantity to 1.
  • Changed Seed harvest quantity is no longer boosted by Fertilizer.
  • Changed Increased base harvest quantity to 3 for all crops except potatoes.
  • Changed Harvest quantity is now reduced for plants that have experienced negative environmental effects over their growing period.
  • Added Exposing plants to negative environmental states will cause trends in genetic mutations. i.e Restricting a plants water intake will encourage the plant's water usage gene to mutate in the positive direction meaning child plants will use less water.
  • Fixed possible missing reference exception if plant is destroyed. Copying the plant now rather than passing around reference.
  • Changed hydroponics tray and planter to use "Slot1" for their action rather than "Activate" to make them more consistent with other planting devices
  • Moved interaction logic for planting devices to one place to make it easier to make the behaviour consistent
  • Refactor hydroponics utils class
  • Added new genes to analyser popup
  • Updated gene info display to handle lopsided ranges
  • Fixed syncing Plant Sampler state across clients
  • Fixed syncing Plant Analyser sample data across clients
  • Added print debug info for plants and Hydroponics Station
  • Fixed error caused by plants when starting a new game that caused you to be kicked back to the main menu
  • Fixed growth time gene being used directly as a multiplier meaning that growth times were approximately infinite.
  • Added light stress as a growth time multiplier
  • Optimised all plant prefabs. Removed some un-necessary physics components.
  • Fixed Plants loading in with renders disabled.
  • Fixed not being able to clear Fertiliser from slot
  • Fixed bug where you could alt click drag growing plants from slots
  • Stopped cursor interacting with world when genetic info panel is open
  • Handled harvesting plants while holding plant of the same type
  • Fixed Incorrect interactable hashing on plant analyser.
  • Fixed turning plant analyser on and off quickly or removing/adding plant sampler would cause sampling anim to stop working.
  • Tidied up Plant Analyser interaction code to be in-line with project standards.
  • Added Interactable name hashing to on_editor_validate button.
  • Fixed Plant Analyser spinning animation playing when it has no sample to process when loading into a game.
  • Fixed building error due to editor namespace not in defines
  • Added local build script to simulate code stripping like build server
  • Fixed harvesting plants with max stack size in hand caused plants to spawn in at origin
  • Added some light stress when the late status of a plant changes
  • Added server build script with stripping for linux
  • Fixed NRE in splash screen causing it to not display correctly
  • Removed a debug log
  • Added multi gene widget for temperature and pressure related genes. Will show ideal temperature/pressure ranges and min/max possible temperature/pressure ranges.
  • Added Sounds to Plant Genetics Analyser.
  • Fixed PlantStatus not syncing on network
  • Fixed exception when generating tooltips for certain plants
  • Updated hydroponics tray device slot types
  • Added Mushroom Seeds.
  • Added Mushroom seeds to organics crate in default starting conditions
  • Added Units to numbers in genetics panel.
  • Changed Reordered elements in genetics panel.
  • Changed Water usage gene to show percentage change rather than absolute values.
  • Localisation pass on hydroponics tooltips
  • Fixed NRE issues with plants from Harvester
  • Tweaked plant analyser mesh and fixed materials on sampler and analyser
  • Added Sound for taking plant sample with PlantSampler.
  • Changed grow Temperature range for tropical Plant.
  • Added Grow Efficiency tooltip to plants.
  • Added Light stress tooltip to plants.
  • Fixed Pressing alt would when loading into game with plant sampler in hand could cause the plant sampler status screen to show both statuses.
  • Updated plant analyser to flash error when any tool other than the plant sampler is placed in its slot
  • Localisation pass on genetics info panel
  • Fixed Error in GrowthEfficiencyRNG calculation that was causing all plants to grow slower.
  • Fixed exception when watering plants
  • Updated seeding plants so that the seeding stage always follows the mature stage and is also marked as mature.
  • Made it so you can harvest a seeding plant's seeds/fruit in any order. Previously you had to harvest the seed first.
  • Fixed issues with perennials not reverting to the correct stage
  • Fixed issue with plant visualisers disappearing when decrementing stage
  • Refactored harvest method
  • Improving error logging to imgui console window and log to file to help us lovely devs a bit more
  • Fixed tool tip next lining on pipe analyser
  • Added Plant Growth Requirements to Stationpedia.
  • Added new icon for genetic
  • Updated gasicons.psd
  • Fixed wrong callback event from logMessageReceived
  • Added Duplicated water shader and gave individual colors.
  • Fixed issues with harvey not harvesting fruit when plant is seeding. Harvey will now harvest seeds first followed by fruit.
  • Refactored plant and planters to make harvesting functions more consistent
  • Removed some uncalled code which was meant to harvest mature plants when planters are deconstructed. For now, plants will continue to pop out of slots when the planter is deconstructed. They can then be re-planted and will revert to the first growth stage.
  • Stationpedia Genetics Page WIP
  • Made Console log catch threaded
  • Slightly tweaked plant growth tooltip
  • Fixed DelayedActionInstance.Success() message not showing
  • Added Inhaled, Exhaled & toxic gases information to plants Stationpedia pages.
  • Added Water usage to plant stationpedia pages.
  • Fixed WIP-Genetics Statiopedia page throws error when opening.
  • Added Stationpedia entry for Plant Sampler and WIP entry for the Genetics page
  • Added missing genetics icon meta file
  • Added Individual gene pages to Stationpedia.
  • Added Localization hooks for Genetics strings in stationpedia (moved hardcoded strings to gameStrings)
  • Updated plant analyzer stationpedia description
  • Updated plant analyzer thumbnail
  • Updated plant sampler thumbnail
  • Fixed grammar in stationpedia genetics page
  • Fixed errors in the genetics page text
  • Fixed transparency on gene icon
  • Added gene icon to genes page list
  • Added Growth time to stationpedia.
  • Changed Plant grow times: Potato 1 game day. Wheat, Rice, soybean, mushroom 3 in-game days. Corn 6 in-game days. Tomato 15 in-game days, Pumpkin 18 in-game days. Subsequent harvests of
  • Tomatoes and pumpkins will take 3 & 6 in-game days respectively.
    Fixed Math bug with seconds to Time converter that caused the wrong time length to be shown when time was greater than an hour.





Performance & Bug Fixing


This week we’re bringing you a range of performance improvements and bug fixes.

Performance

There are two main performance improvements we have made, one is a rendering improvement that means the main thread is spending less time waiting for rendering tasks to complete. The second is to do with the prioritization of our many threaded tasks. Threads that are running non time sensitive tasks have now been moved to a lower priority allowing other tasks to be processed faster and improving the overall performance.

With these two changes combined, most players should see a modest performance improvement while players running larger bases should see a significant improvement.

Notes:

These changes were not more performant on dedicated servers so are not activated there.

Additionally we’ve added Legacy-CPU option to settings (not exposed in the main settings panel). This disables some multi-threading priority optimisations that will have a negative effect on users with CPUs below the recommended spec. You can try enabling this option if the latest update has caused your logic and atmospherics simulation to noticeably slow down.

You can enable it using the command “legacycpu [enable, disable]”


Bug Fixing

Besides the performance improvements we’ve also done a bit of bug fixing. Most notably we’ve fixed the issue where you could sometimes end up controlling your character as well as a ghost character.

Upcoming

You might notice that this update does not contain any new content and we will be resuming our normal content cadence in the coming updates.

Besides more new content you can look forward to improvements to the multiplayer connection process as we take the final steps in completely removing reliance on Unity’s multiplayer API.

Your support makes this possible


The major refactor has been a huge milestone for us and we think you can see the tremendous impact that it has had. Your support through bug reporting, suggestions, and direct involvement with our team on discord make a big difference.
[h3]If you like the progress we have made, please consider taking a moment to leave a positive review. This makes a great deal of difference to the project. We have worked hard on this project now for five years, and we feel confident the game has substantially improved from when we started. Many projects steer clear of the hard tasks, and we are proud to have taken them on.[/h3]

Additionally, you can support us by purchasing the DLC we made to allow those who like the game to support us, and in return get something a little fun to continue to use in the game.

https://store.steampowered.com/app/2089290/Stationeers_Human_Cosmetics_Pack/

https://store.steampowered.com/app/1038400/Stationeers_Zrilian_Species_Pack/

https://store.steampowered.com/app/1038500/Stationeers_HEM_Droid_Species_Pack/

Change Log v0.2.3647.17684


  • Added `--nodiscord` argument to skip discord integration
  • Fixed possible NRE in Asteroid.SetMineableRenderers() based discord report due to null mineable in loop
  • Updated DiscordSDK in blind hopes it will solve crashing issue for some players
  • Fixed NRE when saving new world on dedicated server.
  • Removed unnecessary console action logs when saving game
  • Fixed NRE from AtmosphereAudioHandler and ThingFire classes for dedicated server
  • Fixed NRE in ChatMessage for dedicated server
  • Fixed Panel on Atmospherics machines not showing correctly localized Mode strings.
  • Fixed Thread Priority changes do not take effect for dedicated servers
  • Set DeepMiner `_timeSinceLastOreSpawn` to current game time when turned on. Fixes issue where dirty ore is spawned when been turned off.
  • Fixed cryo tube temperature message
  • Added Legacy-CPU option to settings (not exposed in main settings panel). This disables some multi-threading priority optimisations that will have a negative effect on users with CPUs below the recommended spec. You can try enabling this option if the latest update has caused your logic and atmospherics simulation to noticeably slow down.
  • Added Legacy-CPU console command. "legacycpu [enable, disable]"
  • Fixed chute bin returning the wrong kit on disassembly
  • Removed unnecessary settings of directory properties for save points. All getters to a single point now.
  • Fixed bug where dying and respawning would leave multiple brains with the same client id in your save. On loading this save, you could spawn into the dead body's brain which would force another respawn, leaving another living copy of your character in the world.
  • Tweaked duct tape mkII repair speed. Will now repair things 10% faster than normal duct tape.
  • Optimised Rendering preparation on CPU.
  • Optimised Threaded atmospherics and logic behaviour to avoid taking resources from more time critical processes. This improves frame-rate on bases with an extensive number of atmospheres.
  • Reduced The number of Atmospherics worker threads.
  • Reduced Priority of non-time critical threads.
  • Fixed some tool speeds being set incorrectly
  • Tweaked tool speed for emergency tools. Emergency tools will now be 0.5 times the speed of normal tools
  • Fixed scrolling on screens sometimes not working
  • Increased scrolling speed on screens

Hotfix v0.2.3623.17642

  • Fixed Combustion Centrifuge still processing when not in final build state.
  • Fixed Exiting a ladder can sometimes damage suit or Helmet.
  • Fixed Centrifuge still operating when not in final buildState.
  • Improved error message for when start ConditionData is invalid.
  • Fixed Modifying a pipe network connected to a Medium Radiator could cause gas in the network to get deleted.
  • Fixed DeepMiner does not return item kit when deconstructed.

Deep Miner, Centrifuges, and Chutes

The main focus this week is adding new mining mechanics which allows you to automate parts of late game mining. Along with the new miner we've reworked the centrifuge mechanic and added chute devices to give player chute networks far more utility.

This is the biggest update we've done in a while both in terms of new content as well as bug fixes and we're excited to be back in a place where we are able to push out updates like these!

Deep Miner




The Deep Miner is a device that you construct on the terrain surface and will drill to bedrock and start producing Dirty Ore. The Deep Miner will take some time to reach bedrock, depending on how deep it is, and will then produce approximately a stack of 10 Dirty Ore every 90 seconds.


Dirty Ore


Dirty Ores simply represent unprocessed pieces of unsorted ore. During processing it will be transformed into a normal ore, using the same distribution of ores form your world(not including ices). Attempting to smelt a Dirty Ore before processing it will result in it being destroyed without producing anything, you must first use a centrifuge to extract the pure ore from it.


Centrifuges




[h3]Existing Centrifuge[/h3]
The Centrifuge now processes one item off a stack at a time. It stores the processed ores inside itself until the export lever is pulled. Centrifuge processing speed is based on RPM, it takes 100 seconds for the centrifuge to spin up to its maximum speed of 100RPM.

[h3]Combustion Centrifuge[/h3]
This new centrifuge is powered by a small internal combustion engine fed by a fuel mix to the input pipe. It is capable of much higher RPMs than the Electric centrifuge, but sudden changes in Rpm or exporting while running will add stress to the machine. If max stress is reached it will grind to a halt and processing will stop. The amount of fuel used each tick can be controlled with the throttle lever. The Combustion Limiter lever will increase the amount of fuel that can burn each tick to supercharge the speed of the engine.


Chutes

We've added a range of new chutes that provide vital missing functionality. We've implemented both basic and digital versions that can be controlled via logic.



[h3]Flip Flop[/h3]
This new chute has one input and two outputs that it switches between every time an item passes through. There is an indicator on the side to inform you where the next item will go.

[h3]Digital Flip Flop[/h3]
The digital version is similar except you can control the ratio of items for each output via logic. There's also a manual knob to set the ratio.

[h3]Valve[/h3]
The valve is a simple directional chute that acts as a gate. When set to open items will flow through and when it is closed they will stop.

[h3]Digital Valve[/h3]
The digital valve is similar except it will automatically close after a specified number of items have passed through. This threshold can be set using the dial. It can also be manually opened and closed using the button on the device

[h3]Overflow[/h3]
The overflow chute has a single input and two outputs and will behave as a normal chute until it can no longer output straight at which point it will overflow incoming items to the other output.

Reversed Variants Coming Soon: we had to make last minute changes to the reversed variants of the digital chute devices and will be included in the next patch.


Save and Character Day Tracker




Displayed by your character's face cam is now a day count for how old the current save is. When a new day starts you’ll see a message with this information as well as the number of days you’ve gone without respawning. This character age is also visible on the player list screen(tab).

Thank you to Jixxed for creating the original mod that prompted us to add this to the base game. Right now we've not added time as we'd want to rework some of the UI to achieve this which was a bit out of scope.

Connectivity

The work that we did at the beginning of the year to decouple Stationeers from Unity’s High Level Multiplayer API was a mammoth task. While the benefits of replacing it with our own bespoke system improved multiplayer stability and reduced desync, we’re still partly relying on Unity’s deprecated Low Level API. The result of this is that many people have trouble connecting and playing with their friends. Art of the Rail is currently testing a new solution for this that will mean we no longer rely on any of Unity’s deprecated APIs. Once this has been proven to work and implemented we will also re-enable Steam’s P2P networking.

Your support makes this possible


The major refactor has been a huge milestone for us and we think you can see the tremendous impact that it has had. Your support through bug reporting, suggestions, and direct involvement with our team on discord make a big difference.
[h3]If you like the progress we have made, please consider taking a moment to leave a positive review. This makes a great deal of difference to the project. We have worked hard on this project now for five years, and we feel confident the game has substantially improved from when we started. Many projects steer clear of the hard tasks, and we are proud to have taken them on.[/h3]

Additionally, you can support us by purchasing the DLC we made to allow those who like the game to support us, and in return get something a little fun to continue to use in the game.

https://store.steampowered.com/app/2089290/Stationeers_Human_Cosmetics_Pack/

https://store.steampowered.com/app/1038400/Stationeers_Zrilian_Species_Pack/

https://store.steampowered.com/app/1038500/Stationeers_HEM_Droid_Species_Pack/


Change Log v0.2.3619.17630
  • Updated digital chute flip flop manual toggle collider position.
  • Tweaked digital chute valve. You can now set the 'Quantity' with logic. (This is the number of items that have passed through already). Also made the minimum setting 0 instead of 1. If set to 0 the valve will never auto close.
  • Added another setting to the digital chute flip flop. Will appear in logic as 'SettingOutput'. This will set the number of items send to the upwards output before flipping. Using this, you can make more useful ratios (Setting:SettingOutput). Also made the minimum setting 0 which, if used, will cause the device to not flip/flop automatically.
  • Fixed Station contacts were in the wrong part of the Loading sequence, this would cause loading them to throw "Couldn't register x with id" errors.
  • Fixed BareBones Start condition throws error and returns to main menu when playing as robot or Zrillian.
  • Added cancellation token and thread abort when editor application is quitting. A possible fix to auto save issue in editor
  • Fixed NRE syncing Client.DaysLived causing dedicated server to become unresponsive
  • Fixed DeepMiner not syncing minded terrain on dedicated server
  • Added Deep Miner crafting recipe to use steel and invar on the MKII autolathe.
  • Modified Deep Miner and Combustion Centrifuge recipes to also use constantan, take longer, have increased printing times, and have stack sizes of 1.
  • Fixed Centrifuge animations and sounds to reflect new RPM behaviour.
  • Added "atmos count" command. returns number of atmosphere cells and number of rooms.
  • Changed DeepMiner drill bedrock position.
  • Fixed Digital Chute Devices returning incorrect kit when deconstructed.
  • Fixed "floating invisible colliders". When mining out an entire chunk the last calculated collider would remain when the chunk had 0 vertices. Now the collider is correctly disabled when the chunk has 0 vertices remaining
  • Removed unused Logic vars from CombustionCentrifuge: Mode, Setting, Ratio, Maximum.
  • Changed increased the stress added to CombustionCentrifuge when exporting ores while running at high Rpms.
  • Updated Stationpedia entries for both centrifuges, dirty ore, and deep miner.
  • Increased centrifuge and deep miner power requirements. Decreased Combustion centrifuge power requirements.
  • Fixed Typo in DaysPassedPlayerMessage.
  • Changed DeepMining ore generation weight table to take into account World-settings for ore vein size, drop amount and and ore vein attempts.
  • Fixed storms passing through face structures (e.g. windows and walls) at certain orientations when cladding is placed on them
  • Fixed Cogs and Drill Head offset incorrectly when building a new Deep miner.
  • Added Sounds to Deep miner.
  • Fixed Powered and operating sounds not playing on some devices when loading a game (the sounds would come back when the devices power was cycled)
  • Added total days passed for save to hud
  • Added days lived to score board for each players current character(existing characters will start at day 0)
  • Added a "day passed" message
  • Fixed Colliders for IC slot and screws on CombustionCentrifuge were not being enabled when opening slider.
  • Fixed CombustionCentrifuge not exhausting its internal atmosphere when turned off.
  • Reduced base rattling sound of combustion Centrifuge when machine is not stressed.
  • Fixed digital flip flop and digital value chutes. Can now set the setting knob value with logic
  • Tweaked digital valve shutter position as it was not on the correct side for left variant
  • Fixed missing material on basic chute kit
  • Tweaked collider size on standard chute kit
  • Fixed Build error.
  • Fixed motor revving sound when turning on centrifuge.
  • Improved motor stress audio behaviour.
  • Fixed DeepMiner shaft offset issues. Created a more reliable way of scaling shaft as it drills down
  • Fixed BioMass was having its smelting gases incorrectly removed when created in a centrifuge. biomass centrifuge behaviour restored to previous state.
  • Added Sounds to CombustionCentrifuge.
  • Added new kit for powered chutes and chute devices. Moved chute bin into this kit.
  • Completed initial balance pass of deep miner and Centrifuge rates.
  • Added spin to the DeepMiner shaft animation
  • Fixed combustion centrifuge import and export ports facing the wrong direction
  • Added updated DeepMiner model
  • Added wobble animation to DeepMiner shaft.
  • Fixed NRE when player dies from explosion.
  • Localization pass on cryo tubes and new chute devices
  • Added digital flip flop chute. Will flip after a specified number of items have passed through.
  • Fixed centrifuge lever/onoff switch selection bounding box sizes
  • Fixed DeepMiner exporting when chute is full
  • Fixed DeepMiner drill and gears spinning when on but not powered
  • Added new Centrifuge model mesh
  • Added new lever interactable for Centrifuge
  • Added custom animation files for Centrifuge due to hierarchy change
  • Added left variant of chute digital valve
  • Updated thumbnail image for right variant of the chute digital valve
  • Added IChute interface to make dealing with chute devices easier
  • Added the digital chute valve. This will automatically close after a specified number of items have passed through. This threshold can be set using the dial. Can also be manually opened and closed using the button on the device
  • Added ChuteDevice class which can be used to create more complex powered chutes
  • rewrote gas generators thermodynamic scaling, to better scale with the amount of combustion which has occurred.
  • Generally decreased gas generator convection by 3x, and undid the recent 25% power increase to become an overall 15% decrease.
  • Fixed error on Combustion Centrifuge when output pipe removed.
  • Fixed issue with gas fuel generator throwing errors when not connected to pipes
  • Fixed issue where combustion energy from the previous tick was subtracted after thermodynamic convection occurred, resulting in low exhaust temperatures.
  • Added ability to the gas fuel generator to scale its convection based on how much fuel its processing.
  • Decreased Gas Fuel Generator combustion chamber volume, lowering its overall throughput, and max output power. Efficiency should be the same, and multiple gas fuel generators should be used instead of just one. Existing generators should be fully deconstructed and rebuilt to enter a good state.
  • Increased Gas Fuel Generator heat to power conversion by 25%.
  • Fixed Setting Throttle/Combustion on CombustionCentrifuge via logic throws error.
  • Fixed exception on deep miner if it is running when it is destroyed
  • Added Kit (CombustionCentrifuge) to Tier2 Autolathe recipes.
  • Changed Centrifuge can now export when turned off.
  • Changed Stress Behaviour on Combustion Centrifuge. Exporting at High Rpms adds stress. When max stress is reached machine rapidly spins down. When Stress is high drum will wobble.
  • Fixed Localization error with Throttle and Combustion Levers on CombustionCentrifuge.
  • Adjusted deep miner drill speed to be much longer. On mars you will have to wait close to 5 minutes for the drill to reach bedrock and start production
  • Added drill head animation for deep miner
  • Added Entry/ExitTime to ChuteFlipSlopSplitter build states
  • Fixed NREs spamming when first creating a new Structure in editor.
  • Added overflow chute which will direct materials to an overflow output when the default output chute is full
  • Animation fixes for CombustionCentrifuge
  • Added WIP CombustionCentrifuge device to DebugKit.
  • Fixed combustion very small amounts of high energy gas could cause atmospherics thread exceptions.
  • Changed centrifuge placeholder speeds to significantly slower speeds
  • Changed ServerTick/ClientTick to UniTask
  • Fixed bug where thing could input through a ChuteFlipFlopSplitter and ChuteJunction output. Reject items moving through non-input connections.
  • Fixed NRE in DeepMiner due to class type change for DirtyOre
  • Changed SurfaceAreaScale clamp to allow scales smaller than 1.
  • Moved switching chute outputs to OnServerTick()
  • Cleaned up gravity handling when entering/exiting ladders
  • Added processing time to ICentrifugable.
  • Fixed error spam when closing Discord while game is running
  • Updated Centrifuge processing behaviour. The Centrifuge will now slowly increase its rpm when turned on. It will process one item off the stack in its import slot (similar to the arc furnace) processing time is based on the rpm of the machine. The processed materials will be stored in the machine until the open variable is set to true. When the machine is opened it will export its stored materials. Open lever will be added to the model soon (in the mean-time beta-branch players will need to use logic).
  • Fixed Centrifuge will now de-gas any ores it processes.
  • Fixed DirtyOre not spawn-able.
  • Added Centrifuge will now process DirtyOre. DirtyOre will be converted into one random ore in a 1:1 ratio. the ore-type produced is randomised based on the planets ore weighting settings.
  • Added CombustionCentrifuge script and WIP prefab.
  • Fixed a number of tooltip generations creating new strings unnecessarily.
  • Added Dial script.
  • Changed default behaviour of newly added assets to not burn.
  • Actually Fixed missing reagent mix blueprint
  • Fixed missing reagent mix blueprint
  • Added chute valve. Will stop the flow of materials in chutes when closed and act like a straight chute when open.
  • Lowered the thermodynamic scale for cryo tubes. Will now convect 10x slower which should make it easier to keep cool in a pressurised room
  • Removed old ChuteSplitter Thumbnails
  • Removed Collider from Mode interactable ChuteFlipFlipSplitter.
  • Changed ChuteFlipFlipSplitter thumbnail name to be consistent
  • Updated mesh, materials, thumbnail, and blueprint for reagent mix
  • Updated charcoal blueprint
  • Updated charcoal thumbnails
  • Fixed incorrect textures on new charcoal model
  • Change the texture size for reagent mix from 2k to 512.
  • Create a new reagent mix model and textures.
  • Changed name ChuteSplitter to ChuteFlipFlopSplitter
  • Removed custom output index in favour of Mode property for better network sync
  • Removed Animator on ChuteSplitter
  • Added DoTween animation for ChuteSplitter needle
  • Removed unused material (DirtyRock)
  • Fixed wrong material on DirtyOre
  • Change the dirty rock material name
  • Added ChuteSplitter to project. A chute that toggles between two outputs
  • Fixed cryo tube default light strip texture
  • Made light strips on cryo tubes off when the tube is unpowered
  • Tweaked the size of colliders on cryo tubes
  • Added new Chute FBXs
  • Improved DeepMiner voxel drilling area
  • Added a range randomisation for spawn ore on DeepMiner
  • Slowed drilling speed animation down by half
  • Tweaked cryo and sleepers - robot batteries will now no longer drain when the robot is inside a powered sleeper or cryo tube
  • Fixed vertical cryo tube prefab accidentally removed from prefab registry
  • Updated ItemCharcoal prefab with new mesh, material, textures
  • Fixed ladder end hurting player(in some situations)
  • Fixed ragdoll issue when human dies in a slot
  • Updated charcoal with new model and textures.
  • Increased DirtyOre freq from DeepMiner to 90s
  • Added descriptions for StructureDeepMiner, ItemKitDeepMiner, ItemDirtyOre in Stationpedia
  • Fixed issue with players being draggable after exiting slot
  • Fixed missing ItemDirtyOre blue print
  • Adding Combustion Centrifuge placeholder code
  • Changed name DirtyRock to DirtyOre
  • Removed unnecessary network message for auto miner
  • Added auto miner drill bit position data to byte array
  • Added DeepMiner which will infinitely mine DirtyRock at 60s interval.
  • Fixed AutoMiner not syncing across network.
  • Added NRE checks for Export/Import classes so that a single one could be used.
  • Fixed CryotubeVertical used drill instead of screwdriver to deconstruct final build-state.
  • Fixed Old cryotube does not return kit.
  • Added ItemDirtyRock to project