Friday Facts #274 - New fluid system 2

Regular reports on Factorio development.
Post Reply
Shanman
Burner Inserter
Burner Inserter
Posts: 6
Joined: Tue Dec 25, 2018 1:38 am
Contact:

Re: Friday Facts #274 - New fluid system 2

Post by Shanman »

pumps don't split systems, for efficiency reasons.
I'm wondering how I might construct a multi-fluid system with this new rule. Can I have three storage tanks with three different liquids separated from a pipe network by pumps? I've been setting up a multi-fluid system with this design, where one of the pumps is active at any given time, then the system is flushed and a different fluid is used. The current fluid mechanics can make this challenging, with fluid being left in the pipes, but will this become impossible?

crlgame
Manual Inserter
Manual Inserter
Posts: 2
Joined: Tue Dec 25, 2018 6:12 am
Contact:

Re: Friday Facts #274 - New fluid system 2

Post by crlgame »

Hi I have seen new news recently, but my version of steam still stays at 0.16.51. Where can I download the latest version?
ps: I have already started the experimental mode of steam.

Loewchen
Global Moderator
Global Moderator
Posts: 8284
Joined: Wed Jan 07, 2015 5:53 pm
Contact:

Re: Friday Facts #274 - New fluid system 2

Post by Loewchen »

crlgame wrote: ↑
Tue Dec 25, 2018 6:17 am
Hi I have seen new news recently, but my version of steam still stays at 0.16.51. Where can I download the latest version?
ps: I have already started the experimental mode of steam.
0.16.51 is the latest public version, the news are about future updates: https://factorio.com/blog/post/fff-269

dee-
Filter Inserter
Filter Inserter
Posts: 414
Joined: Mon Jan 19, 2015 9:21 am
Contact:

Re: Friday Facts #274 - New fluid system 2

Post by dee- »

Personally I like the idea of the "pig" to clean pipes and shove fluids together at one end.

Also how about adding a new type of fluid named "Waste" or "Inseparable Fluid Mixture" or something similar, which appears as soon as two (or more) different fluids touch, and converts the fluids to this fluid which can not be used by the assemblers, etc. anymore as it's not the fluid for the current recipe, thus clogging the production. Reason for this is it does not have the necessary purity anymore and can therefore not be used for production.
Then we can use the pig (manually? by sensor and logic automatically?) to clean the pipes and fill with fresh fluids again.

This would allow very dynamic fluid systems enabling the reuse of pipes for different fluids and brings in the riddle of keeping the fluids pure to not break production, much like it would break if you feed the wrong ingredients by a belt stopping the assembler.

xng
Fast Inserter
Fast Inserter
Posts: 164
Joined: Fri Feb 14, 2014 1:04 pm
Contact:

Re: Friday Facts #274 - New fluid system 2

Post by xng »

Fluid "mixing" in 0.16 only ever happens if the pipe is empty, how does the new system know if it's the wrong fluid for an empty pipe? (Placing pipe/rotating/changing recipe)

User avatar
featherwinglove
Filter Inserter
Filter Inserter
Posts: 579
Joined: Sat Jun 25, 2016 6:14 am
Contact:

Re: Friday Facts #274 - New fluid system 2

Post by featherwinglove »

crlgame wrote: ↑
Tue Dec 25, 2018 6:17 am
Hi I have seen new news recently, but my version of steam still stays at 0.16.51. Where can I download the latest version?
ps: I have already started the experimental mode of steam.
The page to keep an eye on for new versions without logging into the store page is https://factorio.com/download-demo/experimental ...I'd be surprised if there's much point, experimentals probably get pushed to Steam only minutes later, and I wouldn't be too astonished if it turned out to be before. One 0.17 announced feature has been modded in already if you want to try it.

FasterJump
Fast Inserter
Fast Inserter
Posts: 192
Joined: Sat Jul 09, 2016 11:43 am
Contact:

Re: Friday Facts #274 - New fluid system 2

