It's been four weeks now since our last main branch push, so it is a pretty big update. A key focus for this period has been the ground work towards our "Martian Scenario" update. This will see the first true scenario for players to tackle. You will be stranded on Mars, and need to survive and build a rocket to escape. In preparing for this, we'll be forced to fix a lot of bugs and work on the "why" in the game, as well as the UI to support this kind of content.
Perhaps most importantly, the long awaited Ore Scanner is now in the game! Read about this and more in detail below.
Planetary Atmospheres
To bring Mars, and other, planets to life we needed to be able to allow them to have world atmospheres, instead of just vacuum like it is currently. This was a pretty major piece of work, refactoring how our atmospheric system worked, and also allowed us to find and fix a number of other bugs in the process.
Other than bugfixing, this doesn't have a major impact on the game at the moment but will have a profound effect on the game later with scenarios.
Hunger
We finally have our first new survival mechanics in, getting ready for that Mars survival scenario we talked about earlier. You need to eat to survive, and to eat you will need food, and to make food you will need to grow. We now have a new hydroponics tray, new plants (such as the potato), and new recipes. Much more will come with hydroponics in the next few weeks.
Gas Generator / Large Tanks
A gas generator has been added, allowing you to generate power from gas that you combust. This is a fixed device that functions in a similar way to the portable generator. It's still a work in progress, so expect some changes and new features, functions, and bugfixes for it in the coming weeks.
Ore Scanner
As shown in the gif at the top, you can use a ground penetrating radar device to scan areas. The ore below will then show up on an Ore Scanner Cartridge loaded into a tablet. Build both of these on the Electronics Printer.
Expanded Workshop Support
We're excited to take our first proper steps with mod support. Much of our core game data is already stored in XML, so we have started here for mod support. This means you can change and add things like recipes, ore generation settings, and some basic world data - but you can't add new objects to the game… yet! We have focused on the core mod architecture now, how they are loaded and how you can reorder them. We'll be continuing to expand modding to cover as much of the game as we can over the coming months.
Check out the #modding channel on our official Discord for up to date information about the progress of our mod support.
Version 0.1.1176.5874
- Fixed bug where status icons would not refresh properly when loading into a game where they should be visible.
- Removed buggy bedrock texture - the bedrock level is not making it's way to the shader correctly. This data is already being reworked in a coming update.
- Added decay state for chickens. Chicken corpses now disappear after a minute.
- Added new Hydroponics Tray model.
- Fixed accessing WorldAtmospheres adding a lock to GetAtmosphereLocal when accessing from outside the manager thread and redirecting all reading of WorldAtmosphere through GetAtmosphereLocal
- Added warning for waste tank when it is broken, and therefore will leak air.
- Added warning indicators and voice notification for Waste Tank. Now will disable warning when caution and critical, for either no waste tank existing, or over pressure. This helps avoid embarrassing instances where you have too much pressure in your waste tank and it explodes.
- Added Ore Scanning. An item can be made called a "Ground Penetrating Radar". When activated, it scans the surrounding area. Using a Ore Scanner Cartridge in your tablet will allow you to view the scanned data. These items can be built on the Electronics Printer. This will help you locate different kinds of ores without having to directly mine. Different types of ores have different colors on the scan results.
- Added voice notifications for Helmet Closed, and Helmet Opened. This will help avoid those embarrassing situations where you die because you pressed I and vented your breathing atmosphere into space, but didn't realize it was because your helmet was open.
- Added Global Atmosphere system.
- Added Hunger Rate to settings screen (temporarily). Allows you to scale how fast your character gets hungry by 0-4x. Not yet available for dedicated servers.
- Added first pass of gas generator. Provides power from the gas combusted inside.
- Added large tank, requiring 5x regular tank kits. Takes up 8 grid squares (vs 1) and has a volume of 50000 (vs 6000).
- Added first pass of Hunger and Nutrition. If nutrition drops too low, player starts taking Starvation damage. Eat muffins or cereal bars to increase nutrition.
- Added milk, muffin, cereal bar, egg, and wheat as edible types. These can be eaten using secondary action, or force feed to another human using primary action.
- Added Corn calorie value. Now corn will provide a small amount of calories when eaten.
- Added cereal bars to your uniform slots in case you're starting a new multiplayer game with lots of players.
- Added new status icons for Hunger and Heath. Full, low, and critical food and health indicators appear and also include their current values.
- Added Potato as growable (and edible) plant. Currently same growth stats as the wheat.
- Added Skeleton's Ragdoll.
- Added new filter options in Join World menu. Incompatible versions are now hidden by default, along with options to hide password protected and empty servers. Other improvements have also been added to stop it from locking up while refreshing the server list.
- Added Workshop Menu.
- Added ExampleMod.zip to the StreamingAssets folder. See the readme.txt contained within for basic instructions on current mod support.
- Added tag support for Steam Workshop mods.
- Added Mods now reload whenever you leave the workshop menu, allowing changes to be applied without relaunching the game.
- Fixed Chutes ejecting contents during load. When a world was loaded chute contents (and possibly manufacturing devices as well) would eject their contents. Now they will continue to loop correctly. Note: this will only work with saves from now on. Old saves with items in chutes will eject their contents until they are resaved.
- Fixed sounds of nearby structures in vacuum popping in and out while you're in a pressured room. Should no longer hear phantom sounds from machines in vacuum.
- Fixed radiators not working in vacuum. Radiators should now begin radiating heat again on the moon.
- Tweaked some values for the quest panel in the tutorial. This should be a bit easier to read now.
- Fixed power connector not able to have portable generator wrenched onto it. Now can correctly wrench a portable generator to a power connector, to get generated power from it. Credit to Risu on Discord for solution.
- Fixed unable to change dynamic air conditioner's mode while wrenched onto tank connectors.
- Fixed duplicate atmosphere error causing atmospheric controller to crash
- Fixed null error on atmospheric things when entering rooms with no Atmosphere
- Fixed Soybeans never maturing and becoming harvestable.
- Fixed ScreenFilter not clearing when loading mod data, preventing loading data more than once per launch.
- Fixed bug where large batteries in the mining drill were rotated in a way that meant you couldn't see their charge level.
- Fixed NRE in dedicated server when stop server and press ESC button.
- Fixed some duplicate initializations when starting a new world.
- Removed some unused ore game objects from WorldManager Prefab.
- Removed old code for changing material on ores that was no longer needed.
- Fixed data disk slots incorrectly oriented on StructureComputer. DataDisks placed in a computer should now be rotated correctly. (Thanks Risu!)
- Fixed bug with APCs drawing more power than needed if charging nearly-full batteries. APC power draw now takes into account battery charge.
- Fixed NRE in tracker on dedicated server.
- Fixed issue where client didn't play WeldingTorch and MiningDrill sound when they activated.
- Fixed bug with some operating systems where the game couldn't determine voice control compatibility.
- Fixed bug where starting condition selection dropdown box could get into an infinite loop.
- Fixed sync problem in out of sight objects. Client caches things information within 60m. When a thing is interpolating while entering occlusion range, it can get stuck if there is an obstacle between positions.
- Fixed non-latin languages not working on signs and pipe labels. Signs and labels should now show non-latin text correctly if the right game language is selected.
- Fixed missing nutrition warning voice messages and missing heath icons.
- Fixed issue where workshop mods would not be tagged as such if they were disabled.
- Fixed Loading now skips items saved with invalid locations.
- Fixed saves loaded with dead characters were not given the option to respawn. Now the respawn dialogue correctly loads when player loads their game.
- Increased calorie storage for humans. A full stomach will last over one hour of playtime.
- Increased Muffin calorie value. Only two bites of a muffin will provide full calorie storage for a player.
- Fixed Damage states not being serialized. Now damage values for all things are included in save file and are correctly deserialized when loaded.
- Fixed total damage for entities incorrectly using body oxygen damage state when should use the brains oxygen damage state.
- Fixed UnauthorizedAccessException when starting dedicated server in different path. It's caused by wrong initialization orders. You can run it in any path.
- Fixed bug where resetting controls to defaults was not saving the new keys correctly.
- Fixed wrong recipe index when server and client have different language settings. It's fixed in Autolathe, ElectronicsPrinter, HydraulicPipeBender, ToolManufactory, ScreenConstructionJob, ScreenFilter.
- Fixed issue where new implementation of starting equipment did not include Duct Tape.
- Fixed issue where any progress panel displayed after the first would have no background.
- Updated upload progress prompt.
- Fixed gas canisters disappearing when blown up. Canisters now remain in the world, in a blown up state.
- Fixed Game Settings heading in settings page not having a localized key.
- Changed StartingCrates definition to be generic for DynamicThings. Now includes definitions for AirConditioner and Scrubber.
- Added support for custom name and custom color in InventoryData and DynamicThingData, used with the ConditionData custom starting condition systems.
- Changed initial spawn items. Now air conditioner, scrubber, and beacon spawn with fully charged battery cells.
- Changed Starting Inventory and Starting Crates to be combined as a Starting Condition type. Different Starting Conditions can be loaded and, for now, appear as options in the Gameplay settings menu. This will be expanded to affect only new worlds, but for now, will affect any world running on the host. These can be made as mods.
- Updated Portuguese and Spanish localization files
- Fixed Players now start with the correct number of Iron Frames.
- Fixed Disconnecting from a game (or getting disconnected from a game) now closes any prompt that is up on screen.
- Fixed NRE when respawning.
- Fixed NRE when sending player state while disconnecting.
- Fixed starting equipment now gives you the correct number of cables.
- Reduced memory usages and connecting time. Client receives chunks data around own player when connecting. Explored chunks are cashed on client. It will be reset when you connecting. Server(host player, dedicated server) has all players' explored chunks.
- Updated Simplified Chinese localization
- Added XML game data for player starting inventory. The StartingInventory game data list from XML contains references for what all players will have as starting inventory. This allows servers to run custom starting inventories for players. This is currently a global value, but will be subject to change to support scenarios in future.
- Fixed frames and other items spontaneously combusting when it shouldn't.
- Added Starting Crate data to XML. Basic starting crate data will now be configurable based on data contained in the StreamingAssets/Data XML file contents. This might be shifted into scenario data XML classes in later updates however so is subject to change.
- Added ReagentProcessor recipes to XML data format. Currently takes input prefab and output prefab. System to be extended to include quantity calculations in future.
- Added duplicate recipe check to Autolathe, ElectronicsPrinter and PipeBender for recipe mod support.
- Moved map upload progress bar to it's own window so more workshop functionality from map publishing can be used for mods.
- Added Japanese localization files
- Updated German, Spanish and Traditional Chinese localization files
- Fixed Atmospherics error when picking atmosphere to emit visualizer particle from.
- Fixed Large Gas Tank exceeding current maximum small grid allocation. Old max was 200 small grids, new max is 800 small grids.