Page 2 of 2

Re: Fluid Optimization not fixed for release?

Posted: Mon Aug 31, 2020 8:22 pm
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.

Re: Fluid Optimization not fixed for release?

Posted: Tue Sep 01, 2020 3:02 pm
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.

Re: Fluid Optimization not fixed for release?

Posted: Tue Sep 01, 2020 3:25 pm
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.

Re: Fluid Optimization not fixed for release?

Posted: Tue Sep 01, 2020 5:09 pm
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.

Re: Fluid Optimization not fixed for release?

Posted: Tue Sep 01, 2020 5:24 pm
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 5729 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 5725 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.

Re: Fluid Optimization not fixed for release?

Posted: Tue Sep 01, 2020 7:04 pm
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.

Re: Fluid Optimization not fixed for release?

Posted: Sun Sep 06, 2020 6:42 pm
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.

Re: Fluid Optimization not fixed for release?

Posted: Sun Sep 06, 2020 7:18 pm
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.

Re: Fluid Optimization not fixed for release?

Posted: Wed Sep 16, 2020 11:32 pm
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.

Re: Fluid Optimization not fixed for release?

Posted: Thu Sep 17, 2020 10:39 am
by Deadlock989
fragtzack wrote:
Wed Sep 16, 2020 11:32 pm
Guess 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.

Re: Fluid Optimization not fixed for release?

Posted: Thu Sep 24, 2020 7:35 am
by ssilk
@fragtzack I guess you should read the wiki
https://wiki.factorio.com/Fluid_system

Re: Fluid Optimization not fixed for release?

Posted: Thu Sep 24, 2020 3:36 pm
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.

Re: Fluid Optimization not fixed for release?

Posted: Thu Sep 24, 2020 5:25 pm
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:

Re: Fluid Optimization not fixed for release?

Posted: Thu Sep 24, 2020 5:50 pm
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.

Re: Fluid Optimization not fixed for release?

Posted: Thu Sep 24, 2020 9:50 pm
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.

Re: Fluid Optimization not fixed for release?

Posted: Fri Sep 25, 2020 1:52 am
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?

Re: Fluid Optimization not fixed for release?

Posted: Fri Sep 25, 2020 4:40 pm
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.

Re: Fluid Optimization not fixed for release?

Posted: Mon Nov 16, 2020 4:42 pm
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.

Re: Fluid Optimization not fixed for release?

Posted: Mon Nov 16, 2020 10:06 pm
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