Factorio - Klonan
Hello Factorio players!

Steam Account Linking
We recently launched a new system on our webpage for linking a Factorio website account with a steam account. This will be used from now on to verify that the user making the key request is legitimate, and it should help reduce the amount of fraud we have been seeing on our website. Another feature of this is that now users who purchased the game on steam, can link their accounts and allow them to download the website versions of the game. This is all in preparation for 0.13 where account will be used to access the modding portal and the multiplayer matching server and the authentication service:

Authentication service
Now, when you are playing a multiplayer game and someone joins, the username he has could be anything he would like. This can be obviously used to cause havoc. To solve this, the servers will have an option (on by default) to require authentication by the Factorio website before users can connect. This will be essential for implementing the admin system. The plan of the admin system is quite simple, the player starting the game is admin by default, and he can promote other to admins, kick and ban other people.

The train struggle
The promise to solve the irregular size of the train wagons, mainly the difference between vertical and horizontal size, put a lot of wrinkles on our faces. We had countless discussions with Albert about the possible solutions.

Our goal is to make the vertical and horizontal train stations, to have the same dimensions, something like this:












But the problem is the transition between these two directions. The core of the whole problem is, that the Factorio grid is squares, but the game isn't a top down view. The game uses a dimetric projection at an angle of 45 degrees. This means that the top down view of the Factorio tile is actually a rectangle with a dimensions of 1 by 1.414 (square root of 2 ).

It was probably a mistake to make it this way, if I could go back in time 4 years and give myself advice to not do it this way, I would, but I have no time machine so we have to live with it as it is.

This leads to the problem with trains, when you rotate the train wagon, the vertical variant occupies less tiles, so we compensated for this by making the train tighter in the vertical direction, which results in different lengths of the train stations.



The first solution we thought about, was to just stretch the train secretly as it is rotated. But as the difference is 41%, it would really not be hideable and it would make it look like it was made of rubber.



We were also considering different options, such as a piston in the middle of the train wagons that would extend when it rotates to vertical direction and similar crazy ideas. But nothing really made any sense to us.

The solution came from the idea to use the gap. The inserter wouldn't be able to access the train in the gap, which would be a clear rule that could be easily applied even when the gap is tiny in the horizontal direction.

If we make the length of the wagon 6 and the gap 1, we can make the gap look really tiny in horizontal direction, but extend it in vertical.





These are far from perfect, but with some little adjustments, like a connection rod, and slight stretching , it might actually work, which is a big relief.

Loader part 2
I have been thinking about the loader every other day since the last introduction of the idea. There are so many aspects to it, as it affects core parts of the game, and it can potentially destroy a lot of small optimisation puzzles. The main reason why I wanted the loader, is to lower the gap between transport belts and logistic robots in the late game. The solution that I'm considering now is the Heavy Inserter. It would be just a different kind of inserter, that would apply the stack size bonus also when putting things from/to transport belts. Programming wise this is very simple to do, and it would also not drain the precious time of our graphics department.

Apart the different color/graphics of the inserter it would look as this:



Ease of use 2
In the meantime, we are still adding nice little improvements to the ui. It is now possible to click the alert icon to open the map to the location of the alert. The map now zooms towards the cursor rather than the center of the screen. It is also possible to right-click and drag to move the map around.

The blueprint icon can now use both fluid and circuit (virtual) signal icons.
The production statistics now contain the overall sum. It is now also possible to select individual items in the production/electric statistics, to limit the graph to only show these items. As the graph is now, it doesn't show the production for small scale items well, when the production of the other items is so large.

As always, let us know what you think on our forums.
Factorio - Klonan
Hello Factorio players!

Steam Account Linking
We recently launched a new system on our webpage for linking a Factorio website account with a steam account. This will be used from now on to verify that the user making the key request is legitimate, and it should help reduce the amount of fraud we have been seeing on our website. Another feature of this is that now users who purchased the game on steam, can link their accounts and allow them to download the website versions of the game. This is all in preparation for 0.13 where account will be used to access the modding portal and the multiplayer matching server and the authentication service:

Authentication service
Now, when you are playing a multiplayer game and someone joins, the username he has could be anything he would like. This can be obviously used to cause havoc. To solve this, the servers will have an option (on by default) to require authentication by the Factorio website before users can connect. This will be essential for implementing the admin system. The plan of the admin system is quite simple, the player starting the game is admin by default, and he can promote other to admins, kick and ban other people.

The train struggle
The promise to solve the irregular size of the train wagons, mainly the difference between vertical and horizontal size, put a lot of wrinkles on our faces. We had countless discussions with Albert about the possible solutions.

Our goal is to make the vertical and horizontal train stations, to have the same dimensions, something like this:












But the problem is the transition between these two directions. The core of the whole problem is, that the Factorio grid is squares, but the game isn't a top down view. The game uses a dimetric projection at an angle of 45 degrees. This means that the top down view of the Factorio tile is actually a rectangle with a dimensions of 1 by 1.414 (square root of 2 ).

It was probably a mistake to make it this way, if I could go back in time 4 years and give myself advice to not do it this way, I would, but I have no time machine so we have to live with it as it is.

This leads to the problem with trains, when you rotate the train wagon, the vertical variant occupies less tiles, so we compensated for this by making the train tighter in the vertical direction, which results in different lengths of the train stations.



The first solution we thought about, was to just stretch the train secretly as it is rotated. But as the difference is 41%, it would really not be hideable and it would make it look like it was made of rubber.



We were also considering different options, such as a piston in the middle of the train wagons that would extend when it rotates to vertical direction and similar crazy ideas. But nothing really made any sense to us.

The solution came from the idea to use the gap. The inserter wouldn't be able to access the train in the gap, which would be a clear rule that could be easily applied even when the gap is tiny in the horizontal direction.

If we make the length of the wagon 6 and the gap 1, we can make the gap look really tiny in horizontal direction, but extend it in vertical.





These are far from perfect, but with some little adjustments, like a connection rod, and slight stretching , it might actually work, which is a big relief.

Loader part 2
I have been thinking about the loader every other day since the last introduction of the idea. There are so many aspects to it, as it affects core parts of the game, and it can potentially destroy a lot of small optimisation puzzles. The main reason why I wanted the loader, is to lower the gap between transport belts and logistic robots in the late game. The solution that I'm considering now is the Heavy Inserter. It would be just a different kind of inserter, that would apply the stack size bonus also when putting things from/to transport belts. Programming wise this is very simple to do, and it would also not drain the precious time of our graphics department.

Apart the different color/graphics of the inserter it would look as this:



Ease of use 2
In the meantime, we are still adding nice little improvements to the ui. It is now possible to click the alert icon to open the map to the location of the alert. The map now zooms towards the cursor rather than the center of the screen. It is also possible to right-click and drag to move the map around.

The blueprint icon can now use both fluid and circuit (virtual) signal icons.
The production statistics now contain the overall sum. It is now also possible to select individual items in the production/electric statistics, to limit the graph to only show these items. As the graph is now, it doesn't show the production for small scale items well, when the production of the other items is so large.

As always, let us know what you think on our forums.
Factorio - HanziQ
  • Changes
    • Mod checksums are calculated when the game starts and are compared with other peers when joining a multiplayer game. This is to ensure everyone has exactly the same mod in order to prevent desyncs caused by local changes made to mod files.

  • Bufixes
    • Fixed strange outer corner rendering for terrains with the same layer. more
    • Fixed Factorio timing out of a multiplayer game when closed by pressing the X button more
    • Building things after quitting a multiplayer game is no longer possible and no longer crashes the game. more
    • Fixed memory leak with special signals in the circuit network.
    • Fixed crash when killing the player in on_built_entity. more
    • Fixed crash when making blueprints of ghosts with some now-invalid circuit connections to other ghosts. more
    • Fixed player's shooting target not updating properly when the target's force became friendly more
    • Fixed the documentation of CircuitCondition more
    • Fixed that the ignore_planner field of Command would expect an integer instead of a boolean. more
    • Starting value of progress bar is now properly set based on the input. more
    • Fixed crash when destroying entity with empty corpse string. more
    • Fixed mining drills getting stuck when built pointing at rails and then rotated. more
    • Fixed remote.call() within the same mod passing invalid data. more
    • Fixed the typo in the error "mulitplayer.cannot-load-downloaded-map", the cause of the error wasn't displayed because of it. more
    • Fixed that the server could get desynced and in a state where he has no one to download from. more
    • Fixed that the train tooltip was showing the current station as the next one when in the station. more
    • Fixed crash when a Lua function was used as a value in a table in data.raw more
    • Fixed the tooltip of the inventory limit feature to "Limit the inventory part to be filled by machines.", so it is clear, it limits only input, but not output.
    • Fixed that cancelling a recipe in the crafting queue would reset the crafting timer unnecessarily more
    • Fixed crash when a force other than player, enemy or neutral was used in autoplace specification more
    • Fixed crash when a network interface is deactivated during multiplayer game more
    • Fixed white bar on top of the screen was sometimes present in fullscreen on OS X more
    • Unified the processing of savegame name in --load-game --start-server and --mp-load-game. It can all be supplied with or without the .zip
    • Fixed that collision with point wasn't working properly for curved rail. more

  • Modding
    • Added LuaEntity::unit_group read-only attribute
    • Proper error message when subgroup specified by empty string. more
    • Fixed projectiles with negative acceleration would turn around, fly back and break the game. more

You can get experimental releases by selecting the 'experimental' beta branch under Factorio's properties in Steam.
Factorio - HanziQ
  • Changes
    • Mod checksums are calculated when the game starts and are compared with other peers when joining a multiplayer game. This is to ensure everyone has exactly the same mod in order to prevent desyncs caused by local changes made to mod files.

  • Bufixes
    • Fixed strange outer corner rendering for terrains with the same layer. more
    • Fixed Factorio timing out of a multiplayer game when closed by pressing the X button more
    • Building things after quitting a multiplayer game is no longer possible and no longer crashes the game. more
    • Fixed memory leak with special signals in the circuit network.
    • Fixed crash when killing the player in on_built_entity. more
    • Fixed crash when making blueprints of ghosts with some now-invalid circuit connections to other ghosts. more
    • Fixed player's shooting target not updating properly when the target's force became friendly more
    • Fixed the documentation of CircuitCondition more
    • Fixed that the ignore_planner field of Command would expect an integer instead of a boolean. more
    • Starting value of progress bar is now properly set based on the input. more
    • Fixed crash when destroying entity with empty corpse string. more
    • Fixed mining drills getting stuck when built pointing at rails and then rotated. more
    • Fixed remote.call() within the same mod passing invalid data. more
    • Fixed the typo in the error "mulitplayer.cannot-load-downloaded-map", the cause of the error wasn't displayed because of it. more
    • Fixed that the server could get desynced and in a state where he has no one to download from. more
    • Fixed that the train tooltip was showing the current station as the next one when in the station. more
    • Fixed crash when a Lua function was used as a value in a table in data.raw more
    • Fixed the tooltip of the inventory limit feature to "Limit the inventory part to be filled by machines.", so it is clear, it limits only input, but not output.
    • Fixed that cancelling a recipe in the crafting queue would reset the crafting timer unnecessarily more
    • Fixed crash when a force other than player, enemy or neutral was used in autoplace specification more
    • Fixed crash when a network interface is deactivated during multiplayer game more
    • Fixed white bar on top of the screen was sometimes present in fullscreen on OS X more
    • Unified the processing of savegame name in --load-game --start-server and --mp-load-game. It can all be supplied with or without the .zip
    • Fixed that collision with point wasn't working properly for curved rail. more

  • Modding
    • Added LuaEntity::unit_group read-only attribute
    • Proper error message when subgroup specified by empty string. more
    • Fixed projectiles with negative acceleration would turn around, fly back and break the game. more

You can get experimental releases by selecting the 'experimental' beta branch under Factorio's properties in Steam.
Factorio - kovarex
Hello Factory builders.

0.12 to be finished soon
We thought that 0.12 was over, but with the influx of new players, there are always more people trying different kinds of ways to crash the game. Like connecting/disconnecting monitors while playing, changing wifi connection while in multiplayer, or changing the system time. Yes, the system time is used on few places and its sudden change can freeze Factorio currently.

I had to spend 2 hours investigating a corrupt save, just to find it to be a hardware issue. This reminded me of the blog post by Patrick Wyatt, where he explains that they did a mem/cpu tests when the game started, so they could ignore bogus crash reports. We might consider this in the future.

Long story short, only half of the dev time is now spent on bugfixing (This is an improvement), and it should become less after next week. Let's hope 0.12.30 will be the last stable of 0.12.

0.13 Roadmap
After some discussions, we decided that our goal of 0.13.0 release date is 1. June, which is 2 months and a week from now. I would like to make clear that it is not a promise but a goal. It seems like a lot of time, but as we already know, things take longer than expected. I had a meeting with our graphics department yeasterday, which is just Albert and Vaclav. We had to make final plans of what we can actually finish and what we can't:

Let me summarize the current state of the 0.13 roadmap:

Things that are done or almost done:
  • Tech tree
  • Additional train conditions
  • Turrets revisit - Minimised to flame thrower turret and fire system.
  • Better rail building
  • Achievements
  • Multiplayer matching server - more about it in future FFF
  • Better train management possibilities.
  • Modules in blueprints.
  • Power switch.
  • Blueprint book
  • Search field (recipes, technologies, filters, stations and maybe more)
  • and a lot of small things

These are to be finished:
  • Circuit network additions
  • Redo of the train graphics and fixing the train distances, so they are whole tiles and vertical and horizontal distances are the same.
  • Graphical gui redesign - one of the big things that just had to be done sooner or later, we will definitely talk about it in detail in the future FFF
  • Native mod portal integration
  • Resource generation overhaul.
  • The loader.
  • and a lot of small things as well

Stuff that had to be postponed to 0.14, so we can deliver the rest:
  • Spidertron
  • Fluid wagon
  • Artillery turret
  • Higher tier mining drill

Ease of use
The work on improving the comfort is important and shouldn't be neglected because of features. Some of the changes are really simple, but can help a lot in later stages of the game, like the possibility to put a different module into the slot, without having to clear it first, and the exchanged module goes into the inventory.



The way to upgrade modules using control click also helps a lot:



Thanks to Rseding91, modules can be also part of a blueprint:



Underground pipes and belts can also be built the same way as poles in 0.13:

We need people
It is more than obvious, that we should get more people now. We can afford it, there is practically infinite amount of improvements or additions we could work on, and we feel there isn't enough of us.

So if you know a good C++ programmer or 3D artist, please send him/her our way, specifically to https://www.factorio.com/jobs

Achievements will be finished soon
Albert finished the first pack of icons and I like them a lot. A nice icon can definitely increase the enjoyment of getting an achievement.




As always, let us know what you think on our forums.
Factorio - kovarex
Hello Factory builders.

0.12 to be finished soon
We thought that 0.12 was over, but with the influx of new players, there are always more people trying different kinds of ways to crash the game. Like connecting/disconnecting monitors while playing, changing wifi connection while in multiplayer, or changing the system time. Yes, the system time is used on few places and its sudden change can freeze Factorio currently.

I had to spend 2 hours investigating a corrupt save, just to find it to be a hardware issue. This reminded me of the blog post by Patrick Wyatt, where he explains that they did a mem/cpu tests when the game started, so they could ignore bogus crash reports. We might consider this in the future.

Long story short, only half of the dev time is now spent on bugfixing (This is an improvement), and it should become less after next week. Let's hope 0.12.30 will be the last stable of 0.12.

0.13 Roadmap
After some discussions, we decided that our goal of 0.13.0 release date is 1. June, which is 2 months and a week from now. I would like to make clear that it is not a promise but a goal. It seems like a lot of time, but as we already know, things take longer than expected. I had a meeting with our graphics department yeasterday, which is just Albert and Vaclav. We had to make final plans of what we can actually finish and what we can't:

Let me summarize the current state of the 0.13 roadmap:

Things that are done or almost done:
  • Tech tree
  • Additional train conditions
  • Turrets revisit - Minimised to flame thrower turret and fire system.
  • Better rail building
  • Achievements
  • Multiplayer matching server - more about it in future FFF
  • Better train management possibilities.
  • Modules in blueprints.
  • Power switch.
  • Blueprint book
  • Search field (recipes, technologies, filters, stations and maybe more)
  • and a lot of small things

These are to be finished:
  • Circuit network additions
  • Redo of the train graphics and fixing the train distances, so they are whole tiles and vertical and horizontal distances are the same.
  • Graphical gui redesign - one of the big things that just had to be done sooner or later, we will definitely talk about it in detail in the future FFF
  • Native mod portal integration
  • Resource generation overhaul.
  • The loader.
  • and a lot of small things as well

Stuff that had to be postponed to 0.14, so we can deliver the rest:
  • Spidertron
  • Fluid wagon
  • Artillery turret
  • Higher tier mining drill

Ease of use
The work on improving the comfort is important and shouldn't be neglected because of features. Some of the changes are really simple, but can help a lot in later stages of the game, like the possibility to put a different module into the slot, without having to clear it first, and the exchanged module goes into the inventory.



The way to upgrade modules using control click also helps a lot:



Thanks to Rseding91, modules can be also part of a blueprint:



Underground pipes and belts can also be built the same way as poles in 0.13:

We need people
It is more than obvious, that we should get more people now. We can afford it, there is practically infinite amount of improvements or additions we could work on, and we feel there isn't enough of us.

So if you know a good C++ programmer or 3D artist, please send him/her our way, specifically to https://www.factorio.com/jobs

Achievements will be finished soon
Albert finished the first pack of icons and I like them a lot. A nice icon can definitely increase the enjoyment of getting an achievement.




As always, let us know what you think on our forums.
Factorio - kovarex
It seems like almost all of the new problems are solved. I expect 0.12.30 to solve few smaller issues to be the last 0.12 update.

We are starting to spend most of our time on 0.13 again, so stay tuned :)

  • Changes
    • When the game starts with the base mod disabled, it asks you, if you want to enable it.

  • Bugfixes
    • Fixed construction robot crash. more
    • Fixed that multiplayer progress bar windows were blocked by currently opened window. more
    • Fixed another inconsistency with zero signals in combinators more
    • Fixed crash when Steam API intialization failed. more
    • Fixed random crashes when mining/closing and autosave happens at the same tick.

You can get experimental releases by selecting the 'experimental' beta branch under Factorio's properties in Steam.
Factorio - kovarex
It seems like almost all of the new problems are solved. I expect 0.12.30 to solve few smaller issues to be the last 0.12 update.

We are starting to spend most of our time on 0.13 again, so stay tuned :)

  • Changes
    • When the game starts with the base mod disabled, it asks you, if you want to enable it.

  • Bugfixes
    • Fixed construction robot crash. more
    • Fixed that multiplayer progress bar windows were blocked by currently opened window. more
    • Fixed another inconsistency with zero signals in combinators more
    • Fixed crash when Steam API intialization failed. more
    • Fixed random crashes when mining/closing and autosave happens at the same tick.

You can get experimental releases by selecting the 'experimental' beta branch under Factorio's properties in Steam.
Factorio - kovarex
It seems like almost all of the new problems are solved. I expect 0.12.30 to solve few smaller issues to be the last 0.12 update.

We are starting to spend most of our time on 0.13 again, so stay tuned :)

  • Changes
    • When the game starts with the base mod disabled, it asks you, if you want to enable it.

  • Bugfixes
    • Fixed construction robot crash. more
    • Fixed that multiplayer progress bar windows were blocked by currently opened window. more
    • Fixed another inconsistency with zero signals in combinators more
    • Fixed crash when Steam API intialization failed. more
    • Fixed random crashes when mining/closing and autosave happens at the same tick.

You can get experimental releases by selecting the 'experimental' beta branch under Factorio's properties in Steam.
Factorio - kovarex
  • Changes
    • Added --port to specify which network port the game should use, when hosting with --start-server or --mp-load-game. This overrides the port specified in the config file.

  • Bugfixes
    • Explosion sounds are now not deafeningly load, when multiple things explode at once.
    • Fixed LuaForce::clear_chart() would crash game if called while chart was refreshing. more
    • Fixed crash when refreshing chart while Direct3D device is lost. more
    • Fixed --config option not complaining about nonexistent file. more
    • Fixed crash when clicking on electric pole that was still in latency state more
    • Fixed freeze of server with more than 255 different players in the savegame.
    • Fixed crash when exiting the map editor while holding power armor on the cursor. more
    • Fixed map exchange string not using segmentation or water size correctly. more
    • Fixed Lua game_view_settings::showentityinfo read/write issues. more
    • Fixed fog-of-war does not work correctly in New Hope level 1. more
    • Fixed inconsistent Offshore Pump collision when building. more
    • Fixed desync reports were not generated. more
    • Fixed that non destructible entities get attacked, so biters could get stuck while trying to attack rails under train. more
    • Control settings window is now scrollable when it can't fit the window. more
    • Fixed Factorio hanging on exit on Linux after copying or pasting more

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