Friday Facts #420 - Fusion Reactor

Posted by Earendel on 2024-07-19

Hello,
I'm sure you're familiar with the good old Nuclear reactor. It's a fission reactor that makes a lot of power in conjunction with its steam turbines. The nuclear energy system is unlocked on Nauvis, and in the context of Space Age, that makes it an early-to-mid game unlock.

For the planet Nauvis, nuclear power is great for the whole game. Water is endless, and uranium is plentiful. For space platforms it's not ideal because it takes a lot of water and a fair amount of space. Solar panels are so good in space, especially near the sun, that it's harder to justify a reactor on a small platform. If you're mainly going around Fulgora then nuclear becomes more competitive because Fulgora has more ice from asteroids and less solar energy.

Later, when you head to the 4th new planet, nuclear becomes a much better option because the solar power is so low and ice is more abundant. At that point, you've had nuclear as an option for all the 5 planets (although you probably don't use it on all of them), and a few space routes, so it's time to unlock a new and exciting energy system.


Fusion reactor

This is the Fusion reactor. This impressive structure converts energy from a fusion power cell into super hot plasma. The structure at a base level makes plasma with an energy value of 100MW, but as you will see in a moment, you can get a lot more than 100MW out of the system. It doesn't do much on its own though. Those connection points on all sides aren't just for show.

Reactor connections

Like the nuclear reactor, the fusion reactor benefits heavily from neighbour bonuses, but the fusion reactor can leverage them a lot more.

The nuclear reactor has 4 connection options but for practical reasons you can't have a running reactor connected on more than 3 sides. Each neighbour gives a 100% bonus per neighbour for a max bonus of +300% (400% in total).

3 Nuclear reactor neighbours

The fusion reactor has 8 connection points, 2 on each side, but for practical reasons you can't have more then 5 neighbours connected. Each neighbour gives a +100% bonus, so +500% in the best case (600% in total).

5 Fusion reactor neighbours

This means that a fusion reactor with 5 neighbours outputs plasma with a power of 600MW. Additionally, if the reactor is legendary the base power goes up to 250MW, and the power with max neighbours is 1.5GW.

The neighbour connections line up with a pass-through connection for coolant, and a pass-through connection for plasma. The pass-through connections are one of the things that makes bigger builds possible by not having to keep sides open for pipes.

Fusion reactor coolant and plasma connections

When there's a valid neighbour bonus between reactors, a special patch is added to the graphic to show the connection. There's a version of the connection patch for when it connects with a coolant pass-through, connects with a plasma pass-through, or connects for a neighbour bonus but without a pass-through function.

The juxtaposed images below show the connection patch being added as connections are made by the outer 2 reactors being moved in. The reactors are rotated so that all 3 connection types are shown in the images.

Without connections With connections

Left: The outer reactors are touching the edge of another reactor but don't connect.
Right: The outer reactors line up with other reactors and have a connection patch to show it.

Making plasma

  • Fusion power starts with a power cell which goes into a fusion reactor along with some coolant.
  • The power cell and coolant are consumed at a fixed rate even if the reactor is working more efficiently due to neighbours.
  • A fixed amount of plasma is created, and the plasma temperature increases with reactor efficiency.
  • The reactor consumes some electricity to maintain the reaction.

Fusion reactors making plasma from coolant and fusion power cells

The plasma temperature is not something that you need to pay attention to as a player. The more important value is the power that the plasma carries, so megawatts are more important than degrees Celsius, but in case you're interested:

  • The basic reactor the plasma carries 100MW and is 1 million °C.
  • With +100% neighbour bonus it carries 200MW and is 2 million °C.
  • With +200% neighbour bonus makes it 300MW and 3 million °C, and so on.

The superheated plasma cannot go into pipes. It needs to either flow through another fusion reactor, or flow directly into the thing that actually makes the electricity, the fusion generator.


Fusion generator

The fusion generator generates electricity from the plasma, and returns an equal amount of warm coolant. It has a maximum power output of 50MW.
For a lone fusion reactor with no bonuses working at 100MW, 1 fusion generator will consume half of the plasma.

If the plasma is hotter, then the generator will consume less plasma to make the same amount of electricity.

  • 1 reactor at 100% efficiency makes 100 MW of plasma so needs 2 generators to fully use all the plasma.
  • 2 reactors at 200% efficiency each make 400MW of plasma in total, so need 8 generators to use the plasma.
  • 3 reactors at 300% efficiency each, combined make 900MW of plasma so need 18 generators, and so on.

