Quantcast
Channel: Stationeers RSS Feed
Viewing all 199 articles
Browse latest View live

Consolidated Patch Notes v0.1.1411.6759

$
0
0

Week 4, patch 4! Last week, we warned that with the new weekly patch cycle, some may contain less content than others. This is not one of those weeks! For the builders, we have Elevators. For the engineers, we have expanded manufacturing automation and quality of life improvements for the logic system. For those who prefer to live underground, we have artifical grow lights and much more!

Logic System Expansion

We now have Circuitboards that allow graphing data received from logic systems and devices.


Tired of using screws to change memory values? Or turning wheels on pressure regulators or transformers? You can now use a labeller on the button and enter the value directly from the keyboard.

There are also now logic mirrors, which was suggested by the community to share a device across to another logic network.


We also added a lot of support for automated manufacturing this week, with logic given the ability to read the item code (hash) for the current recipe or objects held in slots. The Hash Display circuitboard will let you display one of these codes as the items thumbnail on a console.

Elevators

A much asked for feature was elevators. Now you can place shafts, and levels, and even link them to the Logic system.

Smart Gas Cylinders

Featuring a visible display of the tank pressure, and a pressure capacity twice that of the existing gas canister. Can be crafted in the Fabricator.

Hydroponics Station

Supports growing plants underground and adds the ability to use logic systems to monitor various aspects of plants health status.

Crate Mounts

Those who have played in space have probably experienced bumping one of the starter crates and having to chase it down, as it drifts off into the distance. Suffer no more! A Crate mount will let you fix dynamic crates to the ground the same way you affix Dynamic Canisters to Tank Connectors - with your wrench.

Construction Kits for Portables

A great suggestion on the steam forums was to make kits for building the portables, such as the Crate. These are now constructable instead of the portable themselves, for the Airconditioner and scrubber - and also the crates themselves. Like other constructables, hold the kit in your hand and use the secondary action (right mouse) to construct. Once assembled, they cannot be deconstructed however.

Version 0.1.1411.6759
  • Added first pass of Elevator support. Build Kit (Elevator) on the Electronics Printer. Two current placable blocks: Elevator shafts and Levels. When a level is placed, an elevator carrage will be created. You can only merge elevator networks where only one of them contains a carrage. The levels require power to operate their doors. Note: this is only the first pass and they may substantially change! Be very careful with this while they are on the beta branch in your saves. KNOWN ISSUE: They will not work as expected on motherships. Next update will ensure they work correctly on motherships.
  • Added logic hooks for Elevators. Any elevator (both shafts and levels) will return the ElevatorLevel being the current level of the carrage on the local elevator network. You can also set the ElevatorLevel, which will make the carrage try to go to that level. And you can read the ElevatorSpeed, which is how fast the elevator is going. Where the carrage is missing, error values will be returned (like -1 for the ElevatorLevel).

  • Added Logic Motherboard support of Quantity, Export/Import slot details, and Recipe Hash.
  • Added Chute Bin logic support for slot. Now will report slot occupied (0 or 1), slot occupant type (hash), and slot quantity (stackable or consumable quantity).
  • Added logic reading of contents of Import and Export slots. Now can read the contents using ImportSlotHash and ExportSlotHash. Each type of item has a unique hash. A gold ingot in a slot would give a hash of 226410516. This means you can check if the contents of an export or import slot is of a certain type, and then implement logic accordingly.
  • Added Logic reading and writing of current product code to basic fabricators (printers). You can now read the "product code" which will give you an integer that is a reference to that product. You can store this value easily in memory using a Logic Reader. When you subsequently "write" that value back, as a Product code again, it will set that printer to that recipe. This allow you to automatically control what a printer is producing, and potentially make automated factories.
  • Added Circuitboard (Hash Display). This circuitboard can be connected with anything that has a readable hash. The prime example is linking it with any fabricator, and the display will show a thumbnail of what is selected as the current recipe. It could be set to read a Logic unit such as a Reader, which is in turn set to read from the Arc Furnace Export Slot Hash, which would render a picture of the current Ingot type being produced.
  • Added Logic Mirror. Has a screw that allows the selection of any device on it's input network. All variables of that device are then mirrored on this device, allowing you to mirror the logic state of devices between different networks. You are able to both read and write to the mirrored device. If the logic mirror is not powered, it will return no data and will not allow setting data. The logic mirror itself will be completely hidden to the logic system, as it's purpose is only to mirror. It is buildable off the Logic I/O Kit.
  • Added Diode Slide. This is a diode that slides between 0 and 1 based on what its setting is, and shows a balance of red or green based on the value of this. Useful for reporting how full something is using the logic system.
  • Added Logic Memory values can be directly set via keyboard entry. Use a labeller on a screw to bring up the value input screen and enter a value. This will then be set to the memory unit.
  • Changed Logic system to use "double" precision as a base, rather than "float", due to precision issues. Devices still tend to use floats for implementation. Some devices will be moved to double (such as energy) due to precision issues. These issues remain and will be fixed when this is changed.
  • Refactored player input window. Performance improved and code simplified. Also stores previously entered values. You can select the previous ones using the mouse wheel while in the input screen. A maximum of ten previous entries are stored. The input window will also display the input mode (such as alphanumeric, or decimal number, or integer only).
  • Added Circuitboard (Graph Display). Can be built on the Electronics Printer. Takes the average setting from any assignable device and records the value. Records a value every tick (half second) and then renders them as a graph. Color of the line is take from the Console color.

  • Added Smart Gas Canisters. Twice the capacity of the default gas canisters, and featuring a display roughly depicting its pressure level.
  • Added give up option when going unconscious. You can now kill yourself on becoming unconscious and respawn immediately, instead of waiting for death.
  • Added ability to set values with keyboard input using a labeller on a button on the Transformers, Pipe Regulators, Volume Pump, and Mixer. This is similar to setting a value using the labeller on memory. This is a much faster (and more specific) way of setting a value on the device than clicking the wheel to move it.
  • Added Hydroponics Station. This is an advanced hydroponics grower. It has four slots and provides UV light for the plants to grow, even when in darkness. This UV light is toggleable on and off as it draws a lot of power. It also provides data on it's four slots, providing Growth state, efficiency, health, and the Hash of what kind of plant is inserted. Water should be provided via the pipe, everything else is gathered from the atmosphere around the station. Internal atmosphere (water) is exposed via the logic system also. Kit is available on the Electronics Printer.
  • Added new custom model for Security Printer. Also features dedicated button for Select Recipe functionality.
  • Added Flashpoint, Autoignition, and Hash, to the EReader (Credit: Masoneer).
  • Added Container Mount. This functions like a Tank Connector, you can drag a container onto the mount and then use your wrench to secure or unsecure it.
  • Added more broken build states to frames. Structures will now break to a corresponding build state if there is one, otherwise they will break to the next available build state down.
  • Added Access control to Battery, Centrifuge, Generator, Pump, Recycler, Suit Storage, Transformer, and Flashing Light.
  • Added key bind for turning headlamp on and off. Default: 'L'
  • Added MotherShip Core Kit for constructing a frame to begin building a mothership on (without the debug menu).
  • Added Kit (Crate) Item. When used with secondary action (Right Mouse) creates a Dynamic Crate. These can be built on the Autolathe using Iron Ingots. This allows early game creation of Dynamic Crates for use storing things. Credit: Nysch on Steam Suggestion forum.
  • Added Kits for constructing Portable Air Conditioner and Portable Scrubber. These are produced from the Pipe Bender. Use right click action to build these in front of you.

  • Changed input window to lock to input type (i.e. numbers).
  • Fixed door and airlock action strings not localized.
  • Fixed Pointing a Tablet with an Atmospherics Analyzer cartridge at a Tank Storage will now display the internal atmosphere of the contained gas canister (if present).
  • Fixed Can now place place a pipe and a cable in the same grid (but not more than one of the same type) as long as the ends don't overlap.
  • Fixed Players can no longer place crafting machines without a frame underneath.
  • Fixed Atmos thread crashing when a wall takes damage from overpressure. Overpressured bases should no longer give a huge wall of errors.
  • Fixed newly placed and unset LED displays not turning their display off when power toggled (credit: Eearslya). Now LED displays will correctly turn their display off when lost power or switched off.
  • Fixed commander slot access card slots were not correctly merging access permissions (credit: Masoneer / Risu). Now each slot access permissions correctly merged.
  • Fixed null reference exception on new shaft creation. Carrage was incorrectly trying to initialize before being correctly assigned to the shaft network. Now gracefully handles this.
  • Fixed Import and Export Slot Quantity was not reporting quantity for consumables (such as ingots). It was only supporting quantity checking for stackables. Now correctly reports quantity for stackable and consumable.
  • Fixed insidious bug with Approximately implementation that resulted in large numbers in logic system not being correctly managed.
  • Fixed broken structures being able to be deconstructed instantly by any object.
  • Fixed missing gun hit particle.
  • Fixed ItemPipeRadiator now paintable.
  • Fixed Missing sounds on some structures after the addition of the access control interactions.
  • Fixed errors with effects manager trying to render effects on the dedicated server.
  • Fixed plants being deleted when being harvested. This was an erroneous fix to previous bug with plants when destroying their growing tray. Now plants will be destroyed when destroying their tray, but only if the seed has grown. If the seed is mature, it will be harvested normally instead of being destroyed. If the seed is still a seed, it will be ejected like all other inventory would.
  • Fixed Steel Frame (Side), (Corner), and (Corner Cut), can be placed repeatedly over top of one another, or overlapping other objects. Masoneer #0053.
  • Fixed the furnace contents window will never show more than 500, but will still correctly output what youve put into it. Ie. 2000g of steel would be four 500g bars, but the windows will just say "500". Masoneer living bug list 0096. Now reports how many stacks will be produced, and the remainer, of the current contents.
  • Fixed unable to interact with slots on securing crate to crate mount if the lid was open when crate was mounted. Now can correctly interact.
  • Fixed various pipe kits not correctly paintable and displaying the correct colors.
  • Fixed Pipe Valve not paintable and does not show correct color thumbnails. Now correctly paintable and shows correct thumbnails for color in inventory.
  • Changed strings with "Construction Kit" to "Kit" for names.
  • Fixed Helmet light being operable when not on head slot.
  • Fixed screen effects not showing in third person. Now volumetric lighting now correctly shows on local character when in third person.


Hotfix Patch Notes 0.1.1420.6788

$
0
0

An issue was identified with Friday's update that caused some characters to not be properly removed on death, instead spawning a skeleton in their place... at the rate of two per second.

Thanks to OldSchool in Discord for the screenshot.

Apologies to those affected, and to anybody who had to see spooky screenshots posted in Discord over the weekend.

Version 0.1.1420.6788
  • Fixed Dead players not being removed and instead spawning a skeleton every half second.

Consolidated Patch Notes v0.1.1444.6887

$
0
0

It is a special week for Stationeers this week. Firstly we're coming to the end of our first Summer Sale. A big thanks to especially our veteran community members who have been immensely welcoming, helpful and patient with all the fresh faces playing the game and answering their questions in Discord. We've also decided to move the 'Doomsday Clock' on the store page from Unstable to Expect Bugs after discussing it with the community. I think we've got a long way to go until we can make that next hop to Stable, but instances of hard-crashes to desktop on the main (stable) branch are few and far between, thanks to people sending us their crash logs and bug reports.

Mouse Inventory Control



There has been much discussion and feedback for the entire project about the controls. We have now implemented a hybrid mouse/hotkey control system. This allows you to:
  • Drag and drop between slots, and contents of slots
  • Swap items and equip/unequip
  • Open and close, and interact with objects
This is being expanded even further to include custom window positioning, detailed item tooltips, and much more.

To access the cursor while playing, hold the MouseControl keybind (Default: Left Alt) and use it to open inventory slots, drag items between slots, drop them in the world or equip them.

Please note this is a very early implementation. We have tried to balance the projects needs with (strong) consumer feedback wanting such a system. Nearly all of our negative reviews indicated dissatisfaction with the old system, so we needed to do something.

As always let us know on the forums ideas you have to improve the inventory system further.

Expanded Tutorial

As part of the new mouse inventory controls we have completely redone the tutorial, expanding it greatly in the process. The old favorites of cooking muffins is still in, but you also learn how to use the Arc Furnace and basic logic. Worthwhile even for skilled players to have a go!





Terrain Improvements

While there's no doubt everyone wants a Rover RIGHT AWAY, they'll greatly increase the amount of exploring people want to do and how far they wander from their base. Before this can happen, we wanted to spend some time improving the terrain system to be able to support all the adventures you'll no-doubt want to take when given the tools. This work will be ongoing, but has already had some big wins performance-wise, as well as improving the code-base to make future additions, changes and improvements easier.

Vending Machine



The vending machine can serve many purposes in your base. The 100 slot capacity makes it effectively an extra large, electronic locker. The chute connections and logic compatibility however, make it much more powerful. This will form the backbone of any manufacturing or base inventory dispatch system.

It has special logic commands, allowing you to send a "hash" of the type of object you want, prompting the vending machine to send this out. Connected with chutes, this allows you to build fully automated distribution systems for your factories. It will also work in well with planned expansions to the fabricators being able to signal what they are missing to complete recipes.

Batch Reader

Another much requested delivery, the batch reader allows you to read a variable from all of the same type, and then choose whether you want the average, sum, min, or max.



Slot Reader

Compatibility Notice
Logic Readers will now no longer read slots, you will need to use Slot readers. Old logic systems that rely on the Logic Reader will load, but show an error state.



We previously bundled some slot data in the old logic system, but it was becoming clunky. So now there is a new special slot reader that provides much more data and access all slots on devices.

ImportCount / ExportCount

All import and exporting devices now keep a local count of what they have imported and exported. The numebrs are persistent until they are cleared, via logic, by the ClearMemory flag. This provides an effective way of counting what has progressed through machines.

Other Improvements

