Criticism of the 0.18.32 fluid mixing changes.

Post all other topics which do not belong to any other category.
Post Reply
alercah
Fast Inserter
Fast Inserter
Posts: 151
Joined: Sun Apr 07, 2019 5:19 am
Contact:

Criticism of the 0.18.32 fluid mixing changes.

Post by alercah »

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:
2020-06-19_20-24.png
2020-06-19_20-24.png (783.6 KiB) Viewed 4505 times
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 apparently that isn't supposed to be supported either?

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.
If the devs actually picked a behaviour and said "Yes, you can rely on this." that would be great. Even if it meant breakage. But I feel like we're just getting jerked around and told not to do anything interesting with fluids, and to hope they don't break things further.

This change, and what we've learned in the aftermath, have made the game less fun.

IronCartographer
Filter Inserter
Filter Inserter
Posts: 454
Joined: Tue Jun 28, 2016 2:07 pm
Contact:

Re: Criticism of the 0.18.32 fluid mixing changes.

Post by IronCartographer »

For what it's worth, I was reinventing the wheel, as others posted multi-fluid single-pipe refinery outputs ages before the mixing was disabled.

The main point I would like to make is that feeding flamethrower turrets is a good argument for being able to mix fluids (upgrading from lower damage bonus fuel), though it is reasonable to flush systems of the old and simply replace it without consumption (dividing a defensive line and changing parts of it if large enough to be a problematic delay / capacity).

I think this post would be sufficient to address the issues: viewtopic.php?f=6&t=86007

Meanwhile, hopefully this doesn't truly always happen: https://xkcd.com/1172/

User avatar
valneq
Smart Inserter
Smart Inserter
Posts: 1149
Joined: Fri Jul 12, 2019 7:43 am
Contact:

Re: Criticism of the 0.18.32 fluid mixing changes.

Post by valneq »

While I somewhat agree with the OP, I want to highlight one point that is in favor of the 0.18.32 fluid changes, and that I personally find appealing enough to overall embrace the changes:

The behaviour of the pipe system now is more similar to belt(lane)s!
Feeding the wrong thing into a machine jams the system.
If you want things not to mix: filter properly.
Once things are mixed, you need to manually remove the conflicting stuff and, more importantly, fix whatever caused the mixing.

Xeorm
Fast Inserter
Fast Inserter
Posts: 206
Joined: Wed May 28, 2014 7:11 pm
Contact:

Re: Criticism of the 0.18.32 fluid mixing changes.

Post by Xeorm »

I'm thinking you're following the wrong track here. My reading of their changes was that they wanted and intended pipes to be a one fluid system. It's the only way the system tended to really work, as they didn't have any (intentional) ways for the player to mix fluids and still have things work out. At the same time, mixing was possible and lead to frustrations with some players, especially in flushing the system, so they decided to enforce it. It'd help players building, and keep newer players especially from making mistakes. I know I hated it when I would put a pipe in the wrong spot and suddenly there's the wrong fluid all over the place.

So they started programming in the hard block and found that there were issues with that. They were generally able to do it, but there were corner cases where the programming wasn't quite so clearcut, especially with blueprints. Corner cases as you put it. This did cause problems, and made single fluid pipelines effectively unenforceable. Hence, they relaxed the rules. The intention is still 100% that players have single fluid pipelines, but it'll no longer be enforced because programming is hard.

And I do find that they communicate to the player pretty well. You're unable to directly pollute a line. If you manage to do some fluid mixing, then congratulations. You're in unknown territory. Which is ok. Clever constructions are to be commended. But the intention is and has always been that fluid mixing is unsupported and good luck to you if you're looking to do it.

User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12888
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Criticism of the 0.18.32 fluid mixing changes.

Post by ssilk »

What made me thinking differently was posilas post here viewtopic.php?p=499002#p499002
Mixing fluids withing the same pipe system is still not supported and probably won't do what you want it to do once new pipe simulation comes. Point of doing the change to fluid mixing prevention was to make it so the game doesn't crash when pipe systems with different fluids somehow happen to connect, and to simplify the underlying code to something managable so that further changes to fluid system are possible to do.
“Once new pipe simulation comes” means: they have been talked about it - at minimum about the consequences of further changes - and eventually already begun to work on it.

