Fluid Optimization not fixed for release?

Post all other topics which do not belong to any other category.
Loewchen
Global Moderator
Global Moderator
Posts: 9089
Joined: Wed Jan 07, 2015 5:53 pm
Contact:

Re: Fluid Optimization not fixed for release?

Post by Loewchen »

Hannu wrote: Mon Aug 31, 2020 6:34 am
Aru wrote: Wed Aug 26, 2020 2:34 pm To this day, any design I make with fluids is constantly foiled by the fluid physics.
Is there any practical example in which there are problems?
An issue you can encounter realistically is that fluid levels propagate differently depending on the direction (72716). Most people seems to confuse that "Fluid optimization" would mean fluid levels would generally move faster but that was not a point of the new system, consistency and less of a UPS drain were.
Aru
Fast Inserter
Fast Inserter
Posts: 212
Joined: Wed Apr 13, 2016 11:31 pm
Contact:

Re: Fluid Optimization not fixed for release?

Post by Aru »

Hannu wrote: Mon Aug 31, 2020 6:34 am
Aru wrote: Wed Aug 26, 2020 2:34 pm To this day, any design I make with fluids is constantly foiled by the fluid physics.
Is there any practical example in which there are problems?
Mostly, it's problems where one pipe segment has nothing in it, even while fluid is flowing through it and it's neighbors have plenty, starving anything connected to it. Inconsistency with different pipelines like leowchen's link is annoying too.

One boiler in a line starved of water, the ones on either side, fine. Some turbines starved of steam, the ones on both sides, fine. Some rows getting more steam than others, not because of boilers, but because of the pipes. Some tanks getting filled, some not. Acid skips a plant, it doesn't make enough batteries. I can compensate by replacing pipes until it works, by cutting some lines shorter than others and adding more even though they're the same, or cutting them all short, interfering with designs. There's a lot of strange artifacts that manifest different ways.
Yoyobuae
Filter Inserter
Filter Inserter
Posts: 509
Joined: Fri Nov 04, 2016 11:04 pm
Contact:

Re: Fluid Optimization not fixed for release?

Post by Yoyobuae »

A machine being starved of fluid is usually a symptom a bad design. It is very, very rare for the fluid system evaluation order to be the cause of fluid starvation.

If a design is bad (ie. is bottlenecked by pipe-throughput) then one or more machines will be starved of fluid, no way around that. Due to fluid system evaluation order the machines that end up starved of fluid might not be the ones you expect. In a line of machines maybe the ones in the middle will end up starved instead of the ones at the end.

Regardless of which machine ends up fluid starved the solution is the same: Fix your design.

If you make a line of assembly machines which is too long for a transport belt and end up with machines starved for input, you don't then complain that the transport belt system is somehow broken, you fix the design instead (add more belts, etc). But because the fluid system is mostly opaque then players are quick to blame the fluid system rather than themselves.
coppercoil
Filter Inserter
Filter Inserter
Posts: 500
Joined: Tue Jun 26, 2018 10:14 am
Contact:

Re: Fluid Optimization not fixed for release?

Post by coppercoil »

Yoyobuae wrote: Tue Sep 01, 2020 3:25 pm A machine being starved of fluid is usually a symptom a bad design. It is very, very rare for the fluid system evaluation order to be the cause of fluid starvation.
You must be trolling. I should not feed you. Just in case you are not trolling, just lacking an experience, I suggest you trying this:
obviously very bad design for fluid splitter
I will write no single word on this topic anymore.
Yoyobuae
Filter Inserter
Filter Inserter
Posts: 509
Joined: Fri Nov 04, 2016 11:04 pm
Contact:

Re: Fluid Optimization not fixed for release?

Post by Yoyobuae »

Yes, that's just horrible design. Pipes and pumps are not belt/splitters, get over it already.

Come back with an actual factory design, rather than some synthetic test purposely designed to expose the effects of fluid evaluation order.

