1. Factorio
  2. News

Factorio News

Version 0.18.41 released

Changes


  • The tiles and entities filtering logic in the deconstruction planner is now independent.
  • Selecting first entity filter switches tile mode to never when it has the default normal mode and no filters.
Bugfixes


  • Probably fixed problem with blueprint preview data not being empty when blueprint is empty.
  • Improved layering of rocket in rocket silo, so it occludes inserter hands. more
  • Fixed inventory consistency check failing when loading some saves. more
  • Fixed inventory error messages in god and editor controller. more
  • Fixed smoke might not be spawned from generator entity if its animation was too short. more
  • Fixed underground belts and loaders would not draw half-belt with layers correctly. more
  • Fixed localised strings in text objects created through script rendering API, would be untranslated after saving and loading. more
  • Fixed that right-clicking blueprint book with empty blueprint being selected destroyed the whole book.
  • Fixed that cut and copy created empty blueprint when nothing was selected with alternative selection type.
  • Fixed that the mouse "cross" selection cursor was not present when selection tools from the blueprint library were held in the cursor.
  • Fixed that the latency state of deconstructing using tool from library didn't take the tool settings into consideration.
  • Fixed the alert tooltips showing all surface names in the tooltip when multiple surfaces existed.
Modding


  • Added LuaEntityPrototype::rocket_entity_prototype read.


You can get experimental releases by selecting the '0.18.x' beta branch under Factorio's properties in Steam.

Version 0.18.39 released

Bugfixes


  • Fixed clearing ghost from cursor would not clear quickbar selection. more
  • Fixed blueprint book not shrinking when the last item was destroyed.
  • Fixed crash when Lua received event of player selecting area to deconstruct.
  • Fixed upgrading book by item would not work while being in editor. more
  • Fixed biters not grouping before attacking an artillery outpost. more
  • Fixed crash related to saving blueprint which has all the entities/tiles as question marks.
  • Fixed desync when loading blueprint shelf with modded entities. more
  • Fixed that swapping blueprint cursor into a non transferred blueprint didn't trigger the transfer.
  • Fixed that cycling blueprint book in the shared blueprint library could also cycle the index for other players holding the same book.
  • Fixed that cycling book wouldn't mark blueprint storage to be resaved, so the indexes would be lost if no other changes were done.
  • Fixed a desync when returning to a multiplayer game while the book active index was changed in a different game. more
  • Fixed that the action to put item into a blueprint library was not based on the latency hiding state of held item, which could result into the action doing nothing when the item held was not in the server state yet.
  • Fixed that quickbar links into items contained in blueprint books in the player inventory didn't work.
  • Fixed that it was possible to setup empty blueprint of other player if the original player was still having the quickbar link to it.
  • Fixed that quickbar links did work only for the main inventory of player, so it didn't work for currently equipped armor for example.
  • Fixed that LuaInventory.insert() didn't work properly for blueprint books. more
  • Fixed crash when reassigning blueprint with non-even snap grid size to contain rails. more
  • Fixed crash when holding a blueprint from the blueprint library while being dead. more
  • Fixed that the info for selecting entities to be upgraded was mentioning entities that were marked for deconstruction, even when these are ignored by the upgrade planner.
  • Fixed that ordering deconstruction didn't cancel upgrade order. more


You can get experimental releases by selecting the '0.18.x' beta branch under Factorio's properties in Steam.

Friday Facts #358 - Alien decoratives & Polluted water

Read this post on our website.

Launch party cancelled (Jitka)

The COVID pandemic around the globe is making it really hard to plan any event these days, and we were pretty optimistic just a few weeks back. However the situation here is now changing for the worse it seems.

The number of positively tested cases of COVID here in Czech has been increasing in relatively high numbers every day for the past two weeks, and the restrictions are again taking place. In Prague, face masks are required to be worn again where more than 100 people gather indoors, no events over 500 people are permitted as of last week, etc.