Of course, you don't necessarily need to have 18 generators if you have 3 reactors at +200% each. If you have fewer then the system is still as efficient but has less max output and will buffer some plasma. Alternatively, you could have more generators than the reactors can supply at max load so that when electricity demand is low the plasma is buffered but you have more electricity production if there's a sudden peak in draw.

However many generators you choose to use, how do you connect so many to just 3 reactors if plasma can't go in pipes? Well, generators have plenty of plasma pass-through connections.

Fusion generator plasma connections and warm coolant output

Additional generators can be connected to the end and sides of already connected generators and then they get a share of the plasma too. There are quite a few plasma connection ports to choose from so there are a lot of layout options for how to arrange your fusion system. Just make sure the warmed coolant has a way to output too, but you can use pipes for that.

The heated coolant needs to be cooled back to its cold state. There's a special machine for that, but we'll save that for another FFF.


Development - Going round in toroids

We wanted an end-game power system that would be powerful. We've had a portable fusion reactor in the game for a long time so fusion seemed like an obvious thing to consider. After considering a few other options, fusion was the one added to the initial prototype.

The first prototype version of the fusion system that I made was pretty crude. In theory the original version had a lot of similarities to the system we have now, but it took a long detour along the way.

When prototyping something new, it's often a fight with the game engine. For a more representative portrayal of the gameplay concept, a lot of things can be "faked" with scripts. The problem is that using scripts can be terrible for performance, and it can take a while to code too.

The first gameplay prototype for Space Age was a big mashup of all the ideas so we could see what works, what doesn't, and cut it down to just the best bits. The gameplay prototype was designed for the main branch (stuff that everyone plays on and is designed to stay in the game) so a heavily scripted mockup of the fusion system was a big no no because it would be slow and need to be removed later anyway. The gameplay prototype was also made very quickly so there just wouldn't have been time even if we did want something scripted.

Instead, a crude representation of the fusion system had to be made just by representing the steps that happen to items and fluids. This ended up being a series of "crafting machines" (like an assembler or chemical plant) but with fixed recipes.

The first fusion prototype had technical limitations:
          Fusion reactor burns fusion power cells, inputs cold coolant, outputs plasma, and can't have neighbour bonuses.
          Fusion generator part 1 can't make electricity so turns plasma into warm coolant and dummy plasma.
          Fusion generator part 2 makes electricity from dummy plasma.
          Cooling turns warm coolant into cold coolant.

Also a machine couldn't make electricity and convert the type of fluid from one type to another at the same time. In the case of the generator it need to have a crafting machine for the fluid conversion, but that meant there needed to be a separate entity addon just to make the electricity.

In all, the system ended up as 4 entities that did weird things, and a lot of long tooltips. The tooltips tried to explain to testers how the makeshift representative entities worked now, and how the things were supposed to work in the final version so people could understand what the system was trying to do. Long story short, the makeshift system was confusing and seemed way more complicated than the final result would have been.

For context, this is similar to how the first asteroid collectors worked. Asteroids didn't exist at the time, so instead you just had something like an assembling machine that produced asteroid chunks and they could be placed anywhere. It relied on people reading the tooltip and understanding that the machines should only be placed on the platform edge to be able to test it properly. This also confused some of the testers so some of them didn't try to play with the placement restriction, or even got confused about why they could craft asteroids from nothing. At least simulating that mechanic only needed 1 self-contained entity not 4.

Anyway, the fusion system was then simplified to a standalone fusion reactor which was essentially just a burner generator. With one entity you just put in fuel and get power out. No fluids, no waste, no other complications. There was some consideration for this to be the final version, but it just felt really bad to use. The system was too simple. Often simple is good, but sometimes it is the absence of good.

Nuclear complex F for Fusion

Left: A rich system to interact with. Right: The power density is impressive, but it still feels a bit sad.

If the use case is niche then it can be good to have a simple system to replace a complicated system in some instances. The danger is when a simple system replaces a complicated system in every instance. If you have to replace all your interesting builds with boring builds then it hurts the game overall. That's the sort of thing that might feel nice in the short term but feel bad or shallow in the long term, and that's what we found with fusion as a burner generator.

For a while it seemed like there was a good chance that the fusion reactor might get removed from the game completely, and that was still the case when the time came to make the design for the building. It was clear that if fusion was going to exist in the game, it would need much more of a justification for its existence.

So before starting on the concept art, I went back to the original vision for the system. The original prototype never had a real chance. It had some good features, but I felt like there was even more that we could do with it.

I started playing around with the idea of making fusion more like a modular building. A set of structures that connect together directly so that you can't use pipes to separate them. I tried a lot of different options and arrangements and found a set of patterns that showed a lot of potential. One of these options fit with the existing entity sizes, so I started testing with that.

