Factorio - Klonan
Nightvision nightmare
As Twinsen continues tweaking the combat, he started to complain about the “green fog” effect that is applied during night when the player’s character has nightvision goggles equipped. Nightvison in 0.14 works in a way that it reduces the darkness of night, and then draws a transparent green overlay. This washes out the colors, reduces contrast, and makes the picture pretty unpleasant to look at.



The first idea was to just make the green overlay be rendered around light sources, to reward players who put lights into their bases, by not making the base look worse with nightvision on. This didn’t look too good, and as we were trying to figure out how to improve it, other developers, especially artists, caught on to what we were doing, and started to provide their own ideas.

Next we tried to darken only the red and blue channels when nightvision is on. This will make the picture green without losing contrast and we can drop the green overlay. We kept “not applying effect onto lighted area” logic and it started to look interesting.


Albert wasn’t happy with the result though, so we continued experimenting. We added a soft green tint to lighted areas, and a bright green glow onto the transition between light and darkness. Then we added white highlights to light sources and it finally started to pleasant to look at.



We will stick with this version for time being, but plan to work on it more. We can’t agree if this change is for better or worse even inside the team. It seems everybody has their own idea about how nightvision effect should look like and what benefits it should provide to players. For example it would be nice to have goggles with greyscale effect that would highlight biters. So maybe heat vision?

Factorio developer tools
Game developers usually boast about what great tools they have developed to help create content for their game. For Factorio so far there exists a single python script for creating sprite sheets, and the in-game map editor for creating maps, for scenarios and the campaign. We don’t have any database of all entities from which we would generate prototype definitions or anything like that.

There has always been a need for some tools to help the artists with the post-production of sprites, and so we have added a developer feature that allows the Factorio engine to reload any sprite sheet within a second of it being changed. Our artists are very excited about this, as they can edit a sprite in Photoshop, save it and immediately see their changes in the game.

Next we plan to add the ability to modify certain prototype values in runtime. This is again mainly intended for artists, but eventually should help balancing various aspects of the game, as we could just open a developer menu and try out several different values in matter of seconds.Hopefully both of these features are also going to be useful to modders, as it should be available to some extent in builds we release to public.

As always, let us know your thoughts and opinion on our forum
Factorio - Klonan
Nightvision nightmare
As Twinsen continues tweaking the combat, he started to complain about the “green fog” effect that is applied during night when the player’s character has nightvision goggles equipped. Nightvison in 0.14 works in a way that it reduces the darkness of night, and then draws a transparent green overlay. This washes out the colors, reduces contrast, and makes the picture pretty unpleasant to look at.



The first idea was to just make the green overlay be rendered around light sources, to reward players who put lights into their bases, by not making the base look worse with nightvision on. This didn’t look too good, and as we were trying to figure out how to improve it, other developers, especially artists, caught on to what we were doing, and started to provide their own ideas.

Next we tried to darken only the red and blue channels when nightvision is on. This will make the picture green without losing contrast and we can drop the green overlay. We kept “not applying effect onto lighted area” logic and it started to look interesting.


Albert wasn’t happy with the result though, so we continued experimenting. We added a soft green tint to lighted areas, and a bright green glow onto the transition between light and darkness. Then we added white highlights to light sources and it finally started to pleasant to look at.



We will stick with this version for time being, but plan to work on it more. We can’t agree if this change is for better or worse even inside the team. It seems everybody has their own idea about how nightvision effect should look like and what benefits it should provide to players. For example it would be nice to have goggles with greyscale effect that would highlight biters. So maybe heat vision?

Factorio developer tools
Game developers usually boast about what great tools they have developed to help create content for their game. For Factorio so far there exists a single python script for creating sprite sheets, and the in-game map editor for creating maps, for scenarios and the campaign. We don’t have any database of all entities from which we would generate prototype definitions or anything like that.

There has always been a need for some tools to help the artists with the post-production of sprites, and so we have added a developer feature that allows the Factorio engine to reload any sprite sheet within a second of it being changed. Our artists are very excited about this, as they can edit a sprite in Photoshop, save it and immediately see their changes in the game.

Next we plan to add the ability to modify certain prototype values in runtime. This is again mainly intended for artists, but eventually should help balancing various aspects of the game, as we could just open a developer menu and try out several different values in matter of seconds.Hopefully both of these features are also going to be useful to modders, as it should be available to some extent in builds we release to public.

As always, let us know your thoughts and opinion on our forum
Factorio - Klonan
Hello,
Denis has joined us for another month here in the office, a small overlap with Rseding who is flying back to the USA next week. With the festive season upon us, Tomas and Kovarex have both taken some time off for a vacation.