Crossing fingers that the last statement is true and this comes somewhere after 0.18.
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

User avatar
5thHorseman
Smart Inserter
Smart Inserter
Posts: 1193
Joined: Fri Jun 10, 2016 11:21 pm
Contact:

Re: Criticism of the 0.18.32 fluid mixing changes.

Post by 5thHorseman »

ssilk wrote:
Sun Jun 21, 2020 6:22 am
What made me thinking differently was posilas post here viewtopic.php?p=499002#p499002

“Once new pipe simulation comes” means: they have been talked about it - at minimum about the consequences of further changes - and eventually already begun to work on it.

Crossing fingers that the last statement is true and this comes somewhere after 0.18.
100% agreed though I'm wondering if they're trying to fast track it to get in BEFORE 1.0.

Or maybe they're just getting the save-breaking changes in now while it's acceptable (at least, to most).

alercah
Fast Inserter
Fast Inserter
Posts: 151
Joined: Sun Apr 07, 2019 5:19 am
Contact:

Re: Criticism of the 0.18.32 fluid mixing changes.

Post by alercah »

They're not putting the new fluid work into 1.0. They've confirmed that it's postponed.

Kyralessa
Filter Inserter
Filter Inserter
Posts: 443
Joined: Thu Sep 29, 2016 5:58 pm
Contact:

Re: Criticism of the 0.18.32 fluid mixing changes.

Post by Kyralessa »

Surely those who are saying "People do this in real life" are not really saying that in real life crude oil and petroleum and water and other kinds of fluids are all mixed together in the same pipe system, with no separation, at the same time?

I can see it being the case where there are different fluids with some shared pipe pathways, and between each change they flush the pipes with water or some neutral fluid before sending the next one through.

I can't see just dumping a lot of different fluids into the same pipe at the same time and then sorting them out...somehow...at the other end.

But hey, I'm not a chemical engineer, so I'm open to enlightenment.

alercah
Fast Inserter
Fast Inserter
Posts: 151
Joined: Sun Apr 07, 2019 5:19 am
Contact:

Re: Criticism of the 0.18.32 fluid mixing changes.

Post by alercah »

I believe that's correct. And I would love to see that supported in Factorio, but it's clear the devs are not going to explicitly support it, which is fine. But they are going to leave it as a possibility, at least until they change it so that it isn't. And folk who thought "oh that's cool" and built factories based on it are going to be sad in an entirely preventable manner.

User avatar
5thHorseman
Smart Inserter
Smart Inserter
Posts: 1193
Joined: Fri Jun 10, 2016 11:21 pm
Contact:

Re: Criticism of the 0.18.32 fluid mixing changes.

Post by 5thHorseman »

alercah wrote:
Mon Jun 22, 2020 4:43 pm
I believe that's correct. And I would love to see that supported in Factorio, but it's clear the devs are not going to explicitly support it, which is fine. But they are going to leave it as a possibility, at least until they change it so that it isn't. And folk who thought "oh that's cool" and built factories based on it are going to be sad in an entirely preventable manner.
The way to prevent being sad at fundamental changes to a game in Beta, is to not play a game in Beta. If you can't handle base-destroying changes don't play versions of a game that may have base-destroying changes.

They can't just not put changes in that they feel are necessary because it may make someone sad.

alercah
Fast Inserter
Fast Inserter
Posts: 151
Joined: Sun Apr 07, 2019 5:19 am
Contact:

Re: Criticism of the 0.18.32 fluid mixing changes.

Post by alercah »

The fluid changes will be post-1.0.

Kyralessa
Filter Inserter
Filter Inserter
Posts: 443
Joined: Thu Sep 29, 2016 5:58 pm
Contact:

Re: Criticism of the 0.18.32 fluid mixing changes.

Post by Kyralessa »

5thHorseman wrote:
Tue Jun 23, 2020 1:04 am
The way to prevent being sad at fundamental changes to a game in Beta, is to not play a game in Beta. If you can't handle base-destroying changes don't play versions of a game that may have base-destroying changes.
Ah, memories of the Trainpocalypse. :lol:

Post Reply

Return to “General discussion”