Friday Facts #164 - Nuclear power

Posted by kovarex on 2016-11-11


The planned release date of 0.15

There are many things we want to have finished for 0.15, so the estimate isn't precise. The plan is to have approximately 3 months to implement all the planned changes, so it could be expected around february 2017.

The optimisations

The decoratives optimisations that were mentioned in the fff-157 are finished and working well. Not only the save file has been reduced (46Mb to 25 Mb on my map), but the memory footprint and overall performance is better. The reason of the performance improvement is, that once decorative isn't regular entity, it doesn't need to be iterated over when doing area based entity search (typically for collision checks) and also the memory fragmentation is not that bad.

Rseding is doing a lot of small optimisations for 0.15. Each of them is usually not that big, but the overall gain starts to be noticeable. We will cover them in more details in the next fff, but I expect that the 0.15 will provide a big performance boost.

Nuclear power

We created the basic specification of the nuclear power this week, so we can start working on it.
The plan is to implement the nuclear power in a way, that it is almost always more efficient to make bigger and more complex setup compared to just copy pasting the "standard nuclear power blueprint" over and over. This is the list of changes and additions we are planning.

1. Water and steam
To make the other changes reasonable, we had to go back and change how the basic boiler->steam engine power generation works.
These are the changes of rules:
  • Water above 100 degrees is considered steam.
  • Steam engines only work on steam, not hot water
  • Boilers only accept water, not steam.
This is how the boiler works now:

In 0.15, it will have extra output for steam at fixed temperature:

This way, the basic setups will not change that much, as instead of this:

The players could do something like this:

2. Steam turbine
Apart from being much more powerful version of the steam engine, the steam turbine will also work differently. The current (basic) steam engine uses the fluid it gets to generate electricity and consumes it. The steam turbine will just cool the steam down. Lets say from 500°C to 120°C. But the result will still be steam. You can either send it to the regular steam engine to get rid of it, or if you want to be more efficient, you can send it back to the boilers. But the boilers only accept water, not steam. This is where the next piece will be used.

3. Cooling tower
Cooling tower mainly looks good and adds the iconic feel of power plant, but it will also have the same purpose in factorio as in real life. It accepts steam, and cools it down enough to make water out of it again, so it can be used in boilers. The main advantage is, that heating 95°C water back to steam requires much less energy compared to heating the 25°C water you get from the lake.

4. The nuclear reactor
All the previous changes are usable also with the regular coal boilers and provide more efficient and powerful way to use the heating power. The nuclear reactor is just a more powerful way to generate heat.
The nuclear reactor will process the nuclear fuel (Its processing isn't specified yet) and generate heat. The reactor will have several levels of production, the more active, the more energy it does and the more efficient it is. The problem is, that changing between the production levels won't be instant, so trying it shut down too late might not be enough to prevent overheating and explosion ... a big one. It will be certainly possible to make not so efficient but safe setups that will be simple to build, but the most efficient reactor will require circuit wiring that controls its production levels based on the energy storage capacities, heat and other things. We are just trying to force easy to learn hard to master again.

The additional feature of reactors is, that two reactors next to each other connect. (It should be obvious, but before you ask in the comments, no this is not going to be the final look of the reactor ^^)

Reactors support efficiency of the neighbours, so this way the production can be increased even more, but the more reactor units are connected together, the harder it is to transfer away the heat concentrated on a small place fast enough.

5. Heat pipes
The heat pipes will be used to transfer the heat from the reactors to the boilers. The heat pipes will have to branch a lot to connect to enough of boilers as the efficiency of heat transfer decreases with distance quite fast.
I was even considering adding option that is not realistic (at least with the current technology), but it could add a lot of interesting gameplay possibilities. Imagine that you could store the heat in some kind of item. Maybe some kind of special metal with huge heat capacity. That would mean, that you could use the logistics to transfer the heat from the central reactor place even faster using our logistics possibilities. I like the idea that the biggest possible reactor could be only done by having high capacity train stations all around transferring the heat away in a huge quantities.

Looking for 3d artist

We are starting the last sprint for finishing factorio 1.0 and this requires support of the graphics department so we are looking for an artist. The work is not simple, so if you are not into complicated 3d stuff, Blender, tilesets, complex pipeline with scripting, postprocessing with After Effects, you wouldn't like this position. Not the mention the understanding of aesthetics and geometrical tricks is also required. If you think your profile is fitting enough don't hesitate to send us your portfolio.

And as always, stop by at our forums and let us know what you think.