Reactor heating and boiling
As mentioned in a previous FFF, the implementation of the nuclear power will require some changes to the way the boilers currently work. Instead of heating water inside of their fluidboxes, and passing the slightly heated water along, they now output a to a seperate fluidbox. The initial result of this was a unworkable boiler, the small 1x1 size simply didn't play out to make the system intuitive enough.

So the solution was to increase the size of the boiler. The new size is 3x2, significantly larger than before, and the power output and fuel consumption had to be changed to fit this new size. This means we can say goodbye to the old 1-14-10 ratio of before. What is the new ratio? We haven't calculated it, but this is what a 0.15 set up might look like.



Kovarex has also made the first working prototype of the nuclear reactor and its associated mechanics. Each reactor has these 'heat connections', which can hookup connect with the heat pipes and boilers. Heat is than transferred through these connections, where it is used to boil the water into steam. This is all subject to change, but below is how a simple early nuclear power station could be set up.



This design is of course very inefficient, as the steam engines cannot use all the power available in the steam. Later designs would incorporate the steam turbines and cooling towers, for greater efficiency and power output. The heat pipes will also add a layer of complexity to the puzzle, while the incentive towards larger nuclear power blocks adding to the semi-fractal nature of expanding your designs.

Red desert biome
Jurek was focused these days on producing a bunch of new rocks and stones with several different sizes, some new bushes and dry trees. One of the best new improvements is the decals system, a new concept that we are testing on this new biome.

The theory behind it is that even having different randomized tile sizes for generating a terrain, the grid still is somehow noticeable there, not to mention the restrictions that tileability produces for achieving the desired result.

So we came out with the idea of using big patches (decals) that are working independently off the grid, so by using them we can get a lot of detail for the terrain, and the artists don't have to be concerned about tileability at all. As a side effect, the square grid pattern gets broken and the feeling of the terrain is much better.

In the preview we have also the new destroyed railroad, something that Vaclav is working on, he prefers not to show it yet because is not 100% finished, but it is very showable, and fits very nicely in the red desert scene.



The most important thing in this preview, is that after several experiments, we decided not to render anymore in normal-resolution from Blender. Instead we are going to render just in high-resolution and re-scale the output bitmaps to normal-resolution using a bilinear interpolation. This gives a better result than a separate render output, it is sharper and saves us quite some time and many headaches. Next for the red desert will be finding the best rules with Kuba for generating the map, and hopefully that will be all. Honestly I (Albert) can't wait for this moment of procedural fine-tuning joy.

As always, let us know your thoughts and opinion on our forum
Factorio - Klonan
Hello,
Denis has joined us for another month here in the office, a small overlap with Rseding who is flying back to the USA next week. With the festive season upon us, Tomas and Kovarex have both taken some time off for a vacation.

Reactor heating and boiling
As mentioned in a previous FFF, the implementation of the nuclear power will require some changes to the way the boilers currently work. Instead of heating water inside of their fluidboxes, and passing the slightly heated water along, they now output a to a seperate fluidbox. The initial result of this was a unworkable boiler, the small 1x1 size simply didn't play out to make the system intuitive enough.

So the solution was to increase the size of the boiler. The new size is 3x2, significantly larger than before, and the power output and fuel consumption had to be changed to fit this new size. This means we can say goodbye to the old 1-14-10 ratio of before. What is the new ratio? We haven't calculated it, but this is what a 0.15 set up might look like.



Kovarex has also made the first working prototype of the nuclear reactor and its associated mechanics. Each reactor has these 'heat connections', which can hookup connect with the heat pipes and boilers. Heat is than transferred through these connections, where it is used to boil the water into steam. This is all subject to change, but below is how a simple early nuclear power station could be set up.



This design is of course very inefficient, as the steam engines cannot use all the power available in the steam. Later designs would incorporate the steam turbines and cooling towers, for greater efficiency and power output. The heat pipes will also add a layer of complexity to the puzzle, while the incentive towards larger nuclear power blocks adding to the semi-fractal nature of expanding your designs.

Red desert biome
Jurek was focused these days on producing a bunch of new rocks and stones with several different sizes, some new bushes and dry trees. One of the best new improvements is the decals system, a new concept that we are testing on this new biome.

The theory behind it is that even having different randomized tile sizes for generating a terrain, the grid still is somehow noticeable there, not to mention the restrictions that tileability produces for achieving the desired result.

So we came out with the idea of using big patches (decals) that are working independently off the grid, so by using them we can get a lot of detail for the terrain, and the artists don't have to be concerned about tileability at all. As a side effect, the square grid pattern gets broken and the feeling of the terrain is much better.