Post by FasterJump »

nosports wrote: ↑
Mon Dec 24, 2018 8:40 am
Dominik wrote: ↑
Sun Dec 23, 2018 9:59 pm
So yes, if you put 5 fluid into 101 pipes, it should eventually disappear. But that is not a very frequent case. Most common case is the pipes are full all the time and that loss does not seem very large to me. Not great, sure, but lower limit means more time when you do want to empty it. If you have another idea how to solve the thing it would be great.
You could insert the Fluid into a Barrel when carrying one or the resources for Said Barrel.
Place the fΓΌllend Barrel into User inventory Ort to the ground
Are you suggesting that right click on a pipe with a barrel will empty the pipe and fill the barrel? Interesting idea. [edit:] But it would be a pain to carry/craft a barrel all the time

Another idea: allow the deletion of the fluids below the 0.05 threshold only once (until the pipes get >50% again), this way the situation described by Zavian won't trigger the fluid deletion every tick, but only once per tick.
Last edited by FasterJump on Wed Dec 26, 2018 2:11 am, edited 1 time in total.

Shanman
Burner Inserter
Burner Inserter
Posts: 6
Joined: Tue Dec 25, 2018 1:38 am
Contact:

Re: Friday Facts #274 - New fluid system 2

Post by Shanman »

FasterJump wrote: ↑
Tue Dec 25, 2018 10:53 pm
Another idea: allow the deletion of the fluids below the 0.05 threshold only once (until the pipes get >50% again), this way the situation described by Zavian won't trigger the fluid deletion every tick, but only once per tick.
From what it sounds like, it wouldn't happen every tick as it is. A pump or a refinery might produce X resources in a given tick, but that resource would need to spread through the system. When every pipe has less than 0.05 in it, the resources will disappear. I'm working right now with pipes, and let me tell you, when half a dozen pipes show "0.0 [Fluid]", it is frustrating. It's a very small amount that just lingers for an annoyingly long time even when you have pumps going. If you've ever had pipes blocked with a 0.0 (presumably 0.02 or 0.01 left), it's a hassle. Once the pipe is "empty", let it drain. It shows 0.0 on the tooltips already.

Maybe the best way to do it is "once the resources stop moving for the most part". That would let pipes that ARE genuinely moving the resource to continue moving it, but if there's next to nothing on the line and it isn't going anywhere, it would "evaporate" or something.

User avatar
bobingabout
Smart Inserter
Smart Inserter
Posts: 7351
Joined: Fri May 09, 2014 1:01 pm
Contact:

Re: Friday Facts #274 - New fluid system 2

Post by bobingabout »

Dominik wrote: ↑
Sat Dec 22, 2018 6:15 pm
bobingabout wrote: ↑
Fri Dec 21, 2018 9:25 pm
Looks like Dominik listened when I mentioned about my mods using the viscocity system and not only included the abillity to do it in the new system, but also used it in the base game.

Wonderful
I am sure I read the request a few times, probably yours too :) It was a matter of how difficult it would be and how slow. Since the variables are natively in the algorithm, it was easy. Adding any variable cost performance though, which was the main issue and truth is some people are still not sure it is worth it.
fairly sure it was you, but a couple of messages went back and forth between us.

either way, I'm glad the feature is in there.
Creator of Bob's mods. Expanding your gameplay since version 0.9.8.
I also have a Patreon.

User avatar
TheYeast
Inserter
Inserter
Posts: 35
Joined: Sun Feb 05, 2017 3:57 pm
Contact:

Re: Friday Facts #274 - New fluid system 2

Post by TheYeast »

PunPun wrote: ↑
Fri Dec 21, 2018 11:36 pm
I really like this. Would be weird if I didn't considering I also suggested this very exact thing
[...] Maybe if the thread had gone for longer.
Great minds think alike I suppose ;) - I guess it was just a matter of timing. I tried to bring it up in vain a year earlier as well, but this time Dominik had already decided to put effort into it, so the iron was hot so to speak.
PunPun wrote: ↑
Fri Dec 21, 2018 11:36 pm
But thanks @TheYeast for doing all the amazing work with the simulator and working out the math and such and finally selling(I hope not literally) the idea to you.
You're very welcome! And no worries, the only selling I did was figurative.