EDIT: Heh, even belt and splitters have their quirks:
Screenshot_2020-09-01_12-29-07.png
Screenshot_2020-09-01_12-29-07.png (663.13 KiB) Viewed 6514 times
EDIT: And here's an actually well designed fluid splitter:
Screenshot_2020-09-01_12-32-55.png
Screenshot_2020-09-01_12-32-55.png (941.44 KiB) Viewed 6510 times
Why it works: Using the pipe fluid throughput table I know that for 3000 fluid/s there can be two pipe tiles between pumps and for 1500 fluid/s there can be up to seven pipe tiles. Infinity pipe tiles still count as a pipe tile. Then it's all just matter of counting pipe tiles.

It works exactly as expected. The input pump reads 3000 fluid/s flow and the two output pumps read 1500 fluid/s.
Hannu
Filter Inserter
Filter Inserter
Posts: 850
Joined: Thu Apr 28, 2016 6:27 am
Contact:

Re: Fluid Optimization not fixed for release?

Post by Hannu »

Aru wrote: Tue Sep 01, 2020 3:02 pm Mostly, it's problems where one pipe segment has nothing in it, even while fluid is flowing through it and it's neighbors have plenty, starving anything connected to it. Inconsistency with different pipelines like leowchen's link is annoying too.
I have detected such situations, especially uneven distribution in T-junction if production is less than consumers would like to take. But I have never seen it as a significant problem. If, for example, sulfur plant takes more gas and plastic suffers, sulfur and acid lines are soon saturated and sulfur factory's consumption decreases until plastic is produced enough to keep sulfur consumption running. In long run production and consumption balances and everything I produce will be refined to products. It seems that most mentioned problems are some kind of aesthetic annoyance. Also if someone makes unnecessary large buffers (which seems to be very common at least among Youtube players) time constant of self balancing will increase.
One boiler in a line starved of water, the ones on either side, fine. Some turbines starved of steam, the ones on both sides, fine. Some rows getting more steam than others, not because of boilers, but because of the pipes.
I have not seen a situation in which total electricity production has been less than my ability to product steam. Why I should care if actual production has imbalance between individual machines? In real systems it may cause temperature gradients etc. nasty phenomena, but nothing such is modeled in Factorio.
Of course I understand that many players want to have mathematical perfection between flows and production ratios and then this kind of inconsistency is annoying but I just want to know if it may be a real throughput issue which should be taken into account when I plan production chains.
Aru
Fast Inserter
Fast Inserter
Posts: 212
Joined: Wed Apr 13, 2016 11:31 pm
Contact:

Re: Fluid Optimization not fixed for release?

Post by Aru »

A lot of it is just aesthetic in practice, but there are actual problems too. The most apparent problems for me came from experimenting with nuclear, while draining all the power with radars. Some rows of turbines had steam to spare, others had many turbines that were completely idle, causing the design to produce much less than the theoretical maximum. Some boilers weren't getting enough water, though their neighbors were, and the pipelines and offshore pumps were more than adequate. There were a lot of problems with trying to get steam tanks working consistently too, using pumps didn't fix it. I multiplied and completely separated every line, still problems. Even played with placing every component by hand in the correct order to encourage flow.
Yoyobuae
Filter Inserter
Filter Inserter
Posts: 509
Joined: Fri Nov 04, 2016 11:04 pm
Contact:

Re: Fluid Optimization not fixed for release?

Post by Yoyobuae »

I still strongly suspect that your design was pipe bottlenecked somewhere. I've also played a lot with nuclear designs (the main reason I studied the fluid system in detail) and actively tried pushing the fluid flows to the limit. Whenever I had some flow problems I eventually tracked it down to the design introducing flow problems at some point.

Flow problems are particularly tricky because they could be anywhere. It is far more likely for a player to think "this fluid system sucks!" than actually manage to find the hidden flow problems in their design.
fragtzack
Manual Inserter
Manual Inserter
Posts: 1
Joined: Wed Sep 16, 2020 11:21 pm
Contact:

Re: Fluid Optimization not fixed for release?

Post by fragtzack »

Hi,

New to the game, all of a few days. Really enjoying the game so far, one of the highest ranked(reviews) games on steam. Factorio is Thumbs up from me.

The one area which is making me scratch me head is indeed these fluids physics as OP writes. There is zero modeling of pressure or density. This lack of pressure modeling in particular is what makes these fluids perform unrealistic behaviors. 2 connected pipes next to each other with equal pressure on both pipe ends should have the same mass and density of fluid in both pipes.