Testing the new shapes to the limit Testing an arrangement to its limits (1.4TW per block). For rapid prototyping of many options at once the bounding box of a potential entity is represented by belts, and pumps are used to represent the connection points.

With an arrangement that worked, the next hurdle would be to make sure that this option could work with a good design for the structures. The designs had a number of constraints but by far the biggest constraint was all the connection points for fluids and plasma. This is often the case for things in Factorio, but the fusion generator took it to a new level.

The other constraints beyond the usual best-practices were that the main reactor building should contain a torus to indicate a tokamak (magnetic containment system). I also wanted it to have a central tower that is reminiscent of the portable fusion reactor icon, because that's part of the game's history and shape language.

The generator is less focussed on steam than our other generators, so the design should lean more towards featuring the rotor and/or stator of the electrical generation system. The generator also can't have only 2 rotations like the other generators, it needs 4, and because the direction is so important to building you need to be able to tell the direction at a glance.

Early line art of the fusion generator and fusion reactor Some early line art.

With a workable start to the design, the next step would be a demo of the entire fusion system that would rely heavily on Lua scripting. Instead of using proper entities with recipes for the processing steps, it was all faked with scripts (the opposite of the original prototype). It even had the critical connection and status information drawn over the entity in alt-mode so it was easy to see what was going on. This made the performance terrible but that's ok because it would never be merged into the rest of the game, it's just a standalone demo.

The demo made it possible to get a realistic impression of the working system with the correct number or entities in the process, correct connection bonuses and restrictions, inability to use pipes, custom tooltip overlays, and so on. Also, now that people had completed the game, they had a better understanding of what sort of systems would be interesting to play with for that part of the game.

Fusion demo version 1 with a generator size of 6x4 Version 1 of the concept art. 900MW system. No spoilers here :)

This made the system much more understandable, so I introduced v453000 to the demo and it was well received. From there we refined some of the specifics of the system. The biggest change was altering the size and connection points of the fusion generator. The original design didn't have an output connection point for plasma on the opposite side as the input, so the addons always had to be at 90 degrees, but v453000 felt that it limited the design options a lot (which was correct). An easy linear arrangement didn't work well either, so we spent a while trying many many different arrangements...

Blocking out options in blender with instanced geometry. Getting crazy with options in blender.

And eventually I found a 3x5 design where we were both happy with the number of build options. The new size meant that concept graphics needed a bit of a redesign to fit the new aspect ratio and connection placement, but that wasn't too bad. Then after we balanced stats a bit more, it was finally ready to present to the team.

Fusion demo version 2 with a generator size of 5x3 Updated concept art. Reactors for an 9GW system (22.5GW if legendary).

The presentation went well and the proposal was accepted!

Boskid coded up the new system based on my demo. I then upgraded the concept art from placeholder quality to some more detailed versions ready for the next stage of production. The final graphics were made by Jerzy and they look great. They also managed to figure out how to get animated effects on the connection patches, which we weren't sure would be possible during the design phase.

The system hasn't changed much since then, with one exception: The original version had a fluid reservation system where a generator wouldn't let fluid pass through until it was some % full. This meant that they'd fill up in a chain or tree pattern and the % of glowing generators would be the % capacity you are using. That feature was lost with the fluid system rework because now they all draw evenly from the same collective 'pool' of plasma.


Portable fusion

Even though this FFF is more than long enough already, it wouldn't be right to skip the portable version. The old portable fusion reactor is from Nauvis, but the new fusion system is at the end of Space Age, so obviously something needed to change.

The old portable fusion reactor from 1.1 has been renamed to "Portable fission reactor" and has a nice new icon to better represent it. The recipe has been updated to include an uranium fuel cell. It's still 750kW, or 1.875MW if legendary.

Portable fission reactor tech icon

A new "Portable fusion reactor" is unlocked with the fusion system. It's an upgrade of the fission version that is more powerful: 2.5MW at base quality or 6.25MW if legendary.

Portable fusion reactor tech icon


Conclusion

The fusion system makes a lot of power in a relatively small amount of space. Since the coolant is mostly recycled and the fusion power cells are very energy dense, the system requires very little in terms of inputs to keep going. This makes the system good on space platforms due to the small footprint, low input, and high output. It's nice to be able to blast through space on a space platform that isn't limited by power.

It's also a good system for planets if you need loads of power, but does rely on imports and it's not trivially simple, so it's not always the best option everywhere.

In many cases if you maximise the efficiency of the fusion system then you end up with way more power than you need, and that's part of the fun.


As always, fuse your thoughts in the usual places.