User avatar
TheYeast
Inserter
Inserter
Posts: 35
Joined: Sun Feb 05, 2017 3:57 pm
Contact:

Re: Friday Facts #274 - New fluid system 2

Post by TheYeast »

Zavian wrote: ↑
Mon Dec 24, 2018 11:03 am
Then only activate the clearing mechanism if there are no fluid sources connected to the pipe. (That is potentially more performant as well, since instead of checking the fluid in multiple pipes per tick, you can simply maintain a list of pipe networks that don't have a connected fluid source, and simply check one of those every X ticks).
I was going to suggest the same. As long as there are sources/sinks dedicated to a single fluid connected to an isolated pipe network, it does not really make sense to run the fluid destruction algorithm, since you cannot connect other types of sinks/sources for re-purposing those pipes anyway.

Also, I assume that game is already tracking the number of sources/sinks connected to a network for the purpose of refusing to connect two (different fluid) networks together.

So it should be easy to add that condition on running the algorithm and make everybody happy, right?

User avatar
featherwinglove
Filter Inserter
Filter Inserter
Posts: 579
Joined: Sat Jun 25, 2016 6:14 am
Contact:

Re: Friday Facts #274 - New fluid system 2

Post by featherwinglove »

FasterJump wrote: ↑
Tue Dec 25, 2018 10:53 pm
Another idea: allow the deletion of the fluids below the 0.05 threshold only once (until the pipes get >50% again), this way the situation described by Zavian won't trigger the fluid deletion every tick, but only once per tick.
Wut?
TheYeast wrote: ↑
Wed Dec 26, 2018 5:42 pm
Zavian wrote: ↑
Mon Dec 24, 2018 11:03 am
Then only activate the clearing mechanism if there are no fluid sources connected to the pipe. (That is potentially more performant as well, since instead of checking the fluid in multiple pipes per tick, you can simply maintain a list of pipe networks that don't have a connected fluid source, and simply check one of those every X ticks).
I was going to suggest the same. As long as there are sources/sinks dedicated to a single fluid connected to an isolated pipe network, it does not really make sense to run the fluid destruction algorithm, since you cannot connect other types of sinks/sources for re-purposing those pipes anyway.

Also, I assume that game is already tracking the number of sources/sinks connected to a network for the purpose of refusing to connect two (different fluid) networks together.

So it should be easy to add that condition on running the algorithm and make everybody happy, right?
I agree with Zavian: sources, but not consumers. If a fluid net with consumers on it is empty enough that the pipe cleaning routine might be considering it, they aren't running. Destroying the residuals in such a net would send a clear signal to the player that his build is screwed up, i.e. it isn't just his fluid sources starving at their back end, there is something wrong with the build itself. It might be as simple as a train schedule problem though: say crude is being brought in via tanker cars and never arrives at the station; more likely it would be that something has been forgotten during an upgrade build.

User avatar
TheYeast
Inserter
Inserter
Posts: 35
Joined: Sun Feb 05, 2017 3:57 pm
Contact:

Re: Friday Facts #274 - New fluid system 2

Post by TheYeast »

featherwinglove wrote: ↑
Wed Dec 26, 2018 8:13 pm
I agree with Zavian: sources, but not consumers. [...] Destroying the residuals in such a net would send a clear signal to the player that his build is screwed up [...]
Perhaps, but I do not think the destruction of residuals is going to be visible to the player. A residue of 0.05 is probably already rounded down to zero in the UI. If the player needs more feedback to diagnose broken builds, an info window showing all connected entities makes more sense to me...

User avatar
featherwinglove
Filter Inserter
Filter Inserter
Posts: 579
Joined: Sat Jun 25, 2016 6:14 am
Contact:

Re: Friday Facts #274 - New fluid system 2

Post by featherwinglove »

TheYeast wrote: ↑
Thu Dec 27, 2018 12:14 am
Perhaps, but I do not think the destruction of residuals is going to be visible to the player.
Oh yes it will, at least to me. I almost always play with alt view (advanced info, press the Alt key), and when those icons disappear, I notice. Pipe windows also have the fluid in them, and it disappearing from a thin line in a system the player is currently trying to figure out the trouble with is going to be quite easy to see. Another good reason to wipe out the fluid from a net that has consumers but not sources is to allow changing the net without having to break any pipes. The recipe is canceled on the producing machines, the consumers empty the net, and then the new recipe is set on the consuming machines, then the new recipe for the producing machines is set. This could be handy for switching around oil crackers in modpacks with a variety of refinery recipes.

User avatar
TheYeast
Inserter
Inserter
Posts: 35
Joined: Sun Feb 05, 2017 3:57 pm
Contact:

Re: Friday Facts #274 - New fluid system 2

Post by TheYeast »

featherwinglove wrote: ↑
Thu Dec 27, 2018 7:01 am
Oh yes it will, at least to me. I almost always play with alt view (advanced info, press the Alt key), and when those icons disappear, I notice.
I stand corrected. Still, it only helps when a source was attached earlier (for there to be any fluid to be destroyed) and the build became broken after that by a pipe being accidentally disconnected.
featherwinglove wrote: ↑
Thu Dec 27, 2018 7:01 am
[...] The recipe is canceled on the producing machines, the consumers empty the net, and then the new recipe is set on the consuming machines, then the new recipe for the producing machines is set.
When the recipe on all consumers is cancelled, they are not consumers dedicated to a single fluid anymore, so the destruction pass would run in my proposal as well. You would have to reset all recipes on all consumers before it runs, and then set all the new recipes. Ofc you would rather just change the recipes directly to the new ones, but I don't think the new anti-fluid-mixing rules allow you to do that even when the pipe is empty...

User avatar
featherwinglove
Filter Inserter
Filter Inserter
Posts: 579
Joined: Sat Jun 25, 2016 6:14 am
Contact:

Re: Friday Facts #274 - New fluid system 2

Post by featherwinglove »

TheYeast wrote: ↑
Thu Dec 27, 2018 10:18 am
featherwinglove wrote: ↑
Thu Dec 27, 2018 7:01 am
Oh yes it will, at least to me. I almost always play with alt view (advanced info, press the Alt key), and when those icons disappear, I notice.
I stand corrected. Still, it only helps when a source was attached earlier (for there to be any fluid to be destroyed) and the build became broken after that by a pipe being accidentally disconnected.
Exactly. I've had this happen before and it can make for some bloody annoying troubleshooting work. Kudos to the Orphan Finder mod though ;)
featherwinglove wrote: ↑
Thu Dec 27, 2018 7:01 am
[...] The recipe is canceled on the producing machines, the consumers empty the net, and then the new recipe is set on the consuming machines, then the new recipe for the producing machines is set.
When the recipe on all consumers is cancelled, they are not consumers dedicated to a single fluid anymore, so the destruction pass would run in my proposal as well. You would have to reset all recipes on all consumers before it runs, and then set all the new recipes. Ofc you would rather just change the recipes directly to the new ones, but I don't think the new anti-fluid-mixing rules allow you to do that even when the pipe is empty...
They should when the net is empty, which is the point. An empty net is compatible with any recipe; this not being the case would brick the game.

I'm still bothered by the behaviour I talked about earlier about not being able to set/rotate a machine, especially after seeing so many pipe control mods. Ima grab a quote from Dominik 'cus I want him to get a notification...
Dominik wrote: ↑
Mon Dec 24, 2018 6:14 pm
pumps don't split systems, for efficiency reasons.
That was more random than I was trying for... It just seems to me that it makes a great deal more sense to have the net refuse to make the connection rather than block a user action. If this is the behaviour taken, then it also becomes possible to run adjacent nets (pipes with different fluids) right adjacent to each other. I can see there being a little problem, will the image I need from the FFF embed? Brb...

Image

Ah, there it is. So approaching an adjacent run like this would confuse the game because it doesn't know which of the two nets you're trying to connect to. So, click on the net you want to extend into this gap, say the water on the right and then drag it into the gap, the water net extends and does not connect to the light oil net. Then build the pipe south, build the light oil pipe also south by dragging from its end to tell the game which net you're extending, and wala, you've got Pipe Control in vanilla. This might need an explanation in Tips & Tricks, but it'll be pretty inherent to anyone who's used to extending power grids as I do: try to place your power pole on an existing power pole, yes that makes the placement error beep, hold the button and run (or train/car as I often do) and off goes a perfectly wire spaced power line to that new resource patch.

User avatar
Oktokolo
Filter Inserter
Filter Inserter
Posts: 883
Joined: Wed Jul 12, 2017 5:45 pm
Contact:

Re: Friday Facts #274 - New fluid system 2

Post by Oktokolo »

featherwinglove wrote: ↑
Thu Dec 27, 2018 5:16 pm
So, click on the net you want to extend into this gap, say the water on the right and then drag it into the gap, the water net extends and does not connect to the light oil net. Then build the pipe south, build the light oil pipe also south by dragging from its end to tell the game which net you're extending, and wala, you've got Pipe Control in vanilla.
That is, how they should implement all the pipe-installation cases - including placing empty pipes. We could finally build adjacent non-merging pipes that way - and whether they would be initially filled or empty would not matter at all.

pleegwat
Filter Inserter
Filter Inserter
Posts: 255
Joined: Fri May 19, 2017 7:31 pm
Contact:

Re: Friday Facts #274 - New fluid system 2

Post by pleegwat »

I think if adjacent non-connected pipes are desired, implementing a pipe planner would give better QoL than automagically deciding which adjacent tiles you want connected to the new tile.

meganothing
Fast Inserter
Fast Inserter
Posts: 238
Joined: Thu Sep 15, 2016 3:04 pm
Contact:

Re: Friday Facts #274 - New fluid system 2

Post by meganothing »

My guess is that the adjacent limitation may have been done mainly for a simpler UI but effectively it is now part of the puzzle. Sure, there are mega-factory builders who are not interested in such puzzles anymore and want "cheap" limitations removed. But it is one of the entry problems for beginners and should stay (IMHO)

Apart from the simple solution of pointing to mods Wube could implement a type of advanced pipe that allows adjacent placement, IF they really want such pipes available in vanilla.

Dominik
Former Staff
Former Staff
Posts: 658
Joined: Sat Oct 12, 2013 9:08 am
Contact:

Re: Friday Facts #274 - New fluid system 2

Post by Dominik »

TheYeast wrote: ↑
Wed Dec 26, 2018 5:42 pm
Zavian wrote: ↑
Mon Dec 24, 2018 11:03 am
Then only activate the clearing mechanism if there are no fluid sources connected to the pipe. (That is potentially more performant as well, since instead of checking the fluid in multiple pipes per tick, you can simply maintain a list of pipe networks that don't have a connected fluid source, and simply check one of those every X ticks).
I was going to suggest the same. As long as there are sources/sinks dedicated to a single fluid connected to an isolated pipe network, it does not really make sense to run the fluid destruction algorithm, since you cannot connect other types of sinks/sources for re-purposing those pipes anyway.

Also, I assume that game is already tracking the number of sources/sinks connected to a network for the purpose of refusing to connect two (different fluid) networks together.

So it should be easy to add that condition on running the algorithm and make everybody happy, right?
Right, makes sense. It actually means adding one line.
No, it does not keep track. It counts it on every update as it goes through everything anyway and makes operations more simple.

Post Reply

Return to β€œNews”