Small amounts of fluids should be pushed out or destroyed by other fluids

Post your ideas and suggestions how to improve the game.

Moderator: ickputzdirwech

mrvn
Smart Inserter
Smart Inserter
Posts: 5925
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Small amounts of fluids should be pushed out or destroyed by other fluids

Post by mrvn »

TL;DR
When a pipe has mixed fluids and one is just a tiny amount it should get pushed out by the other fluid or destroyed.

What ?
When you have a pipe containing less than 10% fluid and a connected pipe has more than 90% fluid the lesser fluid should try to move out of the pipe though one of the other connections. If no fluid can be moved (or less than 0.01 or something) the lesser fluid should be destroyed.
Why ?
Fluid mixing is a possibility and even desirable at times. But then fluids get stuck because pipelines can't be pumped completely empty. A small amount of fluid remains with not enough slope for the fluid to flow towards the end. But a new fluid could be pumped into the pipe to either push the remains out or, if some gets trapped, destroy them.

This would allow building for example train stations that accept any fluid and sorts the fluid into different outgoing train stations, one per fluid.

Or a station accepting heavy and light oil and sorting them into different holding tanks for cracking into petroleum gas. One wouldn't have to build to train stations for this.
User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12889
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Small amounts of fluids should be pushed out or destroyed by other fluids

Post by ssilk »

That’s nerves me also, in my current game now two times. Just connected the wrong fluid by blueprint. All is sucked full with acid. The simple strategy is to take a pump and a tank and push all out into the tank, then I mount it and the fluid is gone. Fixes this normally in seconds.

But sometimes this doesn’t work. Sometimes remaining fluids got stuck. And that’s when I need to remove all pipes. Really don’t like that.

mrvn: how do you you manage to connect to those pipes with remaining wrong fluids? The current game logic will prevent this very good.

My idea: if the remains are stuck in a “dead end” (no connection to producing devices of that fluid), connection will be allowed. The remains get destroyed as you suggested.
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
mrvn
Smart Inserter
Smart Inserter
Posts: 5925
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: Small amounts of fluids should be pushed out or destroyed by other fluids

Post by mrvn »

That's exactly the cases I run into too. You pump fluid out of a system and all but a trickle gets pulled out. The remaining bits are what I want the game to deal with.

The current game logic o0nly prevents the user from placing a pipe manually. I use bluebuilt, which builds ghosts automatically with a slight time delay. For that the fluid mixing prevention doesn't work. Same goes for personal construction bots and global construction bots.

I get mixed fluids mostly when I move a factory using cut&paste. The order in which olds pipes are removed and new pipes placed is pretty random. And fluids flows from pipes marked for destruction into new pipes already placed.

As for dead ends: I don't want a tank with 25000 fluid destroyed because I disconnected the chemical plant. So this should be only on top of something being left over remains. Or fluid getting destroyed while there is a consumer (including pumps). That's why my idea was to determine a dead end by the fluid not being able to move. But you are right, there could be a producer attached to the fluid that just isn't producing at the time. That would be a good check to add.

Any pipe system with multiple producers is something the user has to fix. Otherwise the producers will just mix fluids again and one gets destroyed over an over. Just exclude pumps that are turned off by circuit control from this. A pump that is turned off is not a producer.
User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12889
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Small amounts of fluids should be pushed out or destroyed by other fluids

Post by ssilk »

An alternative idea would be to store the fluid-type in the blueprint. I mean in the moment when you make a snapshot you really know which fluid should be in the pipes. While rebuilding this blueprint the game could check this information.
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
mrvn
Smart Inserter
Smart Inserter
Posts: 5925
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: Small amounts of fluids should be pushed out or destroyed by other fluids

Post by mrvn »

That would prevent the accidental mixing due to construction bots building over deconstruction. But it wouldn't add any new features to the game.

Preventing fluids from mixing is a fail. You couldn't make it work since the code is too chaotic to block every way pipes can connect with a fluid check.

So why not embrace fluid mixing and make it work sensible. Turn the bug into a feature that adds new ways to play the game? Keep the loose check against the player accidentally mixing fluids. But allow purposeful mixing.
User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12889
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Small amounts of fluids should be pushed out or destroyed by other fluids

Post by ssilk »

mrvn wrote: Wed Oct 20, 2021 10:00 am That would prevent the accidental mixing due to construction bots building over deconstruction. But it wouldn't add any new features to the game.
That’s Okay. Reducing game-complexity by reducing risk of failure of some game logic can be a valid software-development target.
You couldn't make it work since the code is too chaotic
No evidence.
to block every way pipes can connect with a fluid check
You cannot know. There are many games, where programming failures has been left, because they added game-value (best example I know: goat simulator). In the case of pipes it could be also the case. This suggestion points just to some circumstances, where this produces high effort for the player and should be improved.
So why not embrace fluid mixing and make it work sensible. Turn the bug into a feature that adds new ways to play the game? Keep the loose check against the player accidentally mixing fluids. But allow purposeful mixing.
It is not a bug! It’s a decision they made.