In the preview we have also the new destroyed railroad, something that Vaclav is working on, he prefers not to show it yet because is not 100% finished, but it is very showable, and fits very nicely in the red desert scene.



The most important thing in this preview, is that after several experiments, we decided not to render anymore in normal-resolution from Blender. Instead we are going to render just in high-resolution and re-scale the output bitmaps to normal-resolution using a bilinear interpolation. This gives a better result than a separate render output, it is sharper and saves us quite some time and many headaches. Next for the red desert will be finding the best rules with Kuba for generating the map, and hopefully that will be all. Honestly I (Albert) can't wait for this moment of procedural fine-tuning joy.

As always, let us know your thoughts and opinion on our forum
Nov 29, 2016
Factorio - Klonan
Bugfixes
  • Fixed that the game could crash when a game disappeared from the matching server before its details were requested. more
  • Fixed that numpad numbers didn't work for any game controls. more
  • Fixed crash when merging forces while a player in one the force to be removed was crafting something. more
  • Fixed game would be stuck in main menu if Join Game on Steam failed for some reason.
  • Fixed possible save corruption when roboport was destroyed while robot was repairing it. more


You can get experimental releases by selecting the 'experimental' beta branch under Factorio's properties in Steam.
Nov 29, 2016
Factorio - Klonan
Bugfixes
  • Fixed that the game could crash when a game disappeared from the matching server before its details were requested. more
  • Fixed that numpad numbers didn't work for any game controls. more
  • Fixed crash when merging forces while a player in one the force to be removed was crafting something. more
  • Fixed game would be stuck in main menu if Join Game on Steam failed for some reason.
  • Fixed possible save corruption when roboport was destroyed while robot was repairing it. more


You can get experimental releases by selecting the 'experimental' beta branch under Factorio's properties in Steam.
Factorio - contact@rockpapershotgun.com (Brittany Vincent)

I’ve had a go at Factorio [official site], and even managed to automate resource mining and production. I thought I had a good grip on the game until I saw what DaveMcW was able to create. Using just the components available in the base game, he managed to build what is essentially a video stream decoder and display program. … [visit site to read more]

Factorio - Klonan
Hello,the hopefully final 0.14 version was recently released, meanwhile most of the team have been assigned their major tasks for 0.15.

Combat Revisit
One of the tasks I picked up was to work on the long overdue combat balance. We identified some of the major problem areas. The most pressing issue is that many of the guns and ammo in the game are too underwhelming for their price, and others are completely useless. One example which clearly stands out if the rocket launcher ammo, rockets and explosive rockets. They cost quite a lot in terms of resources, and the time to set up their production. In combat, they are less effective then their cheaper counterparts, such as the flamethrower.

To illustrate the problem, Twinsen worked on his highly scientific graph of the current combat system, with the X and Y axis representing the Elapsed time, and Power respectively.



After some discussion for some different approaches, without much in the way of solid agreement, it was decided that we need to do some more testing. To ease this process I wrote a small internal mod that will allow us to quickly set up some consistent conditions, and see in a reliable and semi-deterministic way, what sort of effect even the smallest changes would have.



This will hopefully help us collect some solid comparisons for how the combat changes and evolves as the game goes onward. For now I only have a shortlist of what we are trying to accomplish:
  • Nerf turret creeping
  • Generally make the mid-game combat better
  • Bring things more in line with one another in terms of damage and utility
  • Make the biters less of an irritant, but still a threat
Community feedback will be really important for us on this topic, so please let us know your thoughts.

Steam award nominations
Steam has recently announced their Steam award nominations , and there are several categories you can nominate any game for. For example the "Just 5 more minutes" is for the games that keep you playing long long into the night. We think it is a really great idea, allowing the steam community to nominate titles in this way, so be sure to vote for your favorite games.

Community Spotlight
We had to include this week the absolutely spectacular combinator display by DaveMcW: https://youtu.be/mgfwwqwxdxY
If you like to read more about his creation, you can read his thread on the forum, or even read the recent PC gamer article about it. This player also proved to be a good chance to test the circuit network optimizations in 0.15, and in comparison to 0.14, it runs about 18x faster.

As always, let us know your thoughts and opinion on our forum
Factorio - Klonan
Hello,the hopefully final 0.14 version was recently released, meanwhile most of the team have been assigned their major tasks for 0.15.

Combat Revisit
One of the tasks I picked up was to work on the long overdue combat balance. We identified some of the major problem areas. The most pressing issue is that many of the guns and ammo in the game are too underwhelming for their price, and others are completely useless. One example which clearly stands out if the rocket launcher ammo, rockets and explosive rockets. They cost quite a lot in terms of resources, and the time to set up their production. In combat, they are less effective then their cheaper counterparts, such as the flamethrower.

To illustrate the problem, Twinsen worked on his highly scientific graph of the current combat system, with the X and Y axis representing the Elapsed time, and Power respectively.



After some discussion for some different approaches, without much in the way of solid agreement, it was decided that we need to do some more testing. To ease this process I wrote a small internal mod that will allow us to quickly set up some consistent conditions, and see in a reliable and semi-deterministic way, what sort of effect even the smallest changes would have.



This will hopefully help us collect some solid comparisons for how the combat changes and evolves as the game goes onward. For now I only have a shortlist of what we are trying to accomplish:
  • Nerf turret creeping
  • Generally make the mid-game combat better
  • Bring things more in line with one another in terms of damage and utility
  • Make the biters less of an irritant, but still a threat
Community feedback will be really important for us on this topic, so please let us know your thoughts.

Steam award nominations
Steam has recently announced their Steam award nominations , and there are several categories you can nominate any game for. For example the "Just 5 more minutes" is for the games that keep you playing long long into the night. We think it is a really great idea, allowing the steam community to nominate titles in this way, so be sure to vote for your favorite games.

Community Spotlight
We had to include this week the absolutely spectacular combinator display by DaveMcW: https://youtu.be/mgfwwqwxdxY
If you like to read more about his creation, you can read his thread on the forum, or even read the recent PC gamer article about it. This player also proved to be a good chance to test the circuit network optimizations in 0.15, and in comparison to 0.14, it runs about 18x faster.

As always, let us know your thoughts and opinion on our forum
Factorio - Klonan
Mod settings
Right now when you want to customize a particular mod you have to:
  1. Know what folder the mods are stored on your computer
  2. Unzip the mod
  3. Figure out what line of which file has the thing you want to change
  4. Save and optionally re-zip the mod
  5. Hope what you changed is compatible with the way the rest of the mod works
The game also forces everyone playing on the same multiplayer session to have identical mod files so any changes you've made make it impossible for you to join others unless they also have made those changes. This also makes it difficult for mod developers to troubleshoot bug reports because they don't know what you might have changed.

This is obviously not so great and I want to address the main problem: there's no good way for mod developers to give users any portable way to configure their mods.

To fix this we're going to add the ability for mods to define settings that will be presented like our in-game options menu now under a new section "options -> mods". This will let mods give some basic information about what kind of setting they have and we can present it to the player in a (hopefully) nice GUI with verification and feedback about why what they've entered isn't valid (if it's not valid) as well as the ability to change them runtime should the particular setting allow it.

We can then sync these settings on joining multiplayer sessions (or not should you not want your settings to carry between games) and everything will just work.

Optimizations
My (Rseding91) favorite tasks are still optimizations. I can sit for hours (sometimes all day) working on improving some section of the code and not get bored. 0.12 saw a major improvement in performance and during 0.13 development there were a few edge case slowdowns that got fixed but nothing much was done during 0.14 development. For 0.15 I've started looking again at performance and not at the obvious slow areas. Mostly because there aren't any obvious huge slow areas (or we already know that 25,000 belts tend to be slow) but all of the surrounding code that gets run each tick. Honza (another Factorio developer) said it best to me the other day: "I think our performance issues are death by a thousand cuts." meaning there's no one thing that's particularly slow but everything is just a little bit slow.

I took a few larger save files and started looking at them and every time I would re-run the profiler some small piece of code would show up taking 1-2% of the time. I'd spend 20~ minutes re-writing it and then it takes < 0.1% of the time (not accurately measurable by the profiler). I did that for 3 days and when I finished with the saves I had the end result was almost a 2x speedup over 0.14. Our test suite was invaluable during all of this to make sure I didn't break anything in the name of performance.

The great part about these "micro optimizations" is that they are almost never specific to one thing but are shared pieces of code so improvements to them gives general gains across the entire game. The save files I was testing with that would run around 30 UPS in 0.14 are now running between 55 and 60 UPS in 0.15. There are still many more areas like this that can be addressed so I'm always interested in unique save files that stress different parts of the game.

Rendering test
Albert has spent some time this past week making a test render to see how the new train models will hold up in higher resolution settings, and has put together this UHD render of a simple train scene.



While the final render may look very pretty, it only has a minimal amount of post-processing applied, instead relying on the setup of the scene and the specifics of the render to really show off the latest models.

As always, let us know what you think on our forums
...