Once again, we have another large batch of new toys for the logic system and a whole batch of bug fixes outlined in detail below:

Hotfix 0.1.1444.6887
  • Fixed nulreference exception with Bioprinter. Credit: GamersCircle.

Version 0.1.1443.6885
    Logic
  • Added Vending Machine. This structure holds up to 100 items, and can be connected to both import and export to chutes. To dispense items can be selected via buttons, with the currently selected item displayed on a screen. However, you can also request items by setting a Hash reference to the item type. The vending machine will then dispense the first stack it can find that matches that hash, and export it. This allows you to make fully automated factories much easier, as you have a smart storage system.
  • Added all logic processors (compare, math, etc...) now expose setting attribute to logic network for read only access. This reduces the need for additional logic writer + memory to read the results. Credit: Otti via Discord.
  • Added Chute Inlet lock state controls input. If you want to stop a chute inlet from stopping collecting, set its lock state to one. Setting to lock zero resumes it. Credit: Drazuam from twitch for idea.
  • Added ImportCount and ExportCount settings to all devices that Import/Export. These counters increase whenever something is imported or exported. You can clear the value by writing anything greater than one to the ClearMemory flag on the device. This makes keeping count far easier. If you insert a stack of 50 iron ore into the stacker while it has a stack size output set to one, ImportCount will increase by one but once the stack is finished exporting, the ExportCount will have increased by 50.
  • Added Logic Batch Reader. This functions much the same as the Batch Writer. You select a device "type" on the network, the variable you want to read, and then the method you want to read them via (Sum, Average, Minimum, Maximum). You could use this to read the Sum of the power output from solars, for example, or find the maximum stack setting across a bunch of stackers. You could combine it with a bunch of slot readers, to reach the total amount of quantity on a bunch of slots. Constructable on the I/O logic kit.
  • Removed logic functionality for import and export on devices. This has been depreciated for the Slot Reader. Note: This will break anything relying on Import or Export variables in the logic system - you will need to replace the Logic Reader with a Logic Slot Reader and configure it.
  • Added Slot Reader. This allows you to configure to read a particular slot in a device. Different slot types will give different options. For example, stacks would allow you to read stack quantity, hash type, damage state, and more. Gas Canister slots allow the reading of Pressure and Temperature, directly. This provides much more power than the previous system. Note: This change will cause Logic Readers that used the old Import/Export variables to be broken, as well as hydroponics stations.

    Interface
  • Refactored Inventory control for keyboard and mouse. Now features docked windows, use keys to open and close or click with mouse to change. Allows multiple windows to be open, scrolling between all open slots and interactions. Mouse now allows movement between slots within players inventory and onto the ground. Better support for language and keyboard changes, and reduce memory and garbage collection significantly by pooling windows and slots. Unified event-based slot management means that keyboard and mouse control results (should) be unified and (should) reduce the maintenance cost of running dual systems.
  • Added automatic replacement of LEFT ALT to the new bind RIGHT ALT, as LEFT ALT is now used for mouse inventory control. If you want to do small changes, you now by default will use RIGHT ALT.
  • Changed default keybind for QuantityModifier to C from RightAlt based on community feedback. Note: this will not affect existing bindings, so you will have to manually change it yourself. It will only affect new installs or those who reset their controls.
  • Added keybind for ThirdPersonModifier defaulting to LeftShift. This keybind replicates the behaviour previously on Alt (Free-look). When held, player can zoom in and out using the mouse wheel, and freely look around without rotating their character in third person.
  • Added temporary icons to let player know what they are doing when they drag with mouse inventory control.
  • Added Hide All Windows key, defaults to Tilde (BackQuote).
  • Added Light state status icon. This will show if you are wearing a helmet with a light. It will show the current light state, and the key required to change it. This helps prompt players for the hotkey to turn their lights on and off.
  • Added Active Hand Power state status icon. This will show if you have something in your hands with a On/Off state. This helps new players learn the hotkey to quickly toggle something on and off - such as a tablet or a mining drill.
  • Added crowbar tooltip message for Area Power Control.

    Terrain Refactor & Optimization
  • Changed ores to use an object pool (Bonus, now ores maintain their rotation between saves!).
  • Refactored some parts of chunks/"crystals" while in the process of more general terrain refactoring.
  • Refactored Asteroid and ChunkObject. Just removing some useless/unused code in preparations for larger changes.
  • Changed some heavily used parts of Chunk Object to use Grid3 instead of Vector3 to gain some performance.
  • Added caching of interactable and slot bounds. Previously, the game was generating them for every object on the objects creation. This could cause delays and problems when loading assets. Now this is cached when the asset is made or changed so running games do not need to generate them.

    Other Changes/Fixes
  • Added 3d printer effect to simple fabricators.
  • Added Kit (Portable Generator) can be made on Electronics Printer.
  • Changed Ingot stacks spawned by the debug menu will now contain the maximum quantity.
  • Increased Pressure Regulator max setting from 100 atm to 200 atm.
  • Fixed Inability to force feed heal/stun pills or split stacks of them. Also added blueprints for precision placement mode. Masoneer Bug List #0001.
  • Fixed missing blueprints for many items.
  • Fixed some furnace strings not localized.
  • Fixed null reference when reverse going through Logic Slot Reader.
  • Fixed unlimited door label text. There's now a 32 character limit on the displayed text on a composite door and each world will be split if longer than 8 characters.
  • Fixed Pipe Analyzer now paintable in kit/item form and will properly perserve its colour when deconstructed.
  • Fixed Wall Arch variant was not set to 'Block Gravity', so a room completed with them would not properly have gravity applied as per other wall types and frames.
  • Fixed 'Large Panel' wall variant not blocking air or sunlight. Masoneer Bug List #0121 (Credit: JawnyCat)
  • Fixed player climbing infinitely after ladder removed. (Masoneer Bug#0152 - Credit Austin5003)
  • Fixed Sorter white-list drop down box was sometimes appearing empty if they had been cleaned up prematurely. (Credit: Risu)
  • Fixed Slot type on CartridgeGuide so it can now be placed correctly into a tablet.
  • Fixed Sleepers kicking humans out when loading a save.
  • Fixed Batch Reader not sending Type change to server, and not changing. Credit: Draz.
  • Fixed thing names not showing up correctly on eReader Cartridges for Chinese, Japanese and Korean.
  • Fixed Error when changing Anti-Aliasing setting via the main menu after leaving a game (Thanks virusek20).
  • Fixed Circuitboard (Hash Display) was not craftable. Now added to Electronics Printer and Fabricator.
  • Fixed hash errors with displaying the hash for an object in a localized tooltip. Credit: Risu via discord for the new Regex line.
  • Fixed Batch Reader displaying wrong type. Credit: Risu via discord.
  • Fixed junk collider left in scene that caused collision issue on new map.
  • Fixed could place Sleeper, Solid Fuel Generator, and Locker without a frame below. Now requires a frame below it.
  • Fixed plants growing in hydroponics trays and stations disappearing too early on clients.
  • Fixed objects were not being scaled correctly when put into slots. Now correctly scale objects that are placed in slots so that they fit if the slot is smaller than they are.
  • Fixed Slot Reader was not serializing the selected slot. Now correctly saves and loads the slot index.
  • Fixed some missing localization strings for Logic Systems (much more to follow).
  • Fixed inconsistent egg shell stacking behaviour. (Credit: jpdoulos on the Steam Bug Board)
  • Fixed portable GPR throwing a null when it reads a bedrock voxel.
  • Fixed occasional bug with Radiator or Pipe Label placement onto a pipe whose rotation includes small floating point precision errors. (Credit: Eearslya, Risu)
  • Changed the tooltip on the solar panel from displaying visibility to displaying the more useful and relevant efficiency.
  • Fixed visibility of solar panel. It was always displaying a minimum of 17%.
  • Updated Language files for German and Spanish (Credit: Bonbon_kocher & socramazibi)


Consolidated Patch Notes v0.1.1496.7096

$
0
0


The summer sale is over but the weekly update run continues, with big changes this week to old systems as well as some new ones. Terrain generation got the biggest update, but changes to the ground and jetpack-based movement and gravity will also be the first thing many players notice. Additionally, a lot of back-ground systems have been improved like the settings system (including all key-binding functionality) and much more. The new world screen even has its first new addition in several months.

Attention bilingual Stationeers!
All the translations done for the game thus far have been submitted by members of the community via the #localization channel in Discord. If you would like to participate, check out the pinned post there for instructions. We had some long overdue updates for several languages this month, so a big shout-out to all those already contributing.

Character Movement

NOTE: Significant changes have been made to several aspects of the character movement system to address player's concerns and fix some underlying issues in the back-end. If you only read one thing in this update post, read this!

Previously the game used a unified system for moving the character, simply applying forces. This meant that it took some time for your character to accelerate when you pressed a button. That was fine for jetpack movement, but it was bad for general character control when walking because it meant you felt like you were walking on ice. It also made a number of players get bad motion sickness.

The dragables have also had their mass values changed, such as the crate and the tanks. This should make them more stable when dragging.

The jetpack how gets less efficient when flying higher, effectively limiting the height you can go to. You can bind keys to change the thrust values, and see the current thrust in the top right.

As with much of the game, none of these changes are final and will continue to evolve based on internal testing and user feedback.

Planetary Changes



A number of both visual and significant gameplay changes have occurred for planets. Primarily planets now have temperature curves, meaning their temperatures may be quite different at midday compared to the deep night.

Planets also have varying solar constants, that is how much of the suns energy they get, and this affects growing, solar panels, and so on. They also have varying gravity, and the sun may be offset in its pass over the horizon.

Europa

Introducing the latest addition to the Stationeers world lineup, our take on one of Jupiters many moons - Europa! It'll be the one of the toughest challenges yet, as despite an abundance of Oxygen you'll need to get shelter from the cold as soon as possible as your suit battery will be drained in no time trying to keep your suit warm.

This world, unlike the real world counterpart, has a significant atmosphere. Our world has been teraformed slightly by melting some of the ice - and produced abundant (but extremely cold) oxygen gas.

Hardsuit



The classic spacesuit has been given an overhaul as we start thinking more about tech progression in the game. The hardsuit absorbs a higher velocity when impacting, and it has significantly better insulation properties than the standard suit - a must for any of the cooler worlds.

Terrain System Refactor



We teased last week that terrain improvements were in the works. While other systems have evolved steadily through early access, one issue that was immediately apparent to new players was it felt like you were on a small island floating in space. Now, not only will the terrain generate further out from the player, but it'll also do it much faster.

Reagent Reader


One of the final pieces of the automated manufacturing puzzle has been filled by the Reagent Reader, allowing logic networks to read the full inventory of a crafting machine, or the requirements of the currently selected recipe.

Smart-Rotate


When placing pipes, cables and chutes you can now hold the Quantity Modifier keybind (default C) and use your mouse wheel to loop through rotations that will match all surrounding valid connections for the variant you're constructing.

User Interface Updates

You'll find several of the game menus have been given significant updates. The new world screen now includes some basic details about the worlds default settings. The settings menu has been reorganized and the key binding process now supports a wider range of input devices, is more intuitive and will inform you of any conflicts.



The audio settings page also now features togglable settings for each of the voice notifications as well.



We are also providing more information on the new world screen before you start your game. All of this has been designed with modding in mind, so the game would automatically pick up any modded worlds in future.



Other Improvements

We've also introduced some new visual features, such as Atmospheric Scattering and the ability to adjust Ambient Occlusion via the settings menu. The mouse interface has continued to evolve with the addition of item dragging between the world and your inventory slots as well. Significant changes to the function of the furnace and dozens of other fixes have also been included and as always, are listed below:

Version 0.1.1496.7096
  • Added recipe for 'hard suit' and 'hard suit helmet' to fabricator
  • Added Suit damage variation. Hardsuit absorbs far more damage on collisions than the normal suit. Uniforms also absorb damage. Players will take brute damage to their whole body after suit and uniform is destroyed
  • Added height efficiency scale for jetpack. Reduces effectiveness of the jetpack at high altitudes on worlds. Does not apply in space worlds. Does not apply in rooms (so rooms built at altitudes, the jetpack will work. This is done to reduce players travelling to extreme altitudes with the jetpack.
  • Added Trilight Ambient lighting settings for each world, scaled based on current solar strength. This means that nights will remain very dark, but during the day, there will be color specific ambient light in shadowed areas.
  • Added Configurable Voice Notifications. You can now enable/disable individual voice notifications in the Audio settings menu. These are saved with the rest of the game settings.
  • Added planet support to skyboxes. Europa now has Jupiter and the Moon has Earth.
  • Added solar energy scale. Different worlds will output different levels of solar energy, affecting the efficiency of solar panels and growing plants using sunlight.
  • Added planetary atmosphere changing depending on time of day. You're now able to define temperature curves in worldsettings.xml
  • Added path-based localization file parsing. This means all translation files no longer have to be located in the same folder, allowing translations to be included with mods or custom scenarios.
  • Added fall-back translations. Previously if the translation library for a particular language was missing an entry, that entry was replaced with an error string. It will now use the English version where the version for the current language setting is unavailable.
  • Added first pass of Hardsuit & Hardsuit Helmet. Exactly the same functions as the Spacesuit for now. Second pass will have more.
  • Added new world first pass, Europa.
  • Refactor Terrain Generation. The majority of the terrain generation system has been significantly re-worked resulting in vastly improved generation times and generation behaviour that makes it less obvious to the player. The range around the player in which 'chunks' are generated has been extended in all directions.
  • Updated the terrain shader to support secularity and set the appropriate values for each world type.
  • Readded allowing both radiative and convective heat transfer at the same time.
  • Refactor Character Movement. Important! Character movement when grounded has been moved from force based, to velocity based. This means that the character will no longer feel floaty when walking. When you push a direction to move, your character will move in that direction at the set speed, rather than applying a force in that direction.
  • Added JetPack Stabilizer on/off, includes optional binding to turn on and off.
  • Added two extra slots to JetPack.
  • Added optional keybindings for Suit pressure/temperature when worn in suit slot, and jetpack thrust up/down when in Backpack slot.
  • Added thrust interactables to Jetpack for changing thrust. Displays in the top status what current thrust is.
  • Added real world gravity settings for worlds. Now the moon and mars are set to their real world gravity settings. Room gravity will still be applied at as earth gravity. You character will "stick" to the world somewhat when moving, so you shouldn't fly off when running around the terrain so long as you are not going too fast.
  • Added Ambient Occlusion setting. This allows users to control the level of ambient occlusion provided by the game, if they are running the game on a lower-end computer they can set it lower. Previously the game has been defaulting to "ultra", the highest setting for ambient occlusion. AO helps make the flat color texturing of objects in stationeers "pop" and look much nicer.
  • Added category headings to controls assignment menu to provide more clarity.
  • Added HUD turning on while hovering over HUD scale, to allow you to better configure what HUD scale you want to set.
  • Added save window placement on exit. Now will reload with the window state when it was saved. Also saves which is the active hand, and what slot was selected with the current highlight.
  • Added support for all device button and key assignments to game controls. This will allow you to bind any buttons on your mouse to any of the controls. This includes gamepad buttons, however no axis support (yet).
  • Added conflict checking to controls scheme, and a window poping up to advise players when a conflict exists. This warning will show in the main menu screen when a conflict exists. Any conflicts in the controls scheme will show in the conflict assignment window itself in red.
  • Added first pass of new window based controls assignment. Now when you click a control assignment, it brings up a new window and prompts you to begin recording the new control. Second pass will include checking for duplicate assignments and prompting the player.
  • Added AtmosAnalyser will report if in a room or in world, to help with debugging.
  • Added hungerRate command to dedicated server RCON
  • Added tooltip information to furnace indicating furnace is not hot enough to melt provided item. Also provides information that activate button can be used to melt ice that is placed inside it.
  • Added first pass of mouse drag and drop from world. With mouse enabled (Left Alt), click and drag an object from the world to a slot. Currently Move, Insert, and Merge are supported. Swap is not supported yet.
  • Added Drag and Drop insert functionality. Able to insert items directly into some items just by dragging over the item. For example, dragging steel sheets directly onto a backpack in the backpack slot will allow you to insert the steel sheets directly into it, without the need to open it up.
  • Added Atmospheric Scattering for Mars world. This adds atmospheric scattered fog to the world, that varies with the daytime. Must be enabled in Video options. Disabled by default until performance impact assessed. Known issue: makes the sun very large.
  • Added Stacker wheel can now be set to a value directly with the labeller.
  • Added Road Flare will ignite Internal Atmosphere of its parent if in a slot, for example in a furnace.
  • Added Reagent Reader. This logic unit is able to read the current recipe, reagent contents, and required reagents for any manufacturing device and report the quantity for that reagent. Buildable off the Logic I/O kit.

  • Updated Localized translations for Spanish, French, German, Russian and Traditional Chinese.
  • Tweaked Insulation and damage factors for spacesuits. The default suit is not as insulating as previous, but the new hardsuit provides excellent insulation.
  • Removed helmets auto-flushing (purging their contents) when closed. Now when closed it will still have some of the current atmosphere in it, and you'll need to auto purge.
  • Changed BatteryCharger placement so that it needs to be placed against a surface.
  • Refactored settings system. Largely the end user will not notice many changes, possibly a little faster. Mostly this new system makes it much easier and less prone to bugs for developers to add new settings.
  • Refactored control saving and loading. Solved unable to assign defaults for controls after previous refactor.
  • Changed Construction Cursor to offset based on bounds of what is being created. This means small objects will be closer to the player and their grid selection will be more consistent.

  • Fixed players able to change direction and velocity while flying through the air without using jetpack.
  • Fixed edge case where respawning while in a loaded world caused an exception which broke the resetting of user interface.
  • Fixed UV seam on the Europa's Jupiter.
  • Fixed Moon not tidally locked to earth.
  • Fixed Atmospheric Scattering not being correctly set in Main Menu.
  • Fixed Draggable objects too easy to move around, flying off easily in low gravity environment and glitching too easy. Was caused by mass being set to same as player. These now have five times the mass of the player. This should make them more stable when run into by player.
  • Fixed powered items would remain powered after their battery was removed. Now check is again correctly applied, was broken due to fixing another bug. This meands portable lights will power off when the battery is removed, as they used too and should - but were not.
  • Fixed nulref when scrolling with mouse wheel (down in particular).
  • Fixed new world menu kept populating worlds each time you visit it.
  • Fixed missing Europa Skybox (only works on new worlds).
  • Fixed new character controller not allowing proper jetpack movement in rooms, not jumping well enough in rooms, jumping too far in low gravity, and walking over objects being too strong.
  • Fixed hunger rate not loading on dedicated servers.
  • Fixed issue with starting conditions not being parsed correctly for scenarios.
  • Fixed Moved Mouse settings from Misc to Controls settings tab.
  • Added setting for toggling Lens Flares on/off. Default is on.
  • Fixed nulref in inventory. Caused by premature destruction of inventory windows. Now tutorial proceeds, and inventory windows are no longer prematurely destroyed on brain assignment to body.
  • Fixed world drag to inventory showing incorrect invalid icons. Now world drag is not initated incorrecly when dragging from inventory to inventory.
  • Fixed chunks updating ore visualizers properly.
  • Fixed error caused when UI tried to set a button as active before any buttons had been created.
  • Fixed top of helmet visible after leaving a slot (chair, sleeper etc).
  • Fixed Possible NullCheckException error when trying to save slot window state, preventing game save.
  • Fixed more InventoryWindowManager references to stop them running on dedicated server
  • Fixed With chunks not loading properly if there is only one player connected to a dedicated server.
  • Fixed stacker setting causing exception when set using Logic. Now correctly allows setting via logic without breaking.
  • Fixed dedicated server issue with InventoryWindowManager being called.
  • Fixed missing reference of InventoryWindowManager in InventoryManager in base scene.
  • Fixed nul ref when changing controls after having played a session and left back to main menu. Was caused by cleanup events being skipped. Now ensured that cleanup events occur, removing old UI windows when players leaves a session.
  • Fixed thrust unusually strong when using jetpack in gravity environment.
  • Fixed nulref on certain devices when loading, thanks to active vent fix.
  • Fixed inability to respawn after loading a game in which you're dead.
  • Fixed Active Vents losing their pipe network, typically when a network they are connected to is merging with a large network (also occurred with engines). Sometimes in a merge their current pipe input network was being nulled when removed was occurring after the add was being processed. Now only nulls if the removed network is their current one.
  • Fixed Logic Motherboard Actions for Activate not able to be changed.
  • Fixed Mouse Button assignment to hotkeys showing badly in the hints, such as on status indicators or slots. Now assignments can show as an image.
  • Fixed invalid drag and drop results were still being actioned, allowing you to put things into slots you should not able to. Now results of drag and drop correctly enforced.
  • Fixed items in hands not updating their status correctly. For example, opening a canister in your hands. Now objects in hands correctly update their status. (Credit: Carlen White via Discord).
  • Fixed chatting or labelling was causing inventory actions (such as InventorySelect, F) to run. Now while chat typing or labelling, Inventory controls are disabled. Mouse control still enabled for typing but only with the mouse - not F key.
  • Fixed closed inventory windows and slots can still be interacted with by pressing InventorySelect. Now when slot is hidden, cannot be interacted with.
  • Fixed player status in the top right not updating while MouseControl activated. Most noticable while changing the pressure using the PressureUp interaction. Now this window runs independently and will continue to animate.
  • Fixed null ref when clicking in world when using drag and drop from world but cursor hasn't cast to anything.
  • Fixed Suit Storage and Pipe Connectors were not mixing, they were just meeting some pressure requirements. Now they will fully mix their atmospheres.
  • Fixed running in DX9 with Volumetric Light enabled causing errors and broken rendering. Now Volumetric Lighting (and Atmospheric Scattering) are automatically disabled when running in DX9, and cannot be turned on.
  • Fixed able to interact with Sorter and Vending machine export slots.
  • Fixed Furnace changes for ice causing ice in hidden slots (like mining belt) to continue to melt in sun. Now no longer allow this as it was before.
  • Fixed Labeller setting directly on non-logic devices was not being applied for non-host clients. Now server correctly processes non-logic setting requests from a client using a Labeller.
  • Fixed Gas Canisters not updating their values. Last time only fixed it for things with showing interactables (the suit) but not for the backpack.
  • Fixed jetpack not hovering properly when in gravity. Now counteracts gravity completely.
  • Fixed furnace producing infinite amounts of gas. Now the ore will only be smelted into its reagents if the furnace is above its flashpoint temperature. There are still some gas exploits remaining that will be fixed later. Note: this will alter how you create ores with a brand new furnace. The ice will eventually cool down the inside of the furnace, so you will need to heat the furnace up with their the sun or another gas or an igniter to get it started.
  • Fixed Ground Penetrating Radar was missing it's blueprint.
  • Fixed interactions sometimes get disabled and are not able to reinitialize until removed. Now get correctly set and reinitialized.
  • Fixed RAND function on Math Unary always returning the same random number for all logic units. Now each logic unit will generate its own randomized seed for each random function.
  • Fixed can paint StellarAnchor kit, and paint applied to Mothership kit will be applied to structure when placed.
  • Fixed could not return to game when the leave session popup shown.


Consolidated Patch Notes v0.1.1544.7268

$
0
0


Besides the usual additions and bug fixes, this week features a lot of balance changes to existing systems, and improvements filling in some gaps in the reagent system and related production chains.

You can now freely drag items into slots in the world. Drag an object from your backpack into an input slot on a machine, or in a locker, or even swap things inside a world object.

Chunk Rendering Optimization

There is a major performance improvement with this weeks patch. Check your Chunk Render distance setting to adjust for your PC specifications.



While the views were awesome after the last update, they caused major performance issues for many. Now we have added a Chunk Render Distance slider to the video settings, and we are only displaying chunks within this distance. We achieved significant performance improvements, so play with this slider and we believe everyone will be back to at least what they had before last patch, and probably better!

Balance Changes
  • Filters (in your suit, filtration machines and dynamic scrubbers) will be consumed over time - don't forget to keep an eye on them!
  • Batteries will now lose charge if they're in cold environments.
  • Gas Generators now have an acceptable operating temperature. They must be surrounded by an atmosphere between 270 and 370 degrees Kelvin.
  • Suit performance (heating, cooling, pressure maintenance) now scales with its current condition.
  • Lungs will now take scaling damage based on how hot/cold the air they're breathing is.

This is in addition to last weeks similar changes that you should be aware of:
  • Planets now feature temperature curves, meaning they may be quite different between midday and midnight.
  • Planets have varying solar constants, so solar panels directly facing the sun will not generate the same amount of power on all planets.
  • The axis in which you're rotating around the sun is now variable. A simple one-axis solar tracking setup will no longer maximize efficiency.

Ladder Improvements



To help ease the use of Ladders we've added a floor frame featuring a hole for ladder access. Ladder placement has been simplified, and a new end variant is available on the ladder kit. The ladder platform is also on the ladder kit.

Reagent Changes

A few gaps in the production chain have been filled, and you can now process Ferns in the Reagent Processor to produce Fenoxitone. This can be combined with some rarer alloys to create replacement pills, or combined with Soy Oil to create Milk - finally opening up the Muffin Recipe, if you can source your own eggs!

Repositionable Inventory Windows



A big change on the UI front this week is you can now undock inventory windows and place them freely around your screen. These locations will be saved with your game and restored upon load. You can reset the position of these windows via a button on the general settings screen.

New Status Indicators

There are also several new status indicators to let you know when your oxygen tank is running low (rather than just your lungs, as it did previously) and if the filter in your suit needs to be replaced. There are also new indicator icons on your suit and helmet to indicate they have been torn and require duct tape.

Batch Slot Reader



The Slot reader has proved pretty useful, but again you needed many of them to automate your smelting operations. Now we have the batch variant built off the I/O kit. This, like the batch reader itself, allows you to min, max, average, or sum the result.

New Logic Options

This week in the logic system, we've added some new math functions to the Unary chip (Sin, Cos, Tan, Asin, Acos, Atan) so people can flex their trigonometry muscle calculating optimal solar control networks taking into account the new solar angles. Solar sensors used to read only the vertical angle of the sun. Now you can change mode on them to read out the horizontal angle as well, to further aid with those solar control networks. We've also added a new value to power generators, so you're able to read the amount of power they're generating at that time. Finally, the Math Processor chip now has Atan2, Pow and Log functions.

Circuitboard (Advanced Airlock)

A new circuitboard is available on the Electronics Printer that lets you create airlocks for dual pressure environments. Allows assignment of an internal and external door, with a matching internal and external pump. You can set the internal and external pressure that will be met. When cycling the circuitboard will completely clear the room with its designated vent, before refilling the room with the designated pump. Useful for airlocks in environments where you have matching, but different, atmospheres instead of vacuums.

Small Locker Variant



We now have a smaller locker variant that has been much requested by the community. Buildable from the Locker Kit.

Version 0.1.1544.7268
  • Added advanced airlock control circuitboard. Allows assignment of an internal and external door, with a matching internal and external pump. You can set the internal and external pressure that will be met. When cycling the circuitboard will completely clear the room with its designated vent, before refilling the room with the designated pump. Useful for airlocks in environments where you have matching, but different, atmospheres instead of vacuums.
  • Added Ladder End and Ladder Platform, buildable off the Ladder kit. Place these to have intermediary floors you can get off at. Press jump key to get off at intermediate floors. Ladder end makes it easier to get on a ladder above a ladder platform.
  • Added voice notifications for Jetpack, Air Tank, and Filters.
  • Added small locker. This holds only four slots, and is constructed as a variant of Kit (Locker).
  • Changed Kit (Locker) to use 2 kits when constructing the large locker, small locker will only use 1 kit.
  • Added first pass of mouse control of world slots and interactions. With mouse control enabled, you can now directly interact with slots and interactables in the world. Such as opening a crate, and swapping items in your inventory with it.
  • Added Filtration Machines and Suits will not display Filter error state for a used up filter, if another filter of the same type that is not used up exists.
  • Added Unloader. Will empty all slots of the provided item. Constructed from stacker kit.
  • Added first pass of turbine generator. Generates 90W of energy from 1 atmosphere of pressure moving through it. Moves up to 1 atm per tick, so capable of generating 180W per second.
  • Added Headlamp that provides illumination without having to wear a helmet.
  • Added Mining Drill "flatten" mode. When turned to flatten, the drill will not destroy terrain lower than the position the player is at. This is useful if you want to perfectly flatten an area around you. Default mode is the current mode. This can be toggled in the interaction menu for the drill.
  • Added sound effects to elevator.
  • Added sounds to jetpack for movement.
  • Added warning and critical status indicators for Air Tank low, when wearing a suit. Voice notifications to follow later.
  • Added filter caution and critical visual warnings (audio to be recorded). Will show when suit worn that does not contain a filter or contains empty or low filters.
  • Added fitration machine and scrubber will now report errors if they contain a filter than is fully spent.
  • Added can use crowbar to force open unpowered and unlocked elevator level doors.
  • Changed Gas Filters to be a consumable. Each Gas Filter will last roughly 2 hours. We will introduce different gas filters that will last longer. Once they reach zero they will be useless, but can be recycled.
  • Added PowerGenerated logic variable. This reports how much power is being generated currently on the device. Added to the Solid, Gas, and Turbine generators.
  • Added new modes for solar sensor - horizontal and vertical angles. Mode 1 is horizontal, mode 2 is vertical.
  • Added undock ability for Inventory Windows. Click and drag the window title bar of the window you want to move, and let go where you want it. This slot will always open there now. This will persist with your save. If you would like to redock the window, click the redock button and it will return to its original location. You can reset the window position in the Settings menu if they get off screen for any reason.
  • Added Close All Windows button, that also indicates what current control binding for it is. Only shows while a window is open.
  • Added new UI for Inventory Windows.
  • Added new math functions to Unary Math Logic: Sin, Cos, Tan, Asin, Acos, Atan. Did not imagine people would have needed these but they might come in handy with required trig for different solar angles.
  • Added new math functions to Math Processor. Atan2 (y = input2, x = input1), Pow, and log just because. Again these will be useful to mathematicians who want to auto orientate their solars.
  • Added scaled environment damage to lungs. Will take damage faster the hotter/colder it is.
  • Added efficiency to suit based on damage. The more damaged the suit, the less efficiently it will work.
  • Added slot status icons for item on fire, and item leaking.
  • Added a recoil force to firearms that will push you back. Most noticeable in low or zero gravity.
  • Added tooltip to Construction indicating how to use Autoconnect when multiconstructing. Autoconnect how makes an attempt when you first activate it.
  • Tweaked Hardsuit. Now able to heat/cool up to twice as much as the normal suit, but it will use twice as much energy in doing so.
  • Added auto-rotation support to a large range of devices including Hydroponics Trays, Valves, Passive Vents, Pressure Regulators and more.
  • Buffed Portable Air Conditioner. It will now be 5x more effective at heating, but it will use power 5x more in doing so. This simply means it is faster at heating.
  • Adjusted jump to provide a more consistent result.
  • Added Milk can be made at the Chemistry Station from Fenoxitone (ground up fern) and Soy Oil.
  • Added Heal Pill and Stun Pill can be made at Chemistry station from Potassium Iodide, Electrum, Silver, and Invar. Exact recipes look up EReader Cartridge. Note: Powders for minerals must be made using Ingots at the Reagent Grinder.
  • Added Suit Storage kit to Pipe Bender.
  • Added Ladder Kit to Autolathe.
  • Added Spacesuit creation to Autolathe, to allow replacement spacesuits.
  • Added Microwave and Reagent Processor to Electronics Printer.
  • Added Hardsuit to Electronics Printer, so you can make it there as well.

  • Changed Logic Math and Unary Math to take in degrees, not radians. They were previously changed to output degrees, but they were still taking in radians. Now you will need to pass in degrees and you will also get out degrees.
  • Changed suit to report error when filter used up or if when worn on entity it has a bad atmosphere.
  • Changed filters to only get used when actually filtering something. If it is not filtering something, it will not degrade.
  • Changed quantity for Milk and SoyOil. This will cause old saves to load very low quantities of these. They were changed in line with the refactor of the reagent system.
  • Changed cereal bar recipe to require 150g of Flour.
  • Changed Flour, Milk, and SoyOil to display the quantities of their units, not the percentage remaining.
  • Changed Cos, Sin, Tan, Asin, Acos, Atan, Atan2 to output in degrees not radians. Note: This will completely change logic if you were basing them on radians.
  • Changed power consumation rate of Volume pump. It will use power based on it's setting.
  • Changed Batteries and Battery cells so that they will drain power slowly when in freezing environments. They will still lose power inside other things (such as a suit), but they will lose less power based on how insulated their parent is.
  • Changed Gas Generator to require particular atmospheric operating conditions. A min and max temperature, and a minimum pressure. Outside of these the generator will shut down. Also, it now outputs only some of the combusted energy as power, the rest is outputted as heat into the waste pipe.
  • Tweaked character movement controller, fixing the "launching" in air when up against an item or the terrain. Jumping is now also more like how it was. If you are close to the ground, the jump is basically the same on all planets. However, if you jump off terrain into the air it will depend on the gravity of the planet.
  • Removed unloading ability from stacker.
  • Refactored Reagent Processor and Chemistry station to support new medical recipes. Fern and some ingots can now be ground into powder using the Reagent Processor. This can then be used in the Chemistry Station to make various new recipes for medicine.
  • Moved recipe for Hardsuit and Hardsuit Helmet from Electronics Printer, to the Tool Manufactory.
  • Changed Standard spacesuit and helmet will now catch of fire in a hot environment. Use hardsuit in dangerous environments.

  • Fixed gas filters providing too much when recycled.
  • Fixed NullReferenceException when placing an elevator due to linked sound issue.
  • Fixed Airlock Control would open/close doors randomly on network changes and power loss. Now will initialize with it's previous state.
  • Fixed rotation of battery charger and active vent.
  • Fixed Pipe Meter, Pipe Analyser, and Gas Generator reporting in incorrect units.
  • Fixed issue where construction cursor could remain up despite changing hands, dropping the construction kit or moving it using the mouse.
  • Fixed voice notifications running on load of the game.
  • Fixed World atmosphere being created when deconstruction a grid, causing room to get very cold on Europa.
  • Fixed issue with pipes not exploding at high pressures due to a change in random chance calculation.
  • Fixed ladders launching you forward when you get off them.
  • Fixed incorrect radian conversion with new math functions.
  • Fixed coal not outputting any gas when used in the solid generator. Now outputs hot CO2 and pollutant when used in solid gen.
  • Fixed Orientation of screens on angled consoles.
  • Fixed exceptions when connecting to dedicated server.
  • Fixed Gas Filters would continue to exist even after being negative, achieved by putting them in the Arc Furnace.
  • Fixed Battery and Battery Cells could go into negative with quantity of energy. Now clamped so they will not dip below zero and then take much longer to charge.
  • Fixed getting stuck after jumping or walking, often on the edge of frames, or the edge of objects (such as containers).
  • Fixed not enough reagents in tutorial to complete recipe creation task.
  • Fixed bug when reverb not set correctly for items on load or player join server. Now reverb is correctly set when loading into a helmet.
  • Fixed slight drift on jetpack when stabilizer active. Now stabilizer will keep the player stationary to the best of it's ability.
  • Fixed when adding reagents to microwave (or chem station) when below the use quantity, the full quantity was added. Now scales reagents added if quantity is below use quantity.
  • Fixed Nutrition full indicator would get stuck on warning indicator.
  • Fixed recycling used Filters would output unlimited quantity of materials.
  • Fixed suits still using their atmospheric functions while in the suit storage. Now processing will be paused while in suit storage. Suit and helmet atmospheres will also be purged while in suit storage.
  • Fixed Console Monitor placement bug
  • Fixed tooltip position becoming offset wrong.
  • Fixed batteries in low pressure environments were still taking cold damage at same rate. Now scales down below one atmosphere. This means on mars, the battery loss rate due to cold will be about 3% of what it would be in a cold room or on Europa.
  • Fixed cursor tooltip remaining on.
  • Fixed respawn breaking inventory for clients and host. Now inventory windows will work correctly even after your body has decayed.
  • Fixed Chute Outlet now pays attention to both chute and data when using automatic rotation.
  • Fixed Chute Inlet now pays attention to both Chute and Data for automatic rotation.
  • Fixed precedence issue with heat convection calculations, heat should no longer erroneously transfer from cold thing to hot atmosphere. (Thanks again, Zaneo!)
  • Fixed Composite Roll covers breaking logic when placed over top of them, and networks were reset. They would be registered as devices and take over the assignments for the logic. Now they are registered correctly as Other.
  • Fixed Stacker locking out when filled with over 500 ingots.
  • Fixed Inventory Windows able to be dragged out of bounds. Now cannot drag inventory window outside of window canvas.
  • Fixed performance issues with rebuilding and merging large networks. Community team on Discord provided a new solution that is very optimized compared to old one. This should reduce the lag when merging large cable, pipe, and chute networks. (Credit: #modding on Discord).
  • Fixed major bugs with atmosphere and room generation. Sometimes when voxel changes were registered (through mining) in an enclosed space, a global atmosphere was incorrectly created - causing the inhalation of the existing room. A number of checks and balances have been implemented now to prevent this occuring. Note: while mining voxels you may release small pockets of the global atmosphere. This means that you will notice some changes in temperature as you mine areas out, but it should no longer initiate catastrophic loss of rooms. NOTE: known bug is airlocks failing to always initiate room generation.
  • Fixed construction not cancelled when pressing MouseControl, causing bugs. Now construction is cancelled automatically when player activates MouseControl.
  • Fixed Wall Iron has wrong blueprint grid bounds, was displaying a box in a grid instead of the bounding box of the wall.
  • Fixed atmospheric exception associated with Pipe bursting. Showed as a "max lower than min" error, causing an atmospheric exception that was unrecoverable.
  • Fixed atmospheres able to be loaded with extreme values. When an error occurs with the atmospheric system, it was possible extreme values could end up stored as junk. Now the game will detect these and strip them on load.
  • Fixed atmospheres able to exist in invalid locations. For some reason, atmospheres have been able to continue existing when they should not, such as under frames. Now the atmospheric manager will check for these, and schedule them for destruction if needed. This is a bandaid fix, a more elegant solution will come later.
  • Fixed double jumping.
  • Fixed able to interact with export slot on Pipe Bender. Now it is not interactable.
  • Fixed ladders able to be placed on top of each other. Now must be placed separately. They will not collide with anything else.
  • Fixed bug with not being able to get off ladders.
  • Fixed null ref when loading into a game where no button had previously been scrolled too.
  • Fixed day was ten times longer than it should have been. Now back to regular settings.

  • Updated translation text for Spanish, Japanese, Russian, Simplified Chinese, Traditional Chinese. [Thanks socramazibi, YuanYu, -Ulitka- and lill in Discord]
  • Updated Tutorial translations for Japanese and Traditional Chinese [Thanks lill and YuanYu]
  • Added Italian language option [Grazie Mekko]



Consolidated Patch Notes v0.1.1567.7381

$
0
0


The team was much lighter on the ground this week, so we took the opportunity to slow down on the content releases and do some house-keeping with optimization and hardening work being done in various parts of the game. This will likely continue into next week, as the majority of the team will be away attending the national game developers conference.

Explosion Mechanics



To immediately put your mind at ease, we didn't change anything that makes things more likely to explode. We did however, make it so that when explosions happen (whether via Canister explosion or Grenade) they'll properly apply damage to everything around them. If that happens to be a Stationeer, they'll receive impact damage but also stun damage and may be knocked unconcious.

Expanded Auto-Rotate



Auto-rotate has proven to be one of the most popular quality-of-life improvements we've made in the past couple of weeks, so we've expanded it to include many face-mount devices. The full list is included in the detailed patch notes below.

Trigger Plate



During last weeks dev stream, Rocket[twitch.tv] modeled and implemented a trigger plate that can be used to activate logic whenever an object is on top of it. This can be used for tasks like automating doors, or only powering devices when someone is standing in front of them.


Flowers & Paint Mixing



To provide more base reagents to the game, and provide paint colours in a slightly less magical fashion, Stationeers can now grow a range of colourful flowers. These can be harvested and processed in the reagent grinder to make dye. This can then be combined with oil (and minerals for some colors) in the new Paint Mixer appliance.

New Filters

To build on last weeks introduction of filter consumption, we've added two new size variants of each filter type. These can be manufactured in the hydraulic pipe bender.

Hotfix Version 0.1.1567.7381
  • Fixed not being able to climb on ladders if they were placed below 0 on the Y axis.
  • Fixed a bug where if you clear a item blueprint aligned to a mothership then bring another blueprint up without moving the new one won't be aligned to the mothership axes but otherwise acts as though it is.
  • Fixed Autorotate not finding all options on Mothership Grid
  • Fixed Autorotate not adjusting rotations for Mothership Grid
  • Fixed Holding or tapping the autorotate key while moving between world grid and mothership grid would sometimes cause the placement to not align with the grid
  • Updated Localization entries for French, Italian, Portuguese, Russian, Simplified Chinese, Traditional Chinese, Suomi and Spanish.
  • Changed ratio of Carbon obtained from putting Coal into the Reagent Grinder from 5:1 to 1:10.
  • Fixed NullReferenceException on jetpacks not belonging to players, or players not wearing jetpacks.

Version 0.1.1564.7373
  • Added First pass on new exploding mechanics. Explosions now apply brute and stun damage.
  • Added player will automatically take off when turn jetpack on
  • Added Mission Event trigger for plant growth states.
  • Added ability to use logic to read Quantity value from Pipe Analyzer which will return TotalMoles for the attached pipe network. [Thanks JeepGuy]
  • Added Trigger Plate. Activates a value or activates logic when something is within the trigger zone. Constructable from Kit (Trigger Plate) manufactured on the Electronics Printer.
  • Added Logic values for tanks and battery to Suit Storage.
  • Added kit for Portable Tank creation in the pipe bender, rather than making the tank itself as it tended to clip out and fly around.
  • Added Smart-Rotation support for FaceMounted objects.
  • Added Smart-Rotation to WallLight, WallHeater, WallCooler, Transformers, RTG, FlashingLight, All logic chips, buttons and dials, sensors, consoles and pipe/cable mounted objects.
  • Added Colored Flowers. Grow these and then grind them up in the Reagent Processor to produce dyes for making paints.
  • Added lateral movement even when height efficiency is low.
  • Added Medium and Heavy variants of gas filters. Medium filters last five times as long as the normal filters. Heavy filters last 20 times as long as the normal filters. They can be constructed on the Atmos Printer (Pipe Bender).
  • Added additional organics crate to default starting conditions. Includes flowers, and more food.
  • Replaced set of Road Flares in Construction Crate in default start with an Advanced Airlock Circuitboard.

  • Fixed Custom key assignments not saving correctly.
  • Fixed Elevator placement erroring when placed in same voxel as a wall by adding Z-Axis padding on the Elevator Shaft prefab so that it correctly registered as occupying 2 voxels.
  • Fixed Issue with new world screen entries being duplicated if coming from the workshop screen.
  • Fixed Issue with drag-and-drop thumbnails and drag-to-slot.
  • Fixed Top placement bug for FaceMountable objects.
  • Fixed Missing shake effect on ores caused by terrain refactor.
  • Fixed Jetpack Caution notification not occurring, only jetpack critical.
  • Fixed Not able to crowbar elevator open and closed.
  • Fixed Cereal bar using 150g of flour instead of 50g.
  • Fixed Constant drain of propellant when in zero gravity environments.
  • Fixed Switching hand to an empty slot while using the mining drill resulting in a null error requiring a restart to resolve.
  • Fixed Inability to launch tutorial due to corrupt translation file.
  • Fixed Ore orientation randomly changing while being mined by changing the shake effecting position to rotation
  • Fixed bug causing jetpack stabilization not working while using the labeller.
  • Fixed jetpacks sending many more network messages than it needed to.
  • Fixed Attempted to reduce instances of NaN batteries in cold environments. Should also clear their broken state on save load.


  • Added Suomi (Finnish) translation.
  • Updated Localization files for German, Italian, Russian, Simplified Chinese, Traditional Chinese and Spanish.

Consolidated Patch Notes v0.1.1586.7476

$
0
0


We finished a week that was a perfect storm of tragedy and sickness hit the team this week so most of the team have been out of the office. Still, we were able to push some key areas but the bigger changes tend to get left to the side until all hands are back on deck.

Intermittent Stuttering

Last month we had some major progress on key areas, such as dramatically increasing rendering distance for terrain and how terrain is generated. Great stuff! But as we increase the amount of work the game does - it increases the amount of memory used and in particular the turnover of that memory.

As we are using Unity, and specifically C#, this memory is managed by the game engine itself. As you no longer need information this memory is cleaned up. This process is called "garbage collection", and when this occurs if too much has to be cleaned up at one time - you get stuttering.

This is most noticeable as a stutter or frame-skip every few seconds (or more of less regularly). There are many areas where we have favoured easy to read and understand code over well performing and memory managing code - because it dramatically increases the speed of development. But a few of these key areas are so bad they have to be cleaned up.

We identified jetpacks, and terrain generation, as the two major problems we can easily deal with to reduce stuttering. Jetpacks had some solutions this week, so you might notice improvements if you had stuttering. Rest assured, we'll be continuing our work on that next week and beyond. Garbage collection is a problem we will tackle through the entire length of the project, and probably beyond.

Scenarios

You may have noticed a new Scenarios button on the main menu. Scenarios as they currently exist, are a more structured way to play the game. They're not intended to replace the current survival mode, but instead use the existing systems to let people focus on particular areas of the game, or play through stories authored by you and your fellow Stationeers. Instead of generating a new world, scenarios take place in a pre-authored one, like loading a saved game. From there the player is given a set of tasks, much like the tutorial. Once these tasks are completed, you can progress onto the next mission stage.

One feature of this system that's not immediately obvious, is that these stages and tasks can be authored by players, applied to their own saved world and uploaded to the Steam Workshop. We expect to be constantly expanding this system to introduce new task types, actions that can be triggered by certain tasks and random events etc - so if you have something in mind you would like to add to expand a scenario you're working on, swing by the #suggestions channel in Discord and tag @Heightmare.

Currently, the first official scenario 'Escape From Mars' is only available via the Steam Workshop - but once the last few bugs are ironed out it'll get added to the base game. Once this happens, the workshop version will serve as an example for how you can author your own.

Auto-Rotate Everything*



Auto-rotate support has to be manually added to every structure in the game we want it to apply to. Luckily, we're reaching the end of this piece of work and barring a few outliers, you should be able to use the auto-rotate tool (C by default) to place almost anything in the game.

New Plants



To give you some early-game food growing options that weren't dependent on sunlight, we've added Mushrooms to the game. They'll give you roughly the same nutrition as an uncooked potato, but recipes will be added in time. Rice and Pumpkins both require light, but have varying growth speeds and nutrition values.


Version 0.1.1586.7476
  • Added Autorotate support to almost 50 structures, meaning it now supports almost all of the structures currently in the game.
  • Improved Autorotate to work with grid objects that have rotation restrictions.
  • Optimization Identified Jetpacks as the cause of a lot of memory allocations and made several improvements.
  • Added Scenario Menu. No official scenarios are included yet, but support for workshop scenarios has been enabled. This will be better detailed in the next patch and documentation on how to build your own scenario will be provided in the #modding channel in Discord when it's ready. The Scenario button will be disabled if no valid scenarios are detected in your enabled mods.
  • Added Pumpkin. Provides a lot of nutrition but grows slowly. Can be turned into Pumpkin Pie with other ingredients.
  • Added Rice. Grows fast but does not provide much nutrition. Will be used in future recipes.
  • Added mushrooms. Do not require sunlight to grow, but take much longer than other plants to mature. Gives roughly the same nutrition as an uncooked potato.

  • Fixed AreaPowerControl consuming power but not adding that power to the inserted battery if it was powered off.
  • Fixed Log and Pow logic math functions were using Input2 twice, instead of Input1, Input2. Should now be using both inputs correctly.
  • Fixed credits button taking you to the scenarios menu.
  • Fixed Index Out Of Range error caused by GetPercentageString if a status update percentage went over 200.
  • Fixed ConsoleMonitor Autorotate bug.

Consolidated Patch Notes v0.1.1603.7531

$
0
0


The team is just starting to get back on track after a few slow weeks at far below full-strength, but we hope you enjoy all the new stuff we've got in store for you! From the next phase in Scenario development, to some new toys and extended modding support:


Portable Hydroponics
A new early-game option for growing that first critical crop of food is the Portable Hydroponics tray. It has been added to your starting equipment and comes pre-loaded with a small canister of water to get you started. It'll still be up to you to provide it with a suitable growing atmosphere and source of sunlight, however.



Escape From Mars



The Escape From Mars scenario has been pulled off the workshop and integrated into the base game, but is still definitely in an early version. After a few more people have had a chance to play through it and give us their feedback we'll do some balancing, but the last few pieces of the puzzle are in now and the entire scenario can be completed without creative mode. BE WARNED - it is definitely a challenge. You'll have a far more limited set of starting supplies, and will need to be able to use a furnace to create some of the late-game alloys and a large quantity of mixed fuel in order to complete all the objectives. You'll find a guide tablet near your starting location that can offer some additional tips relevant to the stage you're on, and can save your progress and return to it later.



Klaxton / Loudspeaker



Flashing lights not quite grabbing your attention when your batteries are running low? Grab an ItemKitSpeaker from the Electronics Printer and use logic or your screwdriver to choose from one of 6 alarm sounds and 3 music tracks to assault the eardrums of your bases inhabitants.



Hardsuit Jetpack/Backpack




We've added two new backpack variants to go with the new suit added last month. One is just a newer version of the existing jetpack with slightly more storage. The bigger change is you can now opt to go without the jetpack functionality in favor of even more storage, especially useful if you're just running around your base.



Modding Data Expansion
In our ongoing efforts to improve modders ability to customize the game, we've exposed many new values to XML. This covers a broad range of item values from food stats, to battery capacities etc. This system will ultimately be used to balance large portions of the game, as many of these values are configurable to devs but previously not to everyone else - from item mass, to combustion temperatures, flammability and burn-time and much, much more. The example mod archive included with the game has been updated to demonstrate how to use these tools, but expect more information to come in the near future as more values are exposed.


Version 0.1.1603.7531
  • Added Escape From Mars scenario to base game, but still requires a lot of balance and currently will be very difficult to complete. If you do try it out, drop by Discord and let us know what you think!
  • Added Speakers can now be linked to Airlock Controllers. When a speaker is linked to the airlock controller, it will be turned on and off in the same way as lights are - when the airlock is processing all Speakers will be turned on.
  • Added Speaker (Klaxton). Has six alarm sounds and three basic music tracks. Set the different tracks using Mode, turn on and off with external tool. Can set volume either via logic, or via a screw on the speaker itself. Constructable from a Speaker Kit, which you can build on the Electronics Printer.
  • Added Hardsuit Jetpack. Has increased capacity (forteen slots) as well as full jetpack functionality and increased environmental protection for contents. Constructable from the Tool Manufactory.
  • Added Hardsuit Backpack. This has more slots, but no jetpack capability. Constructable from the Tool Manufactory. Useful where you want more storage space but don't require jetpack.
  • Added first pass of setting prefab attributes through modding. There is now a new XML type "ThingModData" which is a list inside "ThingMods" in GameData. This allows you to overwrite prefab values that were previously hardcoded in the prefabs. So far, variables on Thing, DynamicThing, Item, Food, GasCanister, and BatteryCell have been exposed. An example mod is included in the game folder (StreamingAssets\AttributesExampleMod.zip), as well as on the workshop (don't run while playing the game, it makes eggs unusable in recipes). Note that over time more and more attributes will be exposed, allowing you to mod more and more of the game.
  • Added Portable Hydroponics. A dynamic item that contains four planting slots, and a gas canister slot. Provided as part of the starting supplies, and also constructable from a kit produced from Pipe Bender. Allows growing plants in a dynamic object that can be carried around. Still requires sunlight. Can be wrenched onto a connector.
  • Added recipes for Mushroom, Pumpkin and Rice to the Organics Printer.
  • Added recipe for mothership core to Electronics Printer with some very temporary ingredients. This is largely to support the Mars scenario that is still being tested.
  • Added OnMothershipCreatedEvent to scenario authoring to support tasks to create new mothership cores.

  • Fixed Setting volume via logic is no longer clamped between 0.1 and 1. Now uses 1-100.
  • Fixed error message when trying to set Klaxon volume outside the main thread (ie. via logic).
  • Fixed Air Conditioner screen not turning on when loading a save. [Thanks Risu]
  • Fixed Guide Tablet now resets to page 1 when you progress to a new mission stage.
  • Fixed incorrect paths when loading scenarios from base game data vs from mods.
  • Reduced amount of water that spawns with a Water Canister.
  • Fixed mining drill being audible at far beyond it's intended sound range.
  • Fixed Batteries having their power stored value being set to NaN and rendering the battery non functional.
  • Fixed collision damage not taking angle into account. You should no longer receive damage if sliding down a slope.
  • Reverted some changes intended to increase performance that may have been causing issues (exploding canisters)
  • Fixed some scenario objects not being cleaned up properly preventing you from completing objectives if you restarted a scenario without relaunching the game.
  • Fixed bug with Scenarios looking to the wrong file path for the starting condition definitions XML file.
  • Refactored mineables pool. Modest reduction in garbage collection.
  • Fixed Save/Loading of Scenarios so that they properly restore stage and objective states.
  • Fixed wrong rice texture was used. Resulted in green rice and weird plant textures. Now correct texture used so rice is white.
  • Fixed Using the Type mode on OnConstructedEvent now checks for a subclass match not an exact class match.
  • Fixed ThingExceedAltitudeEvent now selects the first mothership it finds when the mission task is created. Means this task trigger will have to be on a subsequent stage after any mothership creation one or it won't work correctly until save/load.
  • Fixed TaskDisplays list on Custom Missions is now correctly cleared at the end of a stage.
  • Fixed Mothership cores being placed at world origin instead of correctly on the mothership grid due to the mothership having its grid set back to the world grid by occlusion manager.
  • Fixed ability to interact with empty slots on Hydroponics Station and Portable Hydroponics even when holding nothing.
  • Fixed A bug in which cycling through some options while on mothership grid would cause incorrect orientation of the object.
  • Updated Localizations for French, Italian, Simplified and Traditional Chinese, Spanish and Suomi. As always, a big thanks for the active members in the #localization channel contributing to the translation effort.

Consolidated Patch Notes v0.1.1621.7613

$
0
0


Greetings Stationeers! Much of the work this week has been done in the back-end, with whispers of expanded scenario mod support, random world events and even a public bug tracker. As always the latest updates on what's happening on the beta branch are available on Stationeers Discord![discord.gg]

Advanced Ore Scanner

To help ease the mining burden a little we've reduced the cost of the Ground Penetrating Radar and basic Ore Scanner Cartridge for your tablet. This will help ensure you mine entire veins and don't accidentally miss any large deposits right below the surface. Once you get further into the game and have a good supply of late-game alloys, you can now upgrade to the new Ore Scanner(Color), which differentiates between different ore types so you can just hunt for whatever you need the most.

Tomatoes



Another new addition to your hydroponics possibilities - Tomatoes are now available. You'll need to get them from the Organics Printer initially, but they can be made into Tomato Soup in the Microwave.

Logic Writer Switch



While only the beginning of plans to condense logic circuits, this small addition will make simple logic circuits a little less complex. This will effectively allow you to place a switch and specify a logic circuit target for it to write the switch value to, all in one unit.

Scenario System Expansion



Hopefully some of you have had a chance to try out the Escape From Mars scenario we added to the base game last week, and people are having a go at making their own scenarios! We've expanded the system this week, and while this doesn't directly translate to a lot of new content available to scenario authors it does set the stage for a lot of things to come. The Incident system is very similar to the Missions system, but lets us leverage the existing events that have been created for missions, without UI overhead. This, combined with new EventActions opens new possibilities of passive background events, starting with simple items with small impacts like temporarily changing the global atmosphere (cold snap, heat wave) to more complex interactions like spawning items or enemies, damaging structures or equipment and much more. These will likely appear as an option to enable on your world once we figure out a nice method of letting you know they occur, without relying on you just realising that it suddenly got very hot or very cold!

NOTE: Saves of Scenarios in progress likely will not load correctly and you'll need to start again - apologies.


Version 0.1.1621.7613
  • Added Logic Writer with integrated switch. This is a logic writer with a mounted switch. When you change the switch, it will write a setting of 0 or 1 to it's selected output depending on the switch state itself. Constructable from the I/O Logic kit.
  • Added Tomatoes, Tomato plants and Tomato Soup. Currently awards slightly more nutrition than a potato when consumed raw, but slightly less than a baked potato when made into soup - but is consumed faster. Balance values subject to change.
  • Added first pass of 'event actions' or scripted events that occur at the beginning or end of an Incident stage. May be added to mission stages later.
  • Added color ore scanner cartridge. Cartridge (Ore Scanner(Color)) acts like the default Cartridge(Ore Scanner), but distinguishes between different ore types by color.
  • Dropped cost of Ground Penetrating Radar to make it easier to use default ore scanner.
  • Refactored Mission system. Deprecated old-style loading for non-xml based missions. Can now support multiple concurrent missions. Mission components previously in WorldManager moved to the new MissionManager. Scene references previously stored in standalone instance of specific mission types (MarsMission, CustomMission) moved to MissionManager on WorldManager scene object.
  • Refactored Incidents, which are essentially missions with no UI. Used to script random events, like heat waves, cold snaps etc.
  • Replaced Crate Mount model and blueprint with arrows to indicate what what direction an attached crate will open from.
  • Improvement Autorotate works on all outstanding wall-mount items.

  • Fixed the back wall of a CompositeRollCover now blocks air and light.
  • Fixed bug preventing master volume setting from loading on launch.
  • Fixed LogicWriterSwitch now correctly returns a kit when deconstructed.
  • Fixed error messages caused by thread
  • Fixed error caused by writing quantity setting values to Stackers using the batch writer.
  • Fixed NRE when your system does not support speech recognizer
  • Fixed issue with saved volume settings not being correctly applied when launching the game.
  • Fixed HydroponicsTray would Autorotate around the wrong axis.
  • Fixed Autorotate bug where trying to rotate some objects that didn't implement the interface would give an error.
  • Fixed a bug preventing placement of ActiveVent on Motherships.
  • Fixed Passive Vent orientation issues on Mothership.
  • Fixed a bug that would cause wonky orientation when placement was started in the mothership grid for certain objects
  • Fixed a placement bug that would cause incorrect orientation or position when placing Face objects.
  • Fixed Terrain streaming bug when client has a lower ChunkRenderDistance setting than the server.
  • Fixed Missing reference in scene causing Speech Recognition to cause errors in settings page.
  • Fixed incorrect ladder rotation axis.
  • Fixed Hydraulic Pipe Bender recipes were getting added to the electronics reader a second time instead of Tool Manufactory recipes.
  • Fixed issue where convective heat transfer was not being calculated correctly.
  • Fixed a bug where Face object movements weren't restricted properly.
  • Fixed issue with garbage and frame drop when character's status has been updated.

  • Added partial Slovak translation thanks to 'samuelcseto' from Discord. Drop by the #localization channel if you think you could contribute to the community translation effort.
  • Added partial Czech translations - thanks to TFlippy in Discord for getting it started!
  • Updated Community-provided translations for Italian, Russian and Spanish.


Programmable Circuits now on Beta!

$
0
0

The next evolution of logic circuits is now available for testing on the beta branch. This will continue to be worked on in the weeks to come based on your feedback, so please give them a try and let us know how you get on!

These will be a late-game optional replacement for the existing logic circuits, allowing you to make far more intricate circuits using a programming language based on MIPS and best of all, all housed in a single chip!

A computer program is written on a computer with a ProgrammableChipMotherboard
inserted. Once written the code can be exported to whichever ProgrammableChip
is selected from the drop down. Code can also be imported from selected
devices for editing.

When sent to the device execution will begin at line 0 (the first line) and
stop when it reaches the end of the code. To have code recur jump and branching statements need to be used. In those cases execution will run either
- 128 lines of code, or
- until a yield statement is reached, execution will begin on the following line
the next power tick.

The chip can take up to three inputs from other Logic Readers referred to by the values i0, i1, and i2 corresponding to the input screws on the chip. It also has five registers referred to by the values r0, r1, r2, r3, and r4. The output value, referred to as o, can then be read by a Logic Writer on the same network and used as you wish.

In the following list
- d is a register or output
- s and t are registers, inputs, or floats
- a is a non-negative integer value
All calculations, except for the address to jump to, are done as floats.

As a final note before listing the commands, there may well be ways of combining commands to get results you want that use behaviour not specified here. That behaviour may change at some point in the future.

We also plan on making the loaded commands persist with the device when it is deconstructed, so you can configure them with a computer then reinstall them at another location on a separate device network. This will likely come next week.

// Text after a // will be ignored to the end of the line. The amount of white // space between arguments isn't important, but new lines start a new command. move d s // stores the value of s in d add d s t // calculates s + t and stores the result in d sub d s t // calculates s - t and stores the result in d mul d s t // calculates s * t and stores the result in d div d s t // calculates s / t and stores the result in d mod d s t // calculates s mod t and stores the result in d. Note this // doesn't behave like the % operator - the result will be // positive even if the either of the operands are negative slt d s t // stores 1 in d if s < t, 0 otherwise sqrt d s // calculates sqrt(s) and stores the result in d round d s // finds the rounded value of s and stores the result in d trunc d s // finds the truncated value of s and stores the result in d ceil d s // calculates the ceiling of s and stores the result in d floor d s // calculates the floor of s and stores the result in d max d s t // calculates the maximum of s and t and stores the result in d min d s t // calculates the minimum of s and t and stores the result in d abs d s // calculates the absolute value of s and stores the result in d log d s // calculates the natural logarithm of s and stores the result // in d exp d s // calculates the exponential of s and stores the result in d rand d // selects a random number uniformly at random between 0 and 1 // inclusive and stores the result in d // boolean arithmetic uses the C convention that 0 is false and any non-zero // value is true. and d s t // stores 1 in d if both s and t have non-zero values, // 0 otherwise or d s t // stores 1 in d if either s or t have non-zero values, // 0 otherwise xor d s t // stores 1 in d if exactly one of s and t are non-zero, // 0 otherwise nor d s t // stores 1 in d if both s and t equal zero, 0 otherwise // Lines are numbered starting at zero j a // jumps to line a. bltz s a // jumps to line a if s < 0 blez s a // jumps to line a if s <= 0 bgez s a // jumps to line a if s >= 0 bgtz s a // jumps to line a if s > 0 beq s t a // jumps to line a if s == t bne s t a // jumps to line a if s != t yield // ceases code execution for this power tick

This is a sample timer command set, alternating between 1 for 1 tick (0.5s), then off for 2 ticks (1s).

move r0 0 // Line 0: move the value 0 to register0 sub r1 r0 3 // Line 1: subtract 3 from the value in r0 and write it to r1 bltz r1 4 // Line 2: jump to line 4 if r1 < 0 (skip the next line) move r0 0 // Line 3: move the value 0 to register0 slt o r0 1 // Line 4: if r0 < 1 write 1 to the output, otherwise 0. add r0 r0 1 // Line 5: increment r0 by 1 yield // Line 6: wait until next power tick (0.5s) j 1 // Line 7: jump back to line 1

As always, we would love to hear about what you're making with the new programmable chip and devs will be keeping an eye on the #logic-discussions channel in Stationeers Discord[discord.gg] next week, so bring all your comments and suggestions!

Consolidated Patch Notes v0.1.1648.7714

$
0
0


You asked for it, and after a week of testing and reworking on the Beta branch we're ready to introduce Programmable Chips to the stable branch! In addition, we've almost completed work on the public bug tracker!.

Programmable Circuits

Last week we announced the addition of Programmable Circuits to the Beta Branch. Now after a week of improvements, adjustments and bug fixes we're ready to let everyone get their hands on this powerful tool.



You'll require 3 things. Firstly, an 'Integrated Circuit (IC10)' that will store your instruction set. These can be inserted into a Circuit Housing (built from the 'Kit (IC Housing)' that can be used to specify up to 6 devices you wish to read from/write to within the IC's instruction set. Finally, a Computer with a Motherboard (IC Editor) inserted can be used to import/export instructions from/to any IC Housing on the same network, and to edit instructions via a simple popup IDE window.



Basic help is available in-game via the Computer with an IC Editor Motherboard inserted.

The (up to) 6 devices you wish to work with in code can be specified using the 6 screws on the IC housing, then referenced in code using the syntax below:

In the following db is the device itself (base unit) d is a device l is a logic type q, r, s are registers or numbers t is a register # MIPS derived l t d l # loads logic type l on device d to register t ls t d s l # loads logic type l of register s on device d to register t s d l r # stores the value in register r to logic type l on device d move t r # t = r add t r s # t = r + s sub t r s # t = r - s slt t r s # t = r < s ? 1 : 0 and t r s # t = 1 if both r and s non-zero, 0 otherwise or t r s # t = 1 if at least one of r and s non-zero, 0 otherwise xor t r s # t = 1 if exactly one of r and s are non-zero, 0 otherwise nor t r s # t = 1 if both r and s are zero, 0 otherwise mul t r s # t = r * s div t r s # t = r / s mod t r s # t = r mod s (not equivalent to % operator) j q # jump to line q bltz r q # branch to line q if r < 0 bgez r q # branch to line q if r >= 0 blez r q # branch to line q if r <= 0 bgtz r q # branch to line q if r > 0 beq r s q # branch to line q if r == s bne r s q # branch to line q if r != s jr q # relative jump to line q brltz r q # relative branch to line q if r < 0 brgez r q # relative branch to line q if r >= 0 brlez r q # relative branch to line q if r <= 0 brgtz r q # relative branch to line q if r > 0 breq r s q # relative branch to line q if r == s brne r s q # relative branch to line q if r != s // MIPS II derived sqrt t r # t = sqrt(r) round t r # t = round(r) trunc t r # t = trunc(r) ceil t r # t = ceil(r) floor t r # t = floor(r) // stationeers useful stuff label d str # displays string on device screw max t r s # t = max(r,s) min t r s # t = min(r,s) abs t r # t = abs(s) log t r # t = log(r) exp t r # t = log(r) rand t # t selected UAR from [0,1) yield, # waits for next tick before continuing alias n r # labels register r with name n Supports indirect register addressing by adding r to the front. For example rr0 is the register found by taking the value of r0 and using that as the the number, and rrr0 is the value c in a = r0, b = ra, and c = rb. This also works with devices. So if r0 stores 1 and r1 stores 2 then drr0 expands to d2.

Example 1: Climate Control



Device Settings on Housing:
d0 : Gas Sensor
d1 : Memory (Input for Batch Writer - Heaters.On)
d2 : Memory (Input for Batch Writer - ActiveVents.On)
d3 : Memory (Input for Batch Writer - ActiveVents.Mode)
d4 : Memory (Input for Batch Writer - WallCoolers.On)
d5 : Logic Dial (Target Temperature)

# set the screws to these strings for easy setup label d0 GasSensor label d1 MemoryHeaters label d2 MemoryVentsOn label d3 MemoryVentsMode label d4 MemoryCoolers label d5 DialTargetTemp # set aliases to registers for easy ref alias pressure r0 alias temperature r1 alias pressureCheck r2 alias dialSetting r3 alias temperatureCheck r4 # load settings to pressure l pressure d0 Pressure l temperature d0 Temperature l dialSetting d5 Setting # pressure checks sub pressureCheck pressure 95 brgez pressureCheck 4 s d2 Setting 1 s d3 Setting 0 jr 7 sub pressureCheck pressure 105 brgez pressureCheck 3 s d2 Setting 1 jr 3 s d2 Setting 1 s d3 Setting 1 # temperature checks sub temperatureCheck dialSetting 272.5 brgez temperatureCheck 3 s d1 Setting 1 jr 7 sub temperatureCheck dialSetting 274.5 brgez temperatureCheck 4 s d1 Setting 0 s d4 Setting 0 jr 2 s d4 Setting 1 yield j 5

Example 2: Indirect Register Addressing



Device Settings on Housing: Lights 0-5 from left to right.

move r0 0 s dr0 On 1 # start with the left light on yield add r0 r0 1 # step to the right s dr0 On 1 # turn next light on yield beq r0 5 8 # if at end of row jump to moving left j 3 # otherwise keep going right s dr0 On 0 # turn the current light off sub r0 r0 1 # move to the left yield beq r0 0 3 # if at the first light jump back to moving right j 8 # otherwise keep moving left

A useful webpage for testing out your programs is the illustrious Melair's IC Tool[stationeering.com]. This can be used to try out the instruction set outside of the game, and even share your creations with others.

If you have any questions or want to show off your creations, drop into the #logic-circuit-discussions channel on Stationeers Discord[discord.gg].

Public Bug Tracker Beta



Introducing the Stationeers Public Bug Tracker![stationeers.atlassian.net] We'll be looking into how best to use this over the coming weeks as part of an ongoing plan to improve the ability to collate bug reports and useful information from the community, as well as how certain bugs are prioritized and why.

Low-Poly Terrain Visualizer



To try and help fill the gap between the generated terrain and the sky, we're now generating a much wider area but using a very basic version of the terrain. This will let you scout out for large mountains or recognizable terrain features without the loading/unloading required for normal mineable, collideable terrain. Currently only supported on Mars, we'll look at rolling it out to the other environments in the near future.


Version 0.1.1648.7714
  • Added Programmable Chips - see patch notes for further details!
  • Added Low-poly terrain visualizer for rendering a rough version of terrain with a much larger view distance than the actual terrain. Can be enabled via the Video Options screen as 'Extended Terrain'.

  • Fixed issue where graph display circuitboard creates giant white bars in space if removed from the console.
  • Fixed saved Ambient Occlusion and Lens Flares settings not being correctly applied on launch. [Thanks ChronoMantis]
  • Improved: Reduce sound level for active vent intake and outtake sound, as well as switch on/offs. Enjoy a more comfortable sonic environment!
  • Fixed inability to mine after changing hand or unequipping a mining drill while it was operating until you relaunched the game.
  • Fixed Duplicate entries on settings screen for voice notifications and key bindings.
  • Fixed issue with GasDisplay circuit boards occasionally displaying the incorrect unit of pressure. [Thanks Risu!]
  • Updated translations for French, Italian, Russian, Spanish and Suomi.

Hotfix Patch Notes v0.1.1652.7724

$
0
0
The main update caused a problem with the dedicated server, and some other issues. The notes are below. This will be updated below with additional information if further hotfixes are released, but new posts will not be made.

Version 0.1.1652.7724
  • Fixed sizing issues causing line numbers to be obscured, and IC Editor page to be sized wrong with different UI scale applied.
  • Fixed Delete and Backspace not having intended effect of deleting a line. Now will change order of lines correctly. Note that Delete/backspace will never merge lines like a typical editor would.
  • [Version 0.1.1651.7720]
  • Fixed IC Housing not able to have screws set by clients, only changing on the server. Now correctly populates for clients and allows them to change [Credit: SilentEagle]
  • [Version 0.1.1650.7718]
  • Fixed IC Editor causing extreme lag when loading and editing. Now it is line based. Expect this to change significantly and more features are added.
  • Fixed IC Editor HOME and END moving to beginning and end of file. Now just beginning and end of line.
  • [Version 0.1.1649.7716]
  • Fixed Dedicated Server failing to start when trying to load graphics driver.

Consolidated Patch Notes v0.1.1671.7828

$
0
0


So it's been a really big week for us. Often, in game dev, some weeks are slow and some weeks a lot of stuff comes through. We received a bit of feedback on discord that last week didn't have enough fixes. We made sure this week had lots of fixes! Also some new content that we have been preparing for a while.

Automated Hydroponics

For a long time growing plants has remained one of the areas it was completely impossible to automate. Now we have an item that will, with the future tech tree, become more of an "end game" way of growing plants.

This automated station has an Import, Export, and Growing slot. You can send custom Logic command (Plant, Harvest) to the machine with a value of 1 to get it to process itself via logic. Or you can click the buttons on the machine.

Atmospheric Fixes

The first phase in a major atmospherics refactor has been completely. The game uses threads to help with performance. This means the game is able to do many things at the same time, without those other tasks impacting on the rest of the game.

This is a very complicated way of making a game, as these need to be carefully synchronised. Often areas of the game were accessing this "volatile" information while it was being changed, resulted in weird values. This caused significant issues; such as the dreaded "Temperature Low" often for brief seconds. This has now been fixed!

Over the coming months we will continue to introduce more changes to make the atmospherics system more robust. We're very confident that this weeks refactor will provide significant improvement in stability.

Nitrus Oxide

As an additional part of the atmos refactor, is the preparation for surgery in the coming weeks. We've added N2O which, in larger quantities, can cause you to go unconscious. Currently it's only available by debug spawning, but throughout the week will add more.



Logic Control modes for Slot Handlers



Filters, Unloaders and Stackers have not been able to easily be controlled via logic. Now, if you set their Mode to the appropriate value (2 for Filter, 1 for Unloader and Stacker), they will enter a "wait" mode.

In this mode, they will process a single requested operation, and then go back to waiting. You can see (or set) this state using the Output variable.

For example with the Filter, -1 is idle, 0 is left, and 1 is right. With the Stacker, -1 is idle, 0 or greater processes a single requested stack size. With the unloader, -1 is again idle, 0 unloads the slot item itself without removing anything, and 1 removes a single item from what you have loaded.

This allows you to use these items in any custom way, with the new IC's or the existing logic system. They will be able to work in lock-step with your logic systems.

The following script sets a stacker to Logic mode, with a setting of five, and processes one stack:
alias Stacker d0 # sets the screw to show stacker​ s Stacker Mode 1 # set stacker to logic mode​ s Stacker Setting 5 # stacker size will be 5`​ s Stacker Output 1 # stacker will process once

Integrated Circuit Code IDE Improvements



Based on excellent community feedback the IDE for editing IC code has been improved significantly, and many bugs found and fixed. Now your string based jump labels (e.g. "start:") will be colored purple, with other strings white. There are still some bugs but this will continue to be improved.

Integrated Circuit Code Library Workshop Support



You can now share your IC Code creations on the Steam Workshop using the in-game code library. This feature has been available in beta for a couple of days, so there's already several items available. Once subscribed, they will appear in the code library from where they can be easily loaded into any Computer with a Programmable Chip Motherboard inserted.

Recipe Selection Improvements



All the basic manufacturing machines have been given a bit of a visual touch-up with recipe selection finally getting its own button. In addition, the recipe selection UI has been given an overhaul and now features more sensible sorting and thumbnails. It also now properly supports localised item names in languages that require extended fonts.

Known issue: Stuttering

As your base gets larger, we have more stuttering. This is caused by Unity's Garbage collection occurring. We have included an update in this patch that reduces this by about 30% but it is still very noticeable.

We have some plans for this:
  • We are looking at upgrading to the latest Unity version
  • Refactoring all our code to make it more memory efficient
  • Replacing Unity's MP system with our own that is more memory efficient

Version 0.1.1671.7828
  • Improved ICScript IDE to recognize dr? variants and r..? variants. Also recognizes labels (purple) and better recognizes strings. Also colors numbers separately.
    * Fixed tabs causing misalignment between formatted display and actual text. Now tabs are replaced with a single space on import.
  • Added Automated Hydroponics. This is a late-game device that allows you to fully automate growing of plants. It contains only one plant slot, but has Import and Export slots and connections for chutes. If you place a plant in the import slot, and then either press the "plant" button (or set the new device variable "Plant" to anything greater than zero) then one of the stack will be planted. The same system applies for Harvesting. You also receive better feedback on the state of the plant. There are two pipe inputs, one provides the "atmosphere" inside (CO2 for most plants), and the other is used by plants for water.
  • Added Workshop Support for IC Code Instructions. A new button is located to the left of the existing load/save/delete buttons in the saved instruction list. If uploading an item that already has a workshop ID, you will be prompted to enter a change note. A screenshot will also be generated automatically. All of these can be modified via the steam workshop webpage for your item.
  • Added Stun Warning and Critical indicators (no audio notification currently). A yellow warning and red critical icon will show, together with how stunned the player currently is.
  • Added Nitrous Oxide. Currently inert, other than at certain concentrations will cause the player to take (progressively more) stun damage. Only the first pass, will be utilized more with the implementation of surgery later.
  • Added disable water visualizer option. Water still exists as normal, you just can't see it.
  • Added Split/Filter/Logic mode settings to Sorter. You can force it into Logic mode (Mode = 2) with logic (IC, Logic Mobo, or Writers), and now the device will only process one action before resetting itself. You can control this action with the Output variable. Output == -1, when in logic mode, is the idle state. Output == 0 is the left slot, Output == 1 is the right slot. When in this logic mode, it will only process one slot before setting itself back to Output = -1. This is useful to completely control the Sorter using logic. It will allow you to read and handle what is in the Import slot.
  • Added Automatic/Logic mode to Stacker. When forced into Logic mode (Mode = 1) with logic, the device will only process one action before waiting. When in this logic mode, Output == -1 is idle. Output > 0 will perform a single stacker action (i.e. if the setting is set to 5, it would output one stack of five before stopping).
  • Added Automatic/Logic mode to Unloader. When forced into Logic mode (Mode = 1) with logic, the device will only process one unloading action before waiting. The idle state is Output == -1. When Output == 0, the device will move the item it is unloaded completely, without continuing to unload (basically, it stops unloading and ejects the parent item). When Output == 1, the device will unload one item from the parent it has held, and then return to the idle state.
  • Added Legacy Inventory setting. When enabled, only one window at a time will be open, similar to how the game was before. Note that it current does not allow you to have more than one window open at any time, including the hands - so it is not exactly the same as it was before. Once docking windows is added, I will look at allowing one window per docked location, which will then much more closely resemble the original inventory system for those who do not like the move to mouse control.
  • Added Advanced options page, splitting the Video settings between this and the Video page to give us more room for customization options.
  • Added alias string support to IDE for the IC Editor. Now defined aliases will be "recognized" by the IDE, and highlighted as a string.
  • Depreciated the Label command in the IC. Alias with device usage now also affects the screw previews.
  • Added extended terrain settings to worldsettings.xml. Now works on Europa.

  • Adjusted Stun mechanics. Now the saturation and visibility adjustments will occur faster, and full blackout will occur with the unconsciousness at 100%.
  • Refactored Atmospherics System (phase one). This is a major change that fixes a number of atmospheric issues. This fixes the occasional "temperature low" warnings, and the like, that were caused by the game reading data that was halfway being updated. This also greatly reduces the likelihood of atmospheric exceptions from "bad data", but not completely. Writing threadsafe enforcement has been developed but is not deployed in this build. This will likely also give a performance boost, as the game now caches values in the atmospheric system.
  • Replaced model for Organics Printer with a better one.
  • Replaced tool manufacturer with new model.
  • Replaced Electronics Printer, Pipe Bender, and Security Printer models with better buttons indicators for finding, and improved geometry.
  • Replaced Dropdown for selecting Machine Recipies to a new selection method that displays the recipes in groups, and includes a picture of the item, the name of the item, and the slot type (if any).
  • Replaced Autolathe model with new model, better indicator of the Find button and improved geometry.
  • Improvement jumping instructions can now go to tags.
  • Improvement IC command Alias can now take device arguments.
  • Tweaked IsVoxelFaceOpen - now allocates slightly more memory to ensure thread-safe operation, hopefully resulting in terrain being more reliable for containing atmosphere. [Credit: Risu]
  • Reduced memory allocation when generating terrain to improve issue with garbage collection.
  • Removed Dictionary lookup in justsample terrain generation to reduce garbage allocation.
  • Improvement mousing over a programmable chip in an error state will include a message about the line number the error is occuring on and the type of error.

  • Fixed plants wilting due to lack of CO2 in air. Plants required a minimum partial pressure of 2% CO2 at one atmosphere, which was wrong. Now 0.2% partial pressure is required for standard efficiency.
  • Fixed critical issue with plant breathing mechanic. Previous fix exposed flaw in how plants took breath. This has been corrected, they require 2% CO2 partial pressure at One Atmosphere as a baseline. Increased pressure will help with collection of CO2, up to a point.
  • Fixed bug with Health Caution indicator not displaying as Parent was incorrectly tested.
  • Fixed bug where Critical status indicators would be sent to the bottom of the status list, not the top, where it was intended they would go.
  • Fixed extended terrain showing up on the moon and space when it shouldn't be.
  • Fixed error when OcclusionManager tried to do work on the extended terrain when it is disabled.
  • Fixed exception occurring when message label changes were being executed by the logic computer on integrated circuits.
  • Fixed bug where trying to assign a label to db would corrupt save file.
  • Fixed rounding of Output logic command on Stacker, Unloader, and Sorter preventing value from being set to -1. [Credit: Risu]
  • Fixed UpdateEmptyFilter() not called when filter moved from inventory only when a filter has 0 Quantity [Credit: Risu]
  • Fixed Harvest null reference exception when called through logic to actually harvest a plant [Credit: Risu]
  • Fixed bug with IDE window of IC that would not update the text correctly if you had dragged over text, and then edited it. This was because dragging wasn't captured as an "active line". Now correctly refreshes after this occurs.
  • Fixed being able to eject resources while constructing with autolathe.
  • Fixed plants were scaling their breathing amount incorrectly, meaning plants were use huge quantities of gas when they were in high pressure environments. Now correct breathing amounts are used. This will probably significantly reduce CO2 consumption and O2 production from plants. Approximately 10 corn plants will grow off the CO2 produced by a single human.
  • Fixed bug in which aliases weren't being used by `l`, `ls`, or `s` commands on programmablechip.
  • Fixed able to write to battery state Mode to change it's viewed power level.
  • Fixed item drop location when dragging items to the world using mouse control. Now drops the item in front of the player, the same as when you use the drop key, rather than underneath the player.
  • Fixed bug where inserting a new chip to the housing didn't reset the error state.
  • Fixed stuttering caused by extended terrainLOD.fbx
  • Fixed able to place flag anywhere. Now can only place when terrain or a frame is below it.
  • Fixed issue where releasing MouseControl key would hide the cursor in some cases, even if you had a UI on screen that required the cursor to be visible.
  • Fixed Organics Printer On Switch was incorrectly animated.
  • Fixed bug in which reloading save would cause logic chips to restart from beginning
  • Fixed Dropdown boxes are not sorted in a way that makes sense. Now dropdown lists are sorted primarily by their generic type (Resources, Kits, Tools, Clothing, and General), and then secondarily by their Display Name in English. This isn't perfect, but it does make it somewhat easier to find things on dropdowns. This will be improved further in the future.
  • Fixed several settings that were not properly included when resetting to defaults.
  • Fixed game crashing when loading a save file with large terrain.
  • Fixed bug on programmablechip where multiple calls to RAND within a tick would obtain the same value.
  • Fixed when an IC is placed in the housing the program on the chip will start from the beginning instead of continuing from where it was
  • Fixed bug in which if an object was told to perform a task multiple times a tick by a programmable chip the sound would play several times.
  • Fixed bug with speech recognizer not being initialized and causing an exception, that prevented language from being selectable.

Consolidated Patch Notes v0.1.1701.7945

$
0
0


This week is another pretty big one in terms of patch contents! It was meant to be a week we put the brakes on new features and go back to fix some of the long-standing bugs and address some quality of life issues. The outcome was some big wins on the performance and reliability fronts, but because Rocket can't help himself we also got a few new features! We've got some leave coming up in the coming weeks that may slow things down a little, but rest-assured there will still be steady improvements and we'll still be around in Discord to answer your questions and hear what you're doing in game.

Build States



Furnaces and Airlocks have been given additional build states. Much like how Frames are constructed, these structures require additional components after the kit is placed before they're functional. If you mouse-over the incomplete structure with the Extended Tooltip option enabled, you'll be shown what is required to progress to the next build state. They also now have to be deconstructed in phases in the same fashion. Likely tools for deconstruction of various stages are the Angle Grinder, the Crowbar, the Drill and the Wrench.


Integrated Circuit Improvements



The IC system has been expanded a lot this week with the introduction of several new commands at your disposal and the ability to interface with Reagent mixes. In the example gif above, Discord user Qiler has used IC's to do their own implementation of sorting. The code is available to everyone on the Steam Workshop.

The hardsuit has now been given an IC slot, allowing you to use IC code to control its internal systems. We will likely expand this system to support things like custom alerts, and look at adding IC slots to even more devices to give you greater control over your systems.


Glasses Slot & Night Vision Goggles

We've introduced a new slot to the game: Glasses! This has rudely inserted itself into slot 2 on your inventory bar, so if you want to preserve your muscle memory you'll need to assign it a new key otherwise you may wish to reset the inventory slot keys to the new defaults of 1-6. Currently the only items available for this slot are some regular old Glasses (just cosmetic at this point) and the new Night Vision Goggles (NVG). They use a bit of power but let you get around at night a bit easier. Expect more options for this slot to be introduced later to display a whole raft of data visualization options.


UI Audio

You may notice a few strange new noises when navigating the main menu. The current sound implementation is the result of a fairly intense couple of weeks right before we went into early access, so was lacking in a few areas. We're looking to fill in some of those gaps in the near future - starting with the easy stuff like UI sounds. Currently just the main menu and some of the prompts are included, however, this will extend into the rest of the UI (settings screen, inventory slot interactions etc) in the near future. We can then start to look at some of the more complex sound additions to the game, like footsteps, impact sounds etc. Any feedback is appreciated, as always! You can alter the interface sound independently using the newest volume slider on the Audio settings screen.

Bug Fixes / Improvements

Normally they wouldn't get their own heading, but there has been several significant fixes and improvements this week we'd like to highlight. Firstly, as mentioned in last week's patch notes we've acknowledged the performance issue with stuttering in the game and are trying to identify the best places to fix or improve it. This week we had several big wins in that department, with some of the worst culprits getting refactored to try make things run a little smoother. The problem definitely isn't solved, but based on the early feedback we've had from those playing on the beta branch the issue in at least the early game has been improved significantly. Work will continue in this area in the coming weeks and months.

In addition, several significant long-standing Atmospherics bugs were resolved, which you may need to be aware of going forward. A bug was identified by the prolific Risu on Discord, which caused the calculation responsible for transferring heat from pipe contents to the air surrounding said pipe and vice versa, to mix with the atmosphere at the world origin (0,0,0) rather than the atmosphere around the pipe. Now that it is fixed, you'll likely see much faster temperature transfer between pipes and the rooms they reside in - so be sure to keep an eye on that furnace output! We'll revisit the values for this after people have had some time to gauge the impact, then can look at tweaking the values or introducing something like Insulated Pipe if required.


Version 0.1.1701.7945
  • Added build states to furnace. Now will require iron sheets and a variety of tools to construct. Note that deconstruction also requires different tools now.
  • Added additional build states to Airlock. Two extra build states are required to construct the Airlock, for balance reasons.
  • Added tooltip information for incomplete structures. If a structure is not completed, and Extended Tooltips is enabled in the settings, a tooltip will advise the player what tools they need to complete the structure.
  • Added Plants and Entities (such as players) will now take toxin damage from pollutants. This scales with the partial pressure of the pollutants in the atmosphere. 1 kPa PP is when they start taking damage, and when a critical toxin alert will show for the player. 0.5 kPa PP is when the caution toxins indicator will show for the player. Note this scales with partial pressure, if you have lots of toxins - you will die quickly. Lungs will, slowly, repair their toxin damage if below 50 damage. Plants will (currently) not.
  • Added new slot Glasses. Note: This will have a default key that will conflict with existing installs. You will need to either reset the keys to defaults or rebind.
  • Added Glasses. Made on Tool Manufactory. Cosmetic currently.
  • Added Night Vision Goggles. Powered item that goes into the new Glasses slot. NVGs allow you to see at night, reasonably well. They use a fair bit of battery.
  • Added Cognition voice warnings for critical and low, warns player when they are losing consciousness. Can be set on or off under audio settings.
  • Added first pass of menu button audio. Should cover most of the out-of-game interface, as well as some in-game parts. Settings screen & Toggle/Checkbox audio to come next.
  • Added a dedicated Interface Volume slider to the Audio settings page.

    LOGIC
  • Added an lR command to the programmable chip that allows reading reagent information (recipe/required/contents).
  • Added a ternary command 'select' to the IC. See in-game documentation for useage.
  • Added SGT, SLE, SGE, SEQ, SNE, SAP and SNA commands to round out the set containing SLT for programmable chip
  • Added PressureExternal and TemperatureExternal readable values on the Hardsuit. These could be read by an IC in the Hardsuit Processor slot.
  • Added IC's can now be loaded into the Hardsuit. When in the hardsuit, an IC will be processed in the same was as the IC would in a circuit housing. Device references are hardcoded, currently : db is the Hardsuit itself. d0 is the Helmet, d1 is the Backpack (possibly jetpack if word). PressureSetting and TemperatureSetting are new Logic variables that work on the Hardsuit. This would allow you to write your own IC's to control your hardsuit.
  • Added Hardsuit Filtration and AirRelease added as variables. These can be read and set, 0 is off and 1 is on.

  • Improved stuttering bug. As memory is turned over, it causes Unity to perform "garbage collection" regularly to clean things up. A number of String generation areas have now been cleaned up, and have reduced stuttering caused by the Inventory Windows, and the Player State info (top right). These two areas caused quite a lot of constant memory turnover from updating their strings. If you notice an improvement with this update, please post your results in the forums. Note that stuttering still exists for my test levels, and we will continue to improve memory turnover to reduce stuttering. One big cause of stuttering that remains is memory turnover from the tooltip, and also network messages.
  • Refactored atmospheric messages to raw StreamWriter instead of MessageBase to reduce garbage. Reduces stuttering caused by atmospheric updates over the network.
  • Replaced starting airlock kits with regular door kits, as airlocks now require steel to complete them.
  • Changed ICs so that if the thing causes an error is fixed it will try to resume execution.
  • Changed Basketball Hoop now counts anything going through it, not just basketballs. Ores work well!
  • Moved IC labelling of devices to be the responsibility of the device the IC is hooked into instead of the IC.
  • Balanced Plant damage. They now take 30% of the damage they previously took, so they will be damaged slower.
  • Balance second CO2 Gas Filter to player spacesuit for default starting conditions, to make initial start more balanced.
  • Balance altered for Breathing value rate of entities. Now use an order of magnitude more moles, and plants use/produce an order of magnitude more moles. This was because production was so low for plants that, while realistic, the values were lost in either floating precision, or the atmospheric system removed them as they were so incredibly low. This was causing plants to not produce O2.
  • Improvement added B[R]AP - 'branch (relative) approximate' - and B[R]NA - 'branch (relative) not approximate' - to coincide with B[R]EQ and B[R]NE but allow the player to specify a tolerance in the comparison
  • Added a stack and branch/jump-and-load instructions to the programmable chip. Subroutines for all!
  • Changed db, sp, and ra to aliases, so they don't have to be handled specially, and load them at the beginning of an algorithm run
  • Improvement: Tidied how the IC stored it's variables so instead of code repeating an ugly implementation several times the ugly implementation only happens once now.

  • Fixed Null Reference Exception Message if you had a Control Chair in your world due to missing text box on the altitude display.
  • Fixed If playing offline, error message when Steam attempts to connect but fails will only repeat several times before the message is supressed.
  • Fixed error preventing the peek operation from working correctly on IC (credit Risu)
  • Fixed a bug where LED displays could display numbers larger than the screen size.
  • Fixed controlling an active vent with an Mode Control Circuitboard shouldn't get stuck changing mode any more. [Credit: Risu / Zaneo]
  • Fixed Incorrect labelling of Logic Types using the Configuration Cartridge due to the list of types being sorted alphabetically but not the list of string labels.
  • Fixed unclickable call button on Elevators.
  • Fixed Incorrect spelling and odd naming conventions on some wall types.
  • Fixed Pipe Thermodynamics. For quite some time, heat radiation from pipes has been calculated but applied to the atmosphere located at 0,0,0 instead of the one surrounding the pipe. This fix may cause temperatures in your base to fluctuate quite a lot more than usual depending on how your pipes are situated and what they contain. A big thanks to Risu for finding this one!
  • Fixed a bug in which IC's that contained references to db would be in error state when loading a save game.
  • Fixed Incorrect StringHash on Glasses slot resulting in them being incorrectly labelled as 'Belt' in several places.
  • Fixed bug in IC that prevented values being loaded from devices.
  • Fixed Function and Variable help window lists were not sorted alphabetically.
  • Fixed Basketball Hoop now updates the score display when OnOff is changed.
  • Fixed Configuration Cartridge now properly displays all accessible logic types and their current values on devices. Grey for readable, Green for writeable.
  • Fixed null reference when plant is breathing in a complete vacuum.
  • Fixed occasional NullReferenceException with Arc Furnace when smelting, due to incorrect atmosphere object being referenced.
  • Fixed NullReferenceExceptions on attempting to join a second game without restarting your Stationeers client due to old objects from the previous world still being referenced on load.
  • Fixed unable to place airlocks/doors when an object existed at 0,0,0 in the world. This shouldn't normally have been able to occur, but could via bugs. This would prevent you being able to place airlocks till this was removed. Now this redundant check was removed, as it was a leftover from an old system. Airlocks correctly check their face neighbors during placement.
  • Fixed Global atmosphere state not syncing to clients, so they didn't get variation in temperatures.
  • Fixed Nul ref caused by Atmospheric thread cleaning up atmosphere before event had a chance to occur.
  • Fixed exception when ice melting in a global atmosphere or true vacuum.
  • Fixed Hardsuit PressureExternal reporting in Pa, when suit set in KPa. Now unified in KPa.
  • Fixed Arc Furnace resulting in drop in temperatures when smelting. Now the arc furnace will produce gas, which will tend to be at the temperature of the surrounding air. Previously the gas was produced at zero degrees. Note the Arc Furnace will generate heat energy now, it's not energy neutral. This means if 2000 J is needed to smelt Gold, it will produce 20000 J of heat. You could capture this heat and be net energy positive. This fix may also fix the furnace, as it involved making the methods used Thread-safe, but this was not properly tested so needs to be confirmed.
  • Fixed incorrect description of PEEK on the IC commands.
  • Fixed a bug when registers with multiple digits weren't showing up as valid in the IDE.
  • Fixed Bug with pipe network splitting not properly distributing atmosphere, resulting in the sum of the newly created pipe networks containing more gas than the original. [STAT-1022]
  • Fixed Hardsuit processor slot tied to AC power state. Now IC in processor slot will run if there is a battery, and the battery has charge. You have to remove the processor for it to stop working.
  • Fixed PressureSetting was not setable on the Hardsuit.
  • Fixed issue with recipe containing duplicates if Workshop screen was accessed due to mods reloading.
  • Fixed error handling if two scenarios with the same folder name are loaded.
  • Fixed elevator shaft bounds box during construction is comically large.
  • Fixed Iron Window was trying to cast a shadow and was not set as transparent, therefore hiding sun.
  • Fixed bug which prevented aliases above 5 being assigned aliases.
  • Fixed memory leak with new StringGenerator.
  • Fixed Automated Hydroponics missing correct blueprint was using fallback.
  • Fixed IDE for ICCode recognizing commands in comments when it shouldnt.
  • Fixed dedicated servers occasionally not loading world or crates.

Progress: Engine Upgrade, Trading, Surgery

$
0
0


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[unity3d.com] (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

Conclusion

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!



Consolidated Patch Notes v0.2.1746.8073

$
0
0


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.

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.

Consolidated Patch Notes v0.2.1772.8154

$
0
0


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.

Stationpedia
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.

Consolidated Patch Notes v0.2.1791.8240

$
0
0


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![discord.gg]

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.

Consolidated Patch Notes v0.2.1812.8352

$
0
0

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.

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).

Consolidated Patch Notes v0.2.1831.8467

$
0
0


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 52 and 11 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![discord.gg]

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.



Viewing all 199 articles
Browse latest View live