How we got here
All the way back in FFF #274, in preparation for the new fluid system (now put off to post-1.0), a new restriction was introduced: a single fluid system can only contain one fluid. This was, I assume, done in part for optimizations.Unfortunately, it had corner cases. FFF #312 gives some examples of ways you could connect fluid systems with different fluids together, and this would result in problems with the code assuming that a system had only one fluid, sometimes leading to crashes and instability. It wasn't great.
So in 0.18.32, as described in FFF #351, the fluid mixing system was relaxed. Now, the expectation that a fluid system only contains one fluid is relaxed, and it's allowed to sometimes happen. There are still restrictions in place: you cannot deliberately place an entity to connect two fluid systems with different fluids in them.
You weren't supposed to do that
The first issue with this that I and others found out about was that, previously, this system would allow pumps to selectively attach to fluid wagons depending on the fluid in the destination system. This allowed you to make fluid unloading stations that could receive trains carrying multiple kinds of fluids. Per Rseding here, this was never intended and is not supported. This is a breaking change from the stable release 0.18.0, but that's not the end of the world. Sometimes the devs need to break things, and if they want to make it so that you can't reasonably do multi-fluid stations, so be it. I'm sad that this option is disappearing, but sometimes that's good for the game.It's worth noting that these could still work using circuit control, but don't due to the way fluids are rounded, this doesn't work as well as you might hope.
No graphical info about the pipe system
Because a system no longer locks to a single fluid, another implication of this change is that empty pipes no longer display graphics indicating what their content is. This, again, isn't the end of the world. Empty belts don't tell you what they're connected to, for instance. You just have to deal with it, maybe put regular markers to keep track, or run back and forth, or what-have you.The constant flickering of fluid icons when a system is near-empty, though, is really distracting. This, too, is not a bug, even though it's distracting and possibly presents an accessibility issue for people who have issues with rapidly flickering things. Maybe we're being told to play with alt mode off, I dunno.
Mixed systems are usually bad, right?
As I investigated the report I was talking about first, it became clear that it's easy to arrive at messes like the one below, where I have petroleum, light oil, and heavy oil all in the same fluid system:The game doesn't tell me that anything is wrong. But obviously I'll figure out there's a problem here: I have light oil and heavy oil blocking my stuff! Okay, so I need to flush the pipe system. I'll manage. I'll fix it so I only have petroleum, perfect. Having the wrong fluids will gum up my system.
But what if I could...?
On the other hand, I'm a Factorio player. I'm constantly pushing the limits of what I can do with this game. We've seen sushi belts, why not do something similar with fluids? We could have a single pipe, with the fluids that feed into it taking turns. It's what real oil pipelines do, even!In fact, IronCartographer, in #friday-facts in Discord, went ahead on trying to do exactly this once the new patch released!
This is a cool new feature, right?
No, not that either
Well, it turns out, that's not true. According to posila, this isn't supported and is probably going to break. And that was in a request to have pumps support a filter, which would be a nice and easy solution. In fact, it's very easy using mods to make a filtering pump---I just tested:Code: Select all
/c for _, e in pairs(game.player.surface.find_entities_filtered{name="pump"}) e.fluidbox.set_filter(1,{name="heavy-oil") end
But the problem with this is there's nothing to tell the player this isn't supported. There was nothing to tell us that multi-fluid stations weren't supported either, until after the devs broke our games. There's no highlight to say "you have an illegal fluid system with multiple fluids". The changes to 0.18.32 were specifically inspired by belts where you can fix multiple kinds of items on them by filtering them off, but sometimes mixing belts is intentional.
The message: don't do anything interesting and hope we don't break your factory
I don't think that the devs' decisions on the fluid system mixing is necessarily wrong. There are good reasons for making the changes the way that they are. But we're being told:- Factories that relied on each system having only one fluid in them were broken.
- Factories that rely on a system having multiple fluids in it are also broken.
- Very little in-game actually prevents us from having systems with multiple fluids in them. They just might mysteriously break later, or maybe they won't.
- We should also now instrument our factories so that our pipes never fully empty unless we are okay with flashing icons everywhere when things empty out.
This change, and what we've learned in the aftermath, have made the game less fun.