Requester chests can now request stuff from buffer chests as was originally intended. Buffer chests are provided items only if all requester chests are satisfied for that specific item.
Requester chests have a checkbox that specifies whether it should or shouldn't request things from buffer chests. It is off by default.
Optimisations
Optimized selecting robot tasks for requester chests.
Balancing
Changed fluid wagon capacity from 75k to 25k (Same as storage tank).
Lowered fluid wagon weight from 3000 to 1000 (same as cargo wagon).
Changed fluid wagon recipe so it requires just 1 storage tank instead of 3.
Lowered barrel fluid capacity from 250 to 50. (So cargo wagon with barrels holds 20k and logistic robots are not too strong alternative to carrying fluids.)
Lowered barelling speed from 1 to 0.2.
Bugfixes
Fixed loading of achievements with steam version. more
Fixed train schedule resizing with very large player inventory. more
Fixed missing auto resizing of Lua GUI elements when caption changes. more
Fixed that it was possible to set duplicate logistic requests.
Fixed missing entity counts when selecting area for blueprint on low graphics quality. more
Fixed that the default listbox font was called "default-list_box". more
Fixed that clicking "Generate" button in the generate map window while the exchange string field was enlarged moved the button around before the mouse up was registered. The exchange string field will now never shrink on focus lost.
Fixed that setting LuaPlayer::opened to an empty item would crash the game. more
Fixed performance issues when hovering over huge resource patches in map or zoomed-to-world view. more
Fixed a desync when hosting multiplayer directly and building blueprints. more
Fixed a crash when calling specific LuaEntity properties. more
Fixed module effects weren't checked correctly for modded modules. more
Fixed a crash when teleporting roboports or logistic containers marked for deconstruction. more
Fixed roboports would show up twice in the logistic GUI. more
Fixed the background on the select-recipe GUI for the choose-elem-button didn't show correctly. more
Fixed changing transport belt speeds through mods on existing saves. more
Fixed a crash when setting filters on cargo wagons in multiplayer. more
Fixed a crash when trying to put blueprint books in blueprint books. more
Fixed that train could overshoot a station when the schedule was changed by the script.
Fixed that heatpipes would incorrectly update their connections when teleported. more
Fixed the problem of flickering tooltips in a generic way (hopefully). more
Fixed that the table of games was focused (for keyboard control) even if the player focused the search bar manually. more
Fixed crash that can happen when train on its path to station that was deactivated finds path to different alternative station of the same name that leads in opposite direction to current train movement. more
Fixed that player didn't request from buffer chests.
Fixed that some maps with modded selection-tool items failed to load.
Scripting
The item-with-tags and selection-tool item types now support LuaItemStack::item_number.
Added an optional player parameter to LuaEntity::order_deconstruction, cancel_deconstruction, LuaTile::cancel_deconstruction, LuaSurface::deconstruct_area, and LuaSurface::cancel_deconstruct_area.
You can get experimental releases by selecting the 'experimental' beta branch under Factorio's properties in Steam.
Requester chests can now request stuff from buffer chests as was originally intended. Buffer chests are provided items only if all requester chests are satisfied for that specific item.
Requester chests have a checkbox that specifies whether it should or shouldn't request things from buffer chests. It is off by default.
Optimisations
Optimized selecting robot tasks for requester chests.
Balancing
Changed fluid wagon capacity from 75k to 25k (Same as storage tank).
Lowered fluid wagon weight from 3000 to 1000 (same as cargo wagon).
Changed fluid wagon recipe so it requires just 1 storage tank instead of 3.
Lowered barrel fluid capacity from 250 to 50. (So cargo wagon with barrels holds 20k and logistic robots are not too strong alternative to carrying fluids.)
Lowered barelling speed from 1 to 0.2.
Bugfixes
Fixed loading of achievements with steam version. more
Fixed train schedule resizing with very large player inventory. more
Fixed missing auto resizing of Lua GUI elements when caption changes. more
Fixed that it was possible to set duplicate logistic requests.
Fixed missing entity counts when selecting area for blueprint on low graphics quality. more
Fixed that the default listbox font was called "default-list_box". more
Fixed that clicking "Generate" button in the generate map window while the exchange string field was enlarged moved the button around before the mouse up was registered. The exchange string field will now never shrink on focus lost.
Fixed that setting LuaPlayer::opened to an empty item would crash the game. more
Fixed performance issues when hovering over huge resource patches in map or zoomed-to-world view. more
Fixed a desync when hosting multiplayer directly and building blueprints. more
Fixed a crash when calling specific LuaEntity properties. more
Fixed module effects weren't checked correctly for modded modules. more
Fixed a crash when teleporting roboports or logistic containers marked for deconstruction. more
Fixed roboports would show up twice in the logistic GUI. more
Fixed the background on the select-recipe GUI for the choose-elem-button didn't show correctly. more
Fixed changing transport belt speeds through mods on existing saves. more
Fixed a crash when setting filters on cargo wagons in multiplayer. more
Fixed a crash when trying to put blueprint books in blueprint books. more
Fixed that train could overshoot a station when the schedule was changed by the script.
Fixed that heatpipes would incorrectly update their connections when teleported. more
Fixed the problem of flickering tooltips in a generic way (hopefully). more
Fixed that the table of games was focused (for keyboard control) even if the player focused the search bar manually. more
Fixed crash that can happen when train on its path to station that was deactivated finds path to different alternative station of the same name that leads in opposite direction to current train movement. more
Fixed that player didn't request from buffer chests.
Fixed that some maps with modded selection-tool items failed to load.
Scripting
The item-with-tags and selection-tool item types now support LuaItemStack::item_number.
Added an optional player parameter to LuaEntity::order_deconstruction, cancel_deconstruction, LuaTile::cancel_deconstruction, LuaSurface::deconstruct_area, and LuaSurface::cancel_deconstruct_area.
You can get experimental releases by selecting the 'experimental' beta branch under Factorio's properties in Steam.
Hello, as you could expect this Friday facts is mainly about our fight with the avalanche of bug reports, which is actually not as huge as we expected it to be to be honest.
We released 0.16.7 yesterday, and this will probably be the last update for a while. Most of us now are taking a break, enjoying the festivities, and visiting our friends and family.
Transport belt compression update
Regarding the belt compression discussion opened in the last FFF: We are considering an option where side loading and inserters would compress belts natively. We will make a branch with it to test it how it works, and we will let you know our decision.
Fluid wagon update
We made a decision to completely abolish the mechanics of fluid wagon tank separation. We knew that a lot of players would not like it, but this might just be because they got used to it, and because of the argument "if you don't like it, don't use it".
There are more arguments to destroy.
Fluid wagon capacity is somewhat too big, which means that the fluid trains have to move around very sporadically compared to the trains with items. Making the wagon fluid capacity smaller (we didn't do it yet) and removing the separation, is similar to making the whole fluid wagon as big as one section.
It was solving a problem that has quite a trivial solution (use two separate wagons). We try to add mechanics mainly for things that don't have a solution otherwise, or the solution is weird.
We won't have to keep the code alive, we won't have to update the UI of it (in the upcoming GUI update) and fix the bugs related to it. This argument is the smallest, but is also here, as everything has a cost and it is about priorities.
Requester chest update
The change of the requester chest having priority over buffer chest was not that easy, as I decided to combine it with optimisation I wanted to do for a long time. In the current version, requesters have just 2 containers internally: "unsatisfied requesters" and "satisfied requesters", every tick, the "unsatisfied requesters" are iterated and it is checked whether supply is available for them. The second bucked with "satisfied requesters" is separated so we don't have to iterate through requesters that don't need anything now.
The problem with this approach is, that once there are more a lot of unsatisfied requester chests for the same thing (lets say iron), and there just isn't iron in the supply at this moment, all the requesters have to be wastefully iterated again and again. So the change is, that every requests of chests are tracked separately for every item, and once the item isn't available, the rest of the requesters don't have to be iterated. I didn't measure, but it might have some minor impact in big bot-based Factories.
The reason why was the optimisation written together with the fix is, that requesters have to have priority over buffer chests independently for each item, and it works quite nicely with it. TL;DR, this functionality is now merged into our master branch, and you will get it in the next bugfix release.
I also feel, that we should add 2 things to the logistic system in 0.16:
A checkbox in the requester chest that would allow the player to specify whether it should or shouldn't take from buffer chests, as even with the priorities, it might be annoying if robots took all the stuff from buffer stations to the requesters just because the supply train is going to arrive 10 seconds late, so the buffer chests would be supplied again soon. I would even say that the option might be to not take things from buffer chests by default.
A filter for the storage chests. Buffer chests somewhat help to sort the storage, it doesn't really replace the need of storage chests to have a single filter for the whole storage chest. This would allow it to be reserved just for something specific, which would solve a lot of different problems
3 major train problems resolved
Thanks to train bugfixes from the user aaargha, there were 3 quite important fixes related to trains done. All of them were in the game for a very long time, more than 3 years, which surprises me a lot.
A train decelerating to stop in a station created penalty around 2^32/10 (a lot) on the path it went through. This was sometimes causing trains to do very crazy and huge paths just to avoid this point. It was especially annoying as the penalty was easily enough to force train to go through different stations (that has penalty of 2000) which could cause traffic jams in a lot of systems.
The train penalty of 2000 to avoid trains going through stops not on its own path was applied to the destination stop before actually reaching it. This caused the train path-finding to potentially search a huge amount of paths while the destination stop was just ahead of it. It was just a potential performance problem, but as you probably noticed, we need to care about performance.
The last bug is related to this example:
The top train arrives later because there is no rail signal just in front of the stop. Sounds weird right? This bug was related to a hacky solution to a problem with extremely fast trains 3 years ago, and it basically caused trains to start slowing down for a station 2 times sooner in many cases.
All of these problems are already fixed in the current 0.16.7.
Steam awards
Factorio has been nominated for one of the Steam awards, 'Haunts My Dreams'. It is a nice mark of recognition for all the work we've put to the game this year. It seems the other nominees are pretty much the giants of the industry, so it is most likely one of these will win. Still, it is nice to be included with the big kids.
The voting for this category opens on the 29th of December, at 10 AM PST, for 24 hours only. So if you are interested in voting for one of the entrants, be sure you can get to a PC on that day.
As always, let us know what you think on our forum.
Hello, as you could expect this Friday facts is mainly about our fight with the avalanche of bug reports, which is actually not as huge as we expected it to be to be honest.
We released 0.16.7 yesterday, and this will probably be the last update for a while. Most of us now are taking a break, enjoying the festivities, and visiting our friends and family.
Transport belt compression update
Regarding the belt compression discussion opened in the last FFF: We are considering an option where side loading and inserters would compress belts natively. We will make a branch with it to test it how it works, and we will let you know our decision.
Fluid wagon update
We made a decision to completely abolish the mechanics of fluid wagon tank separation. We knew that a lot of players would not like it, but this might just be because they got used to it, and because of the argument "if you don't like it, don't use it".
There are more arguments to destroy.
Fluid wagon capacity is somewhat too big, which means that the fluid trains have to move around very sporadically compared to the trains with items. Making the wagon fluid capacity smaller (we didn't do it yet) and removing the separation, is similar to making the whole fluid wagon as big as one section.
It was solving a problem that has quite a trivial solution (use two separate wagons). We try to add mechanics mainly for things that don't have a solution otherwise, or the solution is weird.
We won't have to keep the code alive, we won't have to update the UI of it (in the upcoming GUI update) and fix the bugs related to it. This argument is the smallest, but is also here, as everything has a cost and it is about priorities.
Requester chest update
The change of the requester chest having priority over buffer chest was not that easy, as I decided to combine it with optimisation I wanted to do for a long time. In the current version, requesters have just 2 containers internally: "unsatisfied requesters" and "satisfied requesters", every tick, the "unsatisfied requesters" are iterated and it is checked whether supply is available for them. The second bucked with "satisfied requesters" is separated so we don't have to iterate through requesters that don't need anything now.
The problem with this approach is, that once there are more a lot of unsatisfied requester chests for the same thing (lets say iron), and there just isn't iron in the supply at this moment, all the requesters have to be wastefully iterated again and again. So the change is, that every requests of chests are tracked separately for every item, and once the item isn't available, the rest of the requesters don't have to be iterated. I didn't measure, but it might have some minor impact in big bot-based Factories.
The reason why was the optimisation written together with the fix is, that requesters have to have priority over buffer chests independently for each item, and it works quite nicely with it. TL;DR, this functionality is now merged into our master branch, and you will get it in the next bugfix release.
I also feel, that we should add 2 things to the logistic system in 0.16:
A checkbox in the requester chest that would allow the player to specify whether it should or shouldn't take from buffer chests, as even with the priorities, it might be annoying if robots took all the stuff from buffer stations to the requesters just because the supply train is going to arrive 10 seconds late, so the buffer chests would be supplied again soon. I would even say that the option might be to not take things from buffer chests by default.
A filter for the storage chests. Buffer chests somewhat help to sort the storage, it doesn't really replace the need of storage chests to have a single filter for the whole storage chest. This would allow it to be reserved just for something specific, which would solve a lot of different problems
3 major train problems resolved
Thanks to train bugfixes from the user aaargha, there were 3 quite important fixes related to trains done. All of them were in the game for a very long time, more than 3 years, which surprises me a lot.
A train decelerating to stop in a station created penalty around 2^32/10 (a lot) on the path it went through. This was sometimes causing trains to do very crazy and huge paths just to avoid this point. It was especially annoying as the penalty was easily enough to force train to go through different stations (that has penalty of 2000) which could cause traffic jams in a lot of systems.
The train penalty of 2000 to avoid trains going through stops not on its own path was applied to the destination stop before actually reaching it. This caused the train path-finding to potentially search a huge amount of paths while the destination stop was just ahead of it. It was just a potential performance problem, but as you probably noticed, we need to care about performance.
The last bug is related to this example:
The top train arrives later because there is no rail signal just in front of the stop. Sounds weird right? This bug was related to a hacky solution to a problem with extremely fast trains 3 years ago, and it basically caused trains to start slowing down for a station 2 times sooner in many cases.
All of these problems are already fixed in the current 0.16.7.
Steam awards
Factorio has been nominated for one of the Steam awards, 'Haunts My Dreams'. It is a nice mark of recognition for all the work we've put to the game this year. It seems the other nominees are pretty much the giants of the industry, so it is most likely one of these will win. Still, it is nice to be included with the big kids.
The voting for this category opens on the 29th of December, at 10 AM PST, for 24 hours only. So if you are interested in voting for one of the entrants, be sure you can get to a PC on that day.
As always, let us know what you think on our forum.
Fixed that the game would crash trying to load some old saves. more
Fixed train top speed calculation when not all locomotives used the same fuel type. more
Fixed roboports wouldn't provide the repair packs for other robots to use when loading saves from 0.15. more
Fixed a crash when removing modded tiles that had tile ghosts waiting to be built. more
Fixed a crash when loading saves without specific mods. more
Fixed that scenario errors would lead to getting stuck on the map preview screen if started through the map preview. more
Fixed multiple issues with enemy force interaction. more
Changes
Removed the mechanics of 3 different fluid tanks in fluid wagon, and simplified it so the fluid wagon has just 1 fluid.
Ghost belt entities don't connect to other (ghost/or non-ghost) belt entities if they don't have the same force. This prevents ghost belt of other force (invisible to the player) from changing the shape of the belt.
Building a blueprint on top of existing assembling machines, refineries and chemical plants also copies the rotation, along with the recipe. more
Scripting
Added direction, created_by_moving, and shift_build event parameters to on_put_item event.
Replaced ScrollPane::dont_scroll_horizontally by horizontal_scroll_policy and vertical_scroll_policy.
Added LuaGameScript::backer_names read.
Added LuaStyle::want_ellipsis read/write.
Minor Features
Added /version command.
You can get experimental releases by selecting the 'experimental' beta branch under Factorio's properties in Steam.
Fixed that the game would crash trying to load some old saves. more
Fixed train top speed calculation when not all locomotives used the same fuel type. more
Fixed roboports wouldn't provide the repair packs for other robots to use when loading saves from 0.15. more
Fixed a crash when removing modded tiles that had tile ghosts waiting to be built. more
Fixed a crash when loading saves without specific mods. more
Fixed that scenario errors would lead to getting stuck on the map preview screen if started through the map preview. more
Fixed multiple issues with enemy force interaction. more
Changes
Removed the mechanics of 3 different fluid tanks in fluid wagon, and simplified it so the fluid wagon has just 1 fluid.
Ghost belt entities don't connect to other (ghost/or non-ghost) belt entities if they don't have the same force. This prevents ghost belt of other force (invisible to the player) from changing the shape of the belt.
Building a blueprint on top of existing assembling machines, refineries and chemical plants also copies the rotation, along with the recipe. more
Scripting
Added direction, created_by_moving, and shift_build event parameters to on_put_item event.
Replaced ScrollPane::dont_scroll_horizontally by horizontal_scroll_policy and vertical_scroll_policy.
Added LuaGameScript::backer_names read.
Added LuaStyle::want_ellipsis read/write.
Minor Features
Added /version command.
You can get experimental releases by selecting the 'experimental' beta branch under Factorio's properties in Steam.
Fixed a crash when trying to filter the main inventory in the god-controller. more
Fixed various crashes caused by mining or otherwise changing power poles. more
Fixed a desync when using bad values in the /color command. more
Better handling of the case where we mine our own car but our inventory's full. more
Fixed placing blueprint over existing Rail Signals does not build wires. more
Reverted "Number of entities in hand when previewing the entity to be built is now aligned to the entity." It proved to create too big problems with readability while building and running.
Fixed that rolling stocks in cursor had no icon when there was no valid location for them.
Fixed a crash when trying to filter the main inventory in the god-controller. more
Fixed various crashes caused by mining or otherwise changing power poles. more
Fixed a desync when using bad values in the /color command. more
Better handling of the case where we mine our own car but our inventory's full. more
Fixed placing blueprint over existing Rail Signals does not build wires. more
Reverted "Number of entities in hand when previewing the entity to be built is now aligned to the entity." It proved to create too big problems with readability while building and running.
Fixed that rolling stocks in cursor had no icon when there was no valid location for them.
Fixed that blueprint books couldn't be built from the zoomed-to-world view. more
Fixed a crash when loading saves with modded blueprint entities migrated multiple times. more
Fixed a crash when importing blueprints with circuit connections when a mod had made the entities not circuit connectable. more
Fixed that forced ghost building (shift + click) didn't work correctly.
Fixed destroying an entity powered from two electric networks would corrupt future saves. more
Fixed zooming in on uncharted map areas would reveal tiles on uncharted chunks. more
Fixed beacon would not highlight labs that are in range of its effects. more
Fixed disappearing sprites with Low VRAM Mode option enabled. more
Fixed glitch in one of the stone path transition sprites. more
Adjusted default graphics options to reflect increased memory requirements for high resolution sprites due to more sprites being converted to high resolution in 0.16.
Improved very poor performance with video memory usage set to low. more
Modding
Fixed circuit connector would not be visible on entities with more than one picture layer. Now the connector will render as 10th layer. more
Fixed icon_size scaled also icon's dark background in alt mode. more
You can get experimental releases by selecting the 'experimental' beta branch under Factorio's properties in Steam.
Fixed that blueprint books couldn't be built from the zoomed-to-world view. more
Fixed a crash when loading saves with modded blueprint entities migrated multiple times. more
Fixed a crash when importing blueprints with circuit connections when a mod had made the entities not circuit connectable. more
Fixed that forced ghost building (shift + click) didn't work correctly.
Fixed destroying an entity powered from two electric networks would corrupt future saves. more
Fixed zooming in on uncharted map areas would reveal tiles on uncharted chunks. more
Fixed beacon would not highlight labs that are in range of its effects. more
Fixed disappearing sprites with Low VRAM Mode option enabled. more
Fixed glitch in one of the stone path transition sprites. more
Adjusted default graphics options to reflect increased memory requirements for high resolution sprites due to more sprites being converted to high resolution in 0.16.
Improved very poor performance with video memory usage set to low. more
Modding
Fixed circuit connector would not be visible on entities with more than one picture layer. Now the connector will render as 10th layer. more
Fixed icon_size scaled also icon's dark background in alt mode. more
You can get experimental releases by selecting the 'experimental' beta branch under Factorio's properties in Steam.