The current uncertainty together with the fact that at least half of the invited guests will not be able to attend the party (including some members of our own team), have led us into making a tough decision: we have decided to cancel the Factorio 1.0 release party we were intending to throw on 4th September 2020.

For those of you who already purchased a ticket(s) - the full ticket price will be refunded.

We hope there will be another opportunity to meet you all in the foreseeable future, but for now, please accept our apologies for any inconveniences caused. This wasn't an easy decision for us to make, but we believe it is the right one.

Youtuber/Twitch/Press suggestion (Klonan)

Over the last weeks and months, we have been preparing for the marketing of our 1.0 launch on the 14th of August (just 2 weeks to go now). Part of our plan is going to be sending out some free press keys to Youtubers and streamers and other content creators, in the hopes they will give the game a try, and help spread the word. To prepare, Jitka and I have been doing our research and compiling a list of suitable individuals to send a key to.

It is not a shocking fact to find out that Youtube is massive, and I think even if we spent a year everyday going through it, we still wouldn't find 10% of channels that we would like to send a key to. So we decided to start this simple form, that you can use to suggest your favourite Youtubers to us, and help us make sure they don't miss out on the review keys when we are sending them. If you are interested and would like to help us out, you can fill in the form here.

Polluted water (V453000, posila)

As we're done with redesigning graphics for 1.0, we could focus on other graphical improvements. Because we are so close to release, it's a good idea to focus on things that are unlikely to break the game and don't cost too much time, while having as large an impact as possible.

One of the biggest themes of the game is pollution. Considering that, it's one of the least visible elements in the game - you can only see it in the map view, and on dying trees. It would be lovely if we could make grass or decoratives die too, but that's something way too technically complicated for now.

But one thing that could and does show pollution is water! For a very long time we’ve had green water tiles in the game and we've used them in campaign missions.
Two water tile types, one or the other.

As it's 'just' tiles, it wasn't really feasible to use both of them - because transitions between them would be too abrupt. Not to mention water tiles would have to generate that way, and dynamically change as the map gets more polluted, leading into more technical problems.

Manually placed tiles in map editor.

However, since water has been updated to use a shader rather recently (FFF-323), we could make it look polluted dynamically.

After some typical posila dark magic of interpolating and converting the pollution values on chunks, we could blend between a primary and secondary tint of water tiles. This way it is also directly tied to the red cloud you can see on the map so it's consistent.

Polluted water slowly spreading.

The green water tiles still exist if scenarios want to use them, they just always show as polluted.

The pollution effect won't show if the 'Show animated water' setting is off, or if pollution is disabled in the map settings. Mods can also adjust or disable the effect it by changing the secondary water tints in the tile prototypes.

Biter decoratives (Ernestas, V453000, posila)

When the whole family of biters got their redesign, one of the plans for later was to give them their own biome in the world.

We had some temporary decal and decoration sprites prepared for a long time now, but somebody needed to add them to map generator. In the end, we didn't want to spend an awful lot of time on tweaking generator properties to place them just right, and also we wanted them to be created under new bases as biters expand, therefore we decided to add special logic to generate them as spawners and turrets are created. If your mod already has its own solution for creep, you can disable base game one by clearing spawn_decoration prototype property on spawners and worms.

Our initial naive implementation was placing the decals just randomly, and Ernestas turned the number of the decals created up to 11 to make them cover the ground the way he liked. That in turn made me (posila) unhappy, because in the middle of biter bases there were too many decals overlapping each other, that even your GTX 1080 would take notice of the increased workload, and a laptop with an integrated GPU would fall to its knees. That made me realize that artists probably wished our tile renderer had a texture splatting feature. But I wasn't really ready to change the specification for tile renderer yet again and rework it to add more new features into it this close to the release. We also really didn't want to add an option to disable the rendering of decals as that together with already existing option to disable decoratives would make terrain look completely plain.

So instead we changed the decal placement logic use Poisson-disc sampling, which produces points that are randomly placed but somewhat evenly spaced out from each other, and this fixed the excessive overlapping.

Once we knew it could actually be generated (including bases created by biter expansions), Ernestas could finalize the graphics. Mucus, mold, eggs, worms, all kinds of bodily fluids and slimes. You can see how this immediately looks much more like a 'nest'.



We decided not to bother with a migration as we need to focus also on other things (like fixing bugs), so existing biter bases on older maps loaded in 1.0 won't have these decoratives. We imagine a lot of people will want to start a fresh map anyway, and it's a nice identifier of a 1.0 map.

Both the polluted water and the biter decoratives will be released on 14th August in 1.0.

Version 0.18.38

Graphics


  • Improved the blueprint grid visualisation, so it shows a rectangle instead of just the corners.
  • Added blueprint grid visualisation when building in the world.
Bugfixes


  • Fixed cleaning ghost cursor. more
  • Fixed crash when clicking a blueprint book upgrade slot with an upgrade planner in hand.
  • Fixed navigating in a blueprint book item when opened directly from a quickbar. more
  • Fixed that it was possible to put book into itself using hand->swap and clean cursor.
  • Fixed that the hand functionality didn't work properly for gun and ammo and gave misleading error messages in some cases.
  • Fixed "slice" property of animation definition was interpreted as dicing parameter, possibly causing large memory allocations. more
  • Fixed that grabbing gun/ammo, swapping it with some other item in the inventory and pressing Q, gave a message of inventory full, instead of the item in cursor not being returnable to the hand location
  • Fixed that Internal inventory stack transfer messages weren't specific enough, or not present at all.
Modding


  • Renamed sprite and animation properties for sprite dicing from "slice", "slice_x" and "slice_y" to "dice", "dice_x" and "dice_y", because "slice" collided with property of rotated animation definition used for defining spritesheet sliced into multiple files. Sprite dicing is a technique of chopping large sprite into smaller ones to improve packing in sprite atlas.
Scripting


  • Fixed a typo (per vs pre) in the on_pre_permission_group_deleted event name.


You can get experimental releases by selecting the '0.18.x' beta branch under Factorio's properties in Steam.

Version 0.18.37 released

Major Features


  • New blueprint library GUI. Its user interface had been aligned with the way inventory works in as many ways as possible. more
Features


  • Added blueprint building from the map view.
  • Blueprints can have snapping dimensions specified. When they are built by dragging, they are only built in the grid relative to where the build started.
  • Blueprints can have absolute map snapping specified, so the blueprints are always aligned to the global grid.
  • Blueprint books can be inserted into blueprint books, cycling through the books works in a hierarchical way.
  • Upgrade planners and deconstruction planners can be inserted into blueprint books and the blueprint library.
  • Blueprint books, upgrade planners and deconstruction planners can now have custom icons specified.
  • All blueprints tools have an editable description.
  • Added Blueprint reassign tool. It allows to set new contents of a blueprint by world selection.
  • All blueprint tools have a copy function.
  • All the blueprint tools are usable directly from the blueprint library.
  • Quickbar links to blueprint tools are persistent when moving them between library shelves and inventories.
  • Most of the blueprint tools manipulation in the blueprint library is part of a multiplayer latency hiding.
  • Icons on the blueprint tools and filters in the upgrade planners/deconstruction planners are preserving the original values so whenever the mods would be re-added, the original values can be restored, unless the player clears the related icons manually.
  • Any blueprint contents that are not available due to mod removal are also kept in the blueprint persistently, so blueprints can be copied and transferred in multiplayer without losing its original data.
  • Added downgrading feature to upgrade planner. It works on blueprints, books and also when applying in the world.
  • Clicking an upgrade planner button in the blueprint or a book now provides a list of all available upgrade planners to be applied.
  • Upgrade planners now also update the relevant icons of blueprints and books.
Minor Features


  • Grabbing an item from a blueprint book has the same hand item functionality as when holding an item from inventory, so it goes back to the original position when clean cursor is triggered.
Gui


  • All the blueprint tools now show all possible actions it can perform in the tooltip.
  • Control settings search now also searches by the currently assigned key-binding.
Optimizations


  • Decreased the header size of blueprint-storage and of individual blueprints with backed up modded entities, as only the id mapping relevant to the blueprints (and whole storage) is now saved.
Bugfixes


  • Fixed that exporting blueprint didn't include the unconfirmed blueprint changes into the exported string.
  • Fixed blueprint preview icons rendering scale when blueprint was held in cursor.
  • Fixed that blueprint was not detecting modded data to be lost when loading unless one of the top level entities or tiles were to be lost. This means, that a blueprint with vanilla constant combinator (for example) with a modded signal will no longer silently lose the modded signals on resaving the blueprint storage when the mod is not currently active.
  • Fixed that biters when faced with a rock might get stuck in an infinite pathfinding loop. more
  • Fixed that clicking a technology in the research queue, holding the mouse down and moving it over the cancel button would make the cancel button flicker. more
  • Fixed slider tooltip would show old value. more
  • Fixed terrain particles would be spawned when walking over belts. more
  • Fixed player movement on belts in latency state was not exactly matched with the real game state logic. more
  • Fixed that the set-request GUI didn't respect the show-all-items setting. more
  • Fixed that burner assembling machines could cause inserters to get stuck holding extra fuel in some cases. more
  • Fixed noise.terrace function did not assert that constant parameters are constant.
  • Fixed that item durability tooltips used the wrong locale key in some places. more
  • Fixed that upgrading inserters in blueprints wouldn't preserve modded pickup/drop locations. more
  • Fixed that exporting empty blueprint books didn't work correctly. more
  • Fixed that the mods GUI didn't have any mod selection by default. more
  • Fixed that positions of entities in blueprint string were not properly fixed to be aligned to grid according to our rules and centered.
  • Fixed a crash when mods destroy the character entity during the on_gui_closed event. more
  • Fixed a crash when canceling loading some modded saves. more
  • Fixed that artillery turrets didn't fully use the shooting speed research. more
  • Reduced flicker of mining drill indicator lights when zoomed out. more
  • Fixed lua documentation for LuaGuiElement::index read. more
  • Fixed that biters would try to attack over large distances individually instead of in groups. more
  • Map tag edit GUI can now be confirmed with Enter key even when the textbox is not focused. more
  • Fixed a pathfinder crash related to entities and tiles using collision layers 11 to 15. more
  • Fixed the changelog GUI indentation.
Modding


  • Implemented compileIntoCurrentProcedure for the "if-else-chain" noise expression type. This allows non-constant values to be used as conditions.
  • Added "modulo", "ceil" and "floor" noise expression types.
  • Added "bitwise-and", "bitwise-or", "bitwise-xor" and "bitwise-not" noise expression types.
  • Added "sin", "atan2" and "cos" noise expression types.
  • Added "less-than", "less-or-equal" and "equals" noise expression types.
  • Changed turret base_picture animation to actually play the animation.
  • Added several properties to ExplosionPrototype to control light fading through applying a multiplier to the light's size and intensity. "light_intensity_factor_initial" (default 0), "light_intensity_factor_final" (default 0), "light_intensity_peak_start_progress" (default 0), "light_intensity_peak_end_progress" (default 0.9), "light_size_factor_initial" (default 0.05), "light_size_factor_final" (default 0.1), "light_size_peak_start_progress" (default 0.1), "light_size_peak_end_progress" (default 0.5)
Scripting


  • Added permission events: on_permission_group_edited, on_pre_permission_string_imported, on_permission_string_imported, on_per_permission_group_deleted, on_permission_group_deleted, and on_permission_group_added.
  • Simplified the rules of entity positions aligned to grid in the blueprint. Now they have the same rules as entities in the world.


You can get experimental releases by selecting the '0.18.x' beta branch under Factorio's properties in Steam.