Guess am a bit spoiled from Oxygen Not Included fluid modeling.

Pretty obvious the designer took the code for the belts system and tried to apply to the fluid system.

Hoping the fluid system gets redesigned.
User avatar
Deadlock989
Smart Inserter
Smart Inserter
Posts: 2529
Joined: Fri Nov 06, 2015 7:41 pm

Re: Fluid Optimization not fixed for release?

Post by Deadlock989 »

fragtzack wrote: Wed Sep 16, 2020 11:32 pmGuess am a bit spoiled from Oxygen Not Included fluid modeling.
What, the one where big square packets of fluid move along pipes like they're on a rail, and magically "decide" to alternate between left and right forks, leaving vacuum gaps in between the packets every time you split a pipe? How incredibly "realistic".
Pretty obvious the designer took the code for the belts system and tried to apply to the fluid system.
No. Not even close. If anything it's ONI that took a solids-on-a-rail approach to fluid pipes.
User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12889
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Fluid Optimization not fixed for release?

Post by ssilk »

@fragtzack I guess you should read the wiki
https://wiki.factorio.com/Fluid_system
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
PunkSkeleton
Long Handed Inserter
Long Handed Inserter
Posts: 83
Joined: Sun Oct 09, 2016 2:10 pm
Contact:

Re: Fluid Optimization not fixed for release?

Post by PunkSkeleton »

IMO wave (assuming that pipes are always partially filled) modelling of pipe flow is the main problem. The pipes should be modelled like water pipes in real life: always full and flow is controlled by pressure and flow resistance. Pressure should be decided by connected sources (including tanks which generate pressure proportional to the amount of fluid inside).

Also a pipe cannot be partially filled with any gas, the gas will simply expand. Another stupidity of current system is that underground pipes have much better flow than normal ones.
User avatar
TheRangerLOL
Long Handed Inserter
Long Handed Inserter
Posts: 74
Joined: Fri Sep 18, 2020 11:56 pm
Contact:

Re: Fluid Optimization not fixed for release?

Post by TheRangerLOL »

Hannu wrote: Mon Aug 31, 2020 6:34 am
Aru wrote: Wed Aug 26, 2020 2:34 pm To this day, any design I make with fluids is constantly foiled by the fluid physics.
Is there any practical example in which there are problems?

My boiler doesn't explode when i put oil into it. :evil:
The one and only.
Hannu
Filter Inserter
Filter Inserter
Posts: 850
Joined: Thu Apr 28, 2016 6:27 am
Contact:

Re: Fluid Optimization not fixed for release?

Post by Hannu »

PunkSkeleton wrote: Thu Sep 24, 2020 3:36 pm IMO wave (assuming that pipes are always partially filled) modelling of pipe flow is the main problem. The pipes should be modelled like water pipes in real life: always full and flow is controlled by pressure and flow resistance. Pressure should be decided by connected sources (including tanks which generate pressure proportional to the amount of fluid inside).

Also a pipe cannot be partially filled with any gas, the gas will simply expand. Another stupidity of current system is that underground pipes have much better flow than normal ones.
More realistic model would need solving of system of linear equations with size of the components in pipe network in every tick. It would need orders of magnitude more CPU time with large complex fluid networks. It would reduce significantly size of huge refineries and systems with complex mods. Even I do not build very large bases I prefer current fast model with small inconsistencies over realistic but slow model.
Yoyobuae
Filter Inserter
Filter Inserter
Posts: 509
Joined: Fri Nov 04, 2016 11:04 pm
Contact:

Re: Fluid Optimization not fixed for release?

Post by Yoyobuae »

PunkSkeleton wrote: Thu Sep 24, 2020 3:36 pm IMO wave (assuming that pipes are always partially filled) modelling of pipe flow is the main problem. The pipes should be modelled like water pipes in real life: always full and flow is controlled by pressure and flow resistance. Pressure should be decided by connected sources (including tanks which generate pressure proportional to the amount of fluid inside).
In the current system, the pressure on each pipe is proportional to the amount of fluid inside. Each pipe is a mini-storage tank.
User avatar
TheRangerLOL
Long Handed Inserter
Long Handed Inserter
Posts: 74
Joined: Fri Sep 18, 2020 11:56 pm
Contact:

Re: Fluid Optimization not fixed for release?

Post by TheRangerLOL »

Yoyobuae wrote: Thu Sep 24, 2020 9:50 pm
PunkSkeleton wrote: Thu Sep 24, 2020 3:36 pm IMO wave (assuming that pipes are always partially filled) modelling of pipe flow is the main problem. The pipes should be modelled like water pipes in real life: always full and flow is controlled by pressure and flow resistance. Pressure should be decided by connected sources (including tanks which generate pressure proportional to the amount of fluid inside).
In the current system, the pressure on each pipe is proportional to the amount of fluid inside. Each pipe is a mini-storage tank.

I didn't follow the FFF or whatever the fluid dev progress was posted on, but perhaps the devs could create some kind of Compressor, that actively messes with the perceived fluid stored in a set of pipes/tanks/etc. I mean, isn't that kinda (but not really) how the basic pumps work anyways, just opposite?
The one and only.
Yoyobuae
Filter Inserter
Filter Inserter
Posts: 509
Joined: Fri Nov 04, 2016 11:04 pm
Contact:

Re: Fluid Optimization not fixed for release?

Post by Yoyobuae »

TheRangerLOL wrote: Fri Sep 25, 2020 1:52 am I didn't follow the FFF or whatever the fluid dev progress was posted on, but perhaps the devs could create some kind of Compressor, that actively messes with the perceived fluid stored in a set of pipes/tanks/etc.
Liquids don't compress:
Wikipedia wrote:A liquid is a nearly incompressible fluid that conforms to the shape of its container but retains a (nearly) constant volume independent of pressure.
Perhaps it would make a bit sense for steam, but not for any of the liquids.
TheRangerLOL wrote: Fri Sep 25, 2020 1:52 am I mean, isn't that kinda (but not really) how the basic pumps work anyways, just opposite?
The basic pump in factorio doesn't compress anything. All it does is to take fluid from the input and move it into itself. If the pump itself is full of fluid then it cannot take any fluid from it's input and it will stop pumping. It will never compress.

What I'm saying is that Factorio doesn't do anything that's physically impossible and it should stay that way. There are mods that implement fluid compression if you want it.
MiniHerc
Fast Inserter
Fast Inserter
Posts: 176
Joined: Fri Jun 26, 2015 11:37 pm

Re: Fluid Optimization not fixed for release?

Post by MiniHerc »

5thHorseman wrote: Sun Aug 23, 2020 11:18 pm I'm not happy about it either but to say Factorio was rushed is pretty funny.
It was rushed. The Factorio devs wanted to release it before Cyberpunk 2077 was. Then 2077 got delayed repeatedly. Wonder if the Factorio devs ever kick themselves about it.

Source: https://factorio.com/blog/post/fff-349
In FFF-321 we announced a release date for version 1.0. Given recent events we have decided to make an amendment to the date of 1.0. The new date we are aiming for is Friday August 14th 2020, which is 5 weeks earlier than the original date.

The main reason to change the release date is the release of Cyberpunk 2077. In January this year, CD Projekt Red announced a delay to the release of Cyberpunk 2077, to September 17th, 1 week before our Factorio 1.0 launch. We think any release close to such a monumental game is going to feel some negative effects, such as everybody playing and covering Cyberpunk and taking attention away from other games.
User avatar
Klonan
Factorio Staff
Factorio Staff
Posts: 5266
Joined: Sun Jan 11, 2015 2:09 pm
Contact:

Re: Fluid Optimization not fixed for release?

Post by Klonan »

Ambaire wrote: Mon Nov 16, 2020 4:42 pm
It was rushed. The Factorio devs wanted to release it before Cyberpunk 2077 was. Then 2077 got delayed repeatedly. Wonder if the Factorio devs ever kick themselves about it.
It wasn't rushed, we just realised we could finish what we wanted to finish sooner.
Fluid algorithm rewrite was scrapped way before we even had a 1.0 date
Post Reply

Return to “General discussion”