And I didn’t argue against mixing. E.g. even when this “blueprint remembers fluid type”-thing would work: the player would be able to make blueprints without information about the fluid type (and should be).
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
mrvn
Smart Inserter
Smart Inserter
Posts: 5925
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: Small amounts of fluids should be pushed out or destroyed by other fluids

Post by mrvn »

I mend why not implement this pushing/destroying. Having fluid types locked down in blueprints is a different idea, feel free to open a separate suggestion for that. They can both be in the game.
User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12889
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Small amounts of fluids should be pushed out or destroyed by other fluids

Post by ssilk »

I’m sorry, you’re right. I come too often out of my role as moderator. :|
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
mrvn
Smart Inserter
Smart Inserter
Posts: 5925
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: Small amounts of fluids should be pushed out or destroyed by other fluids

Post by mrvn »

ssilk wrote: Sat Oct 23, 2021 5:16 am I’m sorry, you’re right. I come too often out of my role as moderator. :|
That's fine as long as you have good ideas like you suggested. I would like to see that implemented too.
FuryoftheStars
Smart Inserter
Smart Inserter
Posts: 2768
Joined: Tue Apr 25, 2017 2:01 pm
Contact:

Re: Small amounts of fluids should be pushed out or destroyed by other fluids

Post by FuryoftheStars »

Idea sounds a lot like how fluids used to work long time ago?
My Mods: Classic Factorio Basic Oil Processing | Sulfur Production from Oils | Wood to Oil Processing | Infinite Resources - Normal Yield | Tree Saplings (Redux) | Alien Biomes Tweaked | Restrictions on Artificial Tiles | New Gear Girl & HR Graphics
Koub
Global Moderator
Global Moderator
Posts: 7790
Joined: Fri May 30, 2014 8:54 am
Contact:

Re: Small amounts of fluids should be pushed out or destroyed by other fluids

Post by Koub »

FuryoftheStars wrote: Sun Oct 31, 2021 1:27 am Idea sounds a lot like how fluids used to work long time ago?
I don't think this ever happened. Fluids have always been nonmixable since ... at least 0.9.8.
Koub - Please consider English is not my native language.
FuryoftheStars
Smart Inserter
Smart Inserter
Posts: 2768
Joined: Tue Apr 25, 2017 2:01 pm
Contact:

Re: Small amounts of fluids should be pushed out or destroyed by other fluids

Post by FuryoftheStars »

Koub wrote: Sun Oct 31, 2021 9:01 am
FuryoftheStars wrote: Sun Oct 31, 2021 1:27 am Idea sounds a lot like how fluids used to work long time ago?
I don't think this ever happened. Fluids have always been nonmixable since ... at least 0.9.8.
I know my memory is often bad, but I distinctly remember complaints back in the day of accidentally connecting mixed fluid systems and one overwriting the contents of the other (if low enough). There was also this change in 0.17.0:
Fluid mixing prevention. Actions that fail as they would lead to fluid mixing (like building a pipe, changing recipe, rotating etc.) produce an error message as flying text.
And I just tested real fast by loading beta 0.16.51. As you can see from the below screenshots, as of 0.16.51, it allowed you to connect mixed systems. And once low enough, it overrode the contents of one with the other.

(Forgive the screen cropping... I play on an ultra-wide, now, and even with the trimming I did, these are still fairly large.)
Fluid mixing 1.png
Fluid mixing 1.png (1.99 MiB) Viewed 4211 times
Fluid mixing 2.png
Fluid mixing 2.png (2.04 MiB) Viewed 4211 times
My Mods: Classic Factorio Basic Oil Processing | Sulfur Production from Oils | Wood to Oil Processing | Infinite Resources - Normal Yield | Tree Saplings (Redux) | Alien Biomes Tweaked | Restrictions on Artificial Tiles | New Gear Girl & HR Graphics
mrvn
Smart Inserter
Smart Inserter
Posts: 5925
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: Small amounts of fluids should be pushed out or destroyed by other fluids

Post by mrvn »

Huh? I can't remember that ever working reliably. Worked in some cases but often not. Is there a pump off screen pumping out the steam?

But that is exactly the wanted behavior. The large amounts of water should push out or destroy the dregs of steam.
FuryoftheStars
Smart Inserter
Smart Inserter
Posts: 2768
Joined: Tue Apr 25, 2017 2:01 pm
Contact:

Re: Small amounts of fluids should be pushed out or destroyed by other fluids

Post by FuryoftheStars »

mrvn wrote: Sun Oct 31, 2021 2:01 pm Huh? I can't remember that ever working reliably. Worked in some cases but often not.
I believe that was because you had to get the actual level of the unwanted fluid to drop below a certain point. If you’ll note, in the top screenshots, the tank is showing 1.1 for a level, while the bottom is 0.9 (I don’t recall for sure what the pipes were, but I believe they were reading 0.1 for each of the screenshots until the water pushed the steam out). I tried this multiple times to be sure on how it worked before taking screenshots and posting.
mrvn wrote: Sun Oct 31, 2021 2:01 pmIs there a pump off screen pumping out the steam?
Not a pump, but I had disconnected it when I went to take the screenshots, so the level would remain static. Basically, I drained the system until the steam was at 1.1 in the tank, disconnected it, then took the first screenshot, connected the water system, took the second screenshot. Then I disconnected the water system and reconnected the system that was consuming steam until the tank dropped to 0.9, then disconnected it again and proceeded with the next two screenshots.
mrvn wrote: Sun Oct 31, 2021 2:01 pmBut that is exactly the wanted behavior. The large amounts of water should push out or destroy the dregs of steam.
Question: I’ve been away from the game for a couple of years, and while I am starting to come back into it, I haven’t thoroughly play tested everything in 1.1. But what I have noticed is a delete fluids button on pipes and tanks, now. Is this not enough for what you want? Because otherwise, what I see is you’re suggesting that the devs undo a change they made because of complaints opposite of your position. Mind you I’m not taking sides here. I’m ok with it as is, but would be ok with it if they decided to revert the behavior back. I’m just pointing out you may have an uphill battle.

A thought: If the button I referenced above wouldn’t work for your use due to requiring manual pressing (I’m assuming it’s manual only), would it be helpful to allow the circuit network to trigger it? That way you could automate it? Just an alternative idea.
My Mods: Classic Factorio Basic Oil Processing | Sulfur Production from Oils | Wood to Oil Processing | Infinite Resources - Normal Yield | Tree Saplings (Redux) | Alien Biomes Tweaked | Restrictions on Artificial Tiles | New Gear Girl & HR Graphics
mrvn
Smart Inserter
Smart Inserter
Posts: 5925
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: Small amounts of fluids should be pushed out or destroyed by other fluids

Post by mrvn »

FuryoftheStars wrote: Sun Oct 31, 2021 7:36 pm
mrvn wrote: Sun Oct 31, 2021 2:01 pmBut that is exactly the wanted behavior. The large amounts of water should push out or destroy the dregs of steam.
Question: I’ve been away from the game for a couple of years, and while I am starting to come back into it, I haven’t thoroughly play tested everything in 1.1. But what I have noticed is a delete fluids button on pipes and tanks, now. Is this not enough for what you want? Because otherwise, what I see is you’re suggesting that the devs undo a change they made because of complaints opposite of your position. Mind you I’m not taking sides here. I’m ok with it as is, but would be ok with it if they decided to revert the behavior back. I’m just pointing out you may have an uphill battle.

A thought: If the button I referenced above wouldn’t work for your use due to requiring manual pressing (I’m assuming it’s manual only), would it be helpful to allow the circuit network to trigger it? That way you could automate it? Just an alternative idea.
Automation, automation, automation. Automating the "destroy fluid" button would be bad though. There are a lot of mods that have fluid waste products and having to care for them is part of the game. If you could just destroy it whenever the buffer tank runs full then the puzzle would be ruined. The button is there to fix accidental mixing of fluids short of removing every pipe. But that should remain manual.

Note: The goal is for the water to push the steam out. So the 0.9 steam from the tank would go into the pipe. That then has more steam so it flows again. When it settles again the water pushes the remaining 0.9 steam out again into the next pipe and so on. There wouldn't be a loss of steam. That is until some steam gets trapped in a dead end. An automated system intent on sharing fluids in pipes would not have dead ends by design. So no loss of fluids there.

I don't quite care as much about destroying the steam in dead ends but having it pushed out by the water would be a cool feature enriching the game by allowing new constructs.
User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12889
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Small amounts of fluids should be pushed out or destroyed by other fluids

Post by ssilk »

When I think over it: it makes much more sense to have a pipe-cleaner-tool for that. Click on the pipe, and all current content gets flushed out. Much simpler. :)
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
mrvn
Smart Inserter
Smart Inserter
Posts: 5925
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: Small amounts of fluids should be pushed out or destroyed by other fluids

Post by mrvn »

ssilk wrote: Mon Nov 01, 2021 7:01 am When I think over it: it makes much more sense to have a pipe-cleaner-tool for that. Click on the pipe, and all current content gets flushed out. Much simpler. :)
Oh no. I often have 50k oil and 0.5 water in a pipe when the bots screw up. I don't want to loose the 50k oil. You sometimes have 0.1 oil or 40k oil to choose from too. Or did you mean just the fluid in the entity that was clicked?

Wouldn't be better than the current way. Think: automation, automation, automation.
FuryoftheStars
Smart Inserter
Smart Inserter
Posts: 2768
Joined: Tue Apr 25, 2017 2:01 pm
Contact:

Re: Small amounts of fluids should be pushed out or destroyed by other fluids

Post by FuryoftheStars »

mrvn wrote: Sun Oct 31, 2021 8:13 pmAutomating the "destroy fluid" button would be bad though. There are a lot of mods that have fluid waste products and having to care for them is part of the game. If you could just destroy it whenever the buffer tank runs full then the puzzle would be ruined. The button is there to fix accidental mixing of fluids short of removing every pipe.
What if, via automation (leave manual activation as is), it required the fluid to be below a certain threshold and could only be activated once every X seconds/minutes or something? And as such...
mrvn wrote: Mon Nov 01, 2021 3:55 pmI often have 50k oil and 0.5 water in a pipe when the bots screw up. I don't want to loose the 50k oil. You sometimes have 0.1 oil or 40k oil to choose from too.
...here, the activation wouldn't affect the fluid with the high amounts, only low?

Sorry, just trying to spit ball alternative ideas in case the devs don't want to do it exactly as the main suggestion suggests.
My Mods: Classic Factorio Basic Oil Processing | Sulfur Production from Oils | Wood to Oil Processing | Infinite Resources - Normal Yield | Tree Saplings (Redux) | Alien Biomes Tweaked | Restrictions on Artificial Tiles | New Gear Girl & HR Graphics
mrvn
Smart Inserter
Smart Inserter
Posts: 5925
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: Small amounts of fluids should be pushed out or destroyed by other fluids

Post by mrvn »

FuryoftheStars wrote: Mon Nov 01, 2021 4:06 pm
mrvn wrote: Sun Oct 31, 2021 8:13 pmAutomating the "destroy fluid" button would be bad though. There are a lot of mods that have fluid waste products and having to care for them is part of the game. If you could just destroy it whenever the buffer tank runs full then the puzzle would be ruined. The button is there to fix accidental mixing of fluids short of removing every pipe.
What if, via automation (leave manual activation as is), it required the fluid to be below a certain threshold and could only be activated once every X seconds/minutes or something? And as such...
mrvn wrote: Mon Nov 01, 2021 3:55 pmI often have 50k oil and 0.5 water in a pipe when the bots screw up. I don't want to loose the 50k oil. You sometimes have 0.1 oil or 40k oil to choose from too.
...here, the activation wouldn't affect the fluid with the high amounts, only low?

Sorry, just trying to spit ball alternative ideas in case the devs don't want to do it exactly as the main suggestion suggests.
Sure, all possible. Seems overly complex though. And it would be destructive. My ideal solution would be that the lesser fluid gets pushed ahead of the much larger fluid. No loss there and you can use a tank with 2 pumps to split the fluids. Activate one pump on water > 0 and the other on oil > 0. Then on the other end of a long pipeline you can alternately push in water or oil.
FuryoftheStars
Smart Inserter
Smart Inserter
Posts: 2768
Joined: Tue Apr 25, 2017 2:01 pm
Contact:

Re: Small amounts of fluids should be pushed out or destroyed by other fluids

Post by FuryoftheStars »

mrvn wrote: Mon Nov 01, 2021 4:35 pm Sure, all possible. Seems overly complex though. And it would be destructive. My ideal solution would be that the lesser fluid gets pushed ahead of the much larger fluid. No loss there and you can use a tank with 2 pumps to split the fluids. Activate one pump on water > 0 and the other on oil > 0. Then on the other end of a long pipeline you can alternately push in water or oil.
Right... forgot you could do that with pumps.

I wonder then if there was a technical reason why the devs didn't do this in the first place vs destroying the fluid?
My Mods: Classic Factorio Basic Oil Processing | Sulfur Production from Oils | Wood to Oil Processing | Infinite Resources - Normal Yield | Tree Saplings (Redux) | Alien Biomes Tweaked | Restrictions on Artificial Tiles | New Gear Girl & HR Graphics
Post Reply

Return to “Ideas and Suggestions”