FFF Topic Request

Post all other topics which do not belong to any other category.
Maddhawk
Fast Inserter
Fast Inserter
Posts: 125
Joined: Sat May 05, 2018 6:53 am
Contact:

FFF Topic Request

Post by Maddhawk »

TL;DR -
I would like to see an FFF on the topics of pumps, fluid systems, and forced solar from the devs at some future point of their choosing. I just want to understand what their thoughts are and what to expect.
Why?
I did a fast search on three keywords on the blog page listing all of the FFF blogs. I searched for 'Power', which gave two results, 'Fluids', which gives no results, and 'Pipe', which gave two results. 'Power' results returned were for the Power Switch and Nuclear Power's introduction. 'Pipe' results were for combinator pipeline and fast replacing pipes. There are no FFF's that discuss pipes, pumps, and fluid dynamics. There is a page on the wiki, https://wiki.factorio.com/Fluid_system, however that page is very sparse on information. The tooltips in game are also inadequate for helping to understand a fluid system being made.

My efforts to learn more were sparked by my efforts to build the following power setup.
https://imgur.com/Qk5bV1z - The Power Station
https://imgur.com/TsACTQ6 - The Water Supply

As things stand now, the system IS working. However, when you run the numbers, as I understand how things should work based upon in game tooltips, I get the following:
1) 34 Boilers per quadrant - total of 136 boilers (Supplying 264 steam engines, which is 8 shy of the maximum the boiler count can support. They just won't find the current configuration without breaking eye pleasing symmetry.)
2) 60 steam per second at max capacity per boiler using 60 water per second = 8,160 water per second consumed at max
3) 8,160 water divided by 1,200 water per pump = 6.8 pumps to supply full amount or 7 pumps in total

With that in mind I conclude that I should be able to fully saturate my supply lines with water using only 7 pumps given that:
1) 7 pumps capacity is > maximum possible demand
2) Time taken to saturate supply side should be equal to time to fill all pipes and boilers - current demand for steam production
2a) I have in total, 404 pipe and underground transitions on the supply side plus the 136 boilers. Pipes can store 100 fluid units per section and undergrounds 200 per pair. Boilers store 200 fluid units as well on supply side. This yields a total of 67,600 total reservoir volume available to store water.
2b) Assuming no demand it should take: 67,600 / (1,200 * 7) = 8.05 seconds to fill the entire supply side with water.
2C) Assuming full demand it should take: 67,600 / ((1,200 * 7) - (66 * 4 * 30)) = 140.83 seconds to fill the entire supply side with water.

What is seen in game? Removing all power demand the supply side of water fills up almost instantly. Replacing the removed power poles and restoring power demand causes the water supply, as shown in the piping tooltip to drop rapidly before coming back up to hover around 60% full. Steam side never drops below 99.9% This is running on 18 pumps. Not 7. This means that the fluid system in the game does not behave as expected given the information available in the tool tips. Because of this, a player is forced to go to the wiki for what information there is about the fluid system which still doesn't do much to adequately explain the fluid mechanics of the game.

As such I'd like to respectfully request an FFF covering the topics of the Fluid System, Pumps, Storange, Piping, and Conversion at some point in the future at a time of their choosing.

While talking about the above observations with people on Xterminator's Discord server, I was told that similar problems arose when people try to build large nuclear power facilities as well. When one guy finally managed to solve it, he found he suffered massive UPS problems although the power system worked flawlessly. This essentially means that, if you want to mega base, you are forced into going with solar power to the exclusion of all other power. If that is wrong, and it may be as the discord discussion was with only a limited number of people and none of us claim to be experts at the game, please help provide the correct knowledge so these systems can be better understood. If my understanding is correct and/or generally presented information is correct (but, my conclusions are wrong) then I'd like to respectfully request another FFF at a future point in time of the devs choosing discussing late game power options and if they intend to allow all options to remain viable even into end game scenarios and other related facets implied by such.

orzelek
Smart Inserter
Smart Inserter
Posts: 3922
Joined: Fri Apr 03, 2015 10:20 am
Contact:

Re: FFF Topic Request

Post by orzelek »

I do agree that FFF on fluids would be nice. Especially if the planned upgrade of fluid system would arrive for 0.17.

As for your setup - I'm not sure if wiki gives it as a hint but don't merge so many pumps into one pipe. Fluid system gets really tricky then - try to use separate water pipes per pump and you should be able to get close to theoretical 7 pumps for whole setup.

Bilka
Factorio Staff
Factorio Staff
Posts: 3305
Joined: Sat Aug 13, 2016 9:20 am
Contact:

Re: FFF Topic Request

Post by Bilka »

Take a look here for fluid system discussion: https://www.reddit.com/r/factorio/comme ... m_feedback

As for solar: This game is a sandbox game. Nobody is forcing you to do anything, including the devs.
I'm an admin over at https://wiki.factorio.com. Feel free to contact me if there's anything wrong (or right) with it.

Hedning1390
Fast Inserter
Fast Inserter
Posts: 242
Joined: Fri Jan 05, 2018 8:47 pm
Contact:

Re: FFF Topic Request

Post by Hedning1390 »

This is all the info you need which is not readily available in-game:
Image

Maddhawk
Fast Inserter
Fast Inserter
Posts: 125
Joined: Sat May 05, 2018 6:53 am
Contact:

Re: FFF Topic Request

Post by Maddhawk »

orzelek wrote:I do agree that FFF on fluids would be nice. Especially if the planned upgrade of fluid system would arrive for 0.17.

As for your setup - I'm not sure if wiki gives it as a hint but don't merge so many pumps into one pipe. Fluid system gets really tricky then - try to use separate water pipes per pump and you should be able to get close to theoretical 7 pumps for whole setup.
Merging pumps shouldn't be an issue at all. Based on what information is available in the game, if one is completely brand new and relies only upon the information presented to them inside the game itself, then the logical conclusion is to build 7 pumps, link them together, and then feed all 7 to your power station via a single pipeline. The fact that it would seem that separating the pumps and spreading out the inputs would be a better solution is just another symptom of the problem and that is the fluid system itself is currently in a very poor state.
Bilka wrote:Take a look here for fluid system discussion: https://www.reddit.com/r/factorio/comme ... m_feedback

As for solar: This game is a sandbox game. Nobody is forcing you to do anything, including the devs.
First off, speaking for myself, I have yet to reach a point in any game of actually building solar. The only solar I have had was what is given by default during the tutorial campaign. My comments regarding solar power is what has been relayed to me by others. Talking with people on Xterminator's Discord, I was told that there is too much of a performance penalty using nuclear and coal to power a mega base to leave them viable options. If the game itself struggles too much when running alternative power solutions to solar, then by default that means players are pigeonholed into using solar power at the mega base scale. That said, I don't know just how big the mega-bases are for those who told me that. I'm just the messenger in this case. For myself, I intend to try to see how far I can go on coal before it just becomes impossible.

Second, while your response to solar is a factually correct one, it is also a poor one. Problem with saying "you always have a choice", while true in a logical sense, isn't always true in an absolute sense. You have to remember that ultimately players are people. While people have great capacity for logical thought and well thought out reasoning, we are also loaded with emotions and illogical reasoning as well. If one play style overwhelmingly dominates others, even though there is still the choice, it will not feel that way since to do will feel like you nerfing your own experience. A classic example of that was dev's FFFs on Belts vs Bots 1 and 2. The bot lovers got overwhelmingly frustrated and angry and thing of it was, they were only responding to the dev's stated opinions and not their stated actions. They didn't even make it that far before their emotions broke down their capacity for logical and well reasoned thought. I hate to pick on Xterminator, but his video response to the first of the two FFFs is a classic example of such emotional break down as his anger clearly clouds his response.

When designing an activity with options, if balanced choice is one of the ultimate goals, then you must take player psychology into account. As such a more correct response would be to acknowledge that while a choice exists, if one or more of the options available are substantially suboptimal to another choice, then it must also be acknowledged either buffs or nerfs are in order. As has been noted time and again by devs of all kinds of games all over the world, no one likes nerfs. This means buffs. If the performance issues reported to me from others is true at the megabase level and they are indeed tied to the fluid system, then it occurs to me that overhauling the fluid system would fix not only the issue of the fluid system itself, but also the issue of viable options for late game power as well.

This once again leads me to the conclusion that I'd like to hear from the dev's in an FFF or two regarding these topics at a time of their convenience. Until then, we will all just have to make do the best we can with what is available.

Maddhawk
Fast Inserter
Fast Inserter
Posts: 125
Joined: Sat May 05, 2018 6:53 am
Contact:

Re: FFF Topic Request

Post by Maddhawk »

Hedning1390 wrote:This is all the info you need which is not readily available in-game:
Image
Umm, what are we looking at? What are axis labels?

Hedning1390
Fast Inserter
Fast Inserter
Posts: 242
Joined: Fri Jan 05, 2018 8:47 pm
Contact:

Re: FFF Topic Request

Post by Hedning1390 »

Maddhawk wrote:Umm, what are we looking at? What are axis labels?
Sorry, it is # of items as a function of fluid flow per tick.

dragontamer5788
Fast Inserter
Fast Inserter
Posts: 154
Joined: Fri Jul 15, 2016 1:44 am
Contact:

Re: FFF Topic Request

Post by dragontamer5788 »

Maddhawk wrote:
Hedning1390 wrote:This is all the info you need which is not readily available in-game:
Image
Umm, what are we looking at? What are axis labels?
You know, reading the original topic is probably all you need. XKnight did a series of tests and that graph is probably the most important summary.

viewtopic.php?t=19851

But the general topic as a whole is gold.

Maddhawk
Fast Inserter
Fast Inserter
Posts: 125
Joined: Sat May 05, 2018 6:53 am
Contact:

Re: FFF Topic Request

Post by Maddhawk »

dragontamer5788 wrote:
Maddhawk wrote:
Hedning1390 wrote:This is all the info you need which is not readily available in-game:
Umm, what are we looking at? What are axis labels?
You know, reading the original topic is probably all you need. XKnight did a series of tests and that graph is probably the most important summary.

viewtopic.php?t=19851

But the general topic as a whole is gold.
That whole thread only underlines how important a redesign of the entire fluid system is. Only makes me want to see an FFF on the topic of the entire nature of fluids (water, steam, and oil and oil products) at some point in time. It is just. . . bad right now. So far I am enjoying much of the game, but fluids are just... NO ><. They are not fun as how they work right now.

Hedning1390
Fast Inserter
Fast Inserter
Posts: 242
Joined: Fri Jan 05, 2018 8:47 pm
Contact:

Re: FFF Topic Request

Post by Hedning1390 »

Care to elaborate? What is bad about fluids? Doesn't it make sense that they try to approximate real fluid dynamics? They they have a feeling of actually flowing. Of course it is going to be more messy than eg the constant speed of belts, but with the chart I quoted there is no problem. (sorry for not quoting the original topic btw, I only had the picture and didn't realize it came from these forums)

Maddhawk
Fast Inserter
Fast Inserter
Posts: 125
Joined: Sat May 05, 2018 6:53 am
Contact:

Re: FFF Topic Request

Post by Maddhawk »

Hedning1390 wrote:Care to elaborate? What is bad about fluids? Doesn't it make sense that they try to approximate real fluid dynamics? They they have a feeling of actually flowing. Of course it is going to be more messy than eg the constant speed of belts, but with the chart I quoted there is no problem. (sorry for not quoting the original topic btw, I only had the picture and didn't realize it came from these forums)
To some degree it does make sense to make the effort. In practice, playing the game, given the lack of information available IN GAME, it does not. I confess it didn't even occur to me to do a forums search and see if someone had actually tested the fluid flow system as it currently exists in game and done a write up on it. Furthermore, the original thread linked was from 2016 and the last post was in Nov 2017 and the thread is all the way on page 15 of the gamehelp forums. You and I both didn't know it existed until another gentleman linked it for us.

That said, the current system isn't intuitive. Rather it is the opposite. The fluid flow linked thread does shed some light on the system and it does make more sense now, however the devs are trying to replicate fluid dynamics and friction forces through brute force. Setting up things like Boilers with a natural pressure of -100? That isn't natural. The system just feels wrong. The following is a chapter from some text book I haven't been able to determine which as of yet, but covers the basics of fluid flow, including the math quite nicely. The chapter is about 30 pages in length. However it is hosted by the University of Oslo in Norway, so I will trust the source. It is in English.

https://www.uio.no/studier/emner/matnat ... _intro.pdf

One of the key concepts can be found on pages 9 and 10 of that PDF. Essentially pressure loss of a pipe system, equating to the pumping power required to move a fluid, is a function of something called the "Reynolds Number" and as stated on page 4 it is a dimensionless number that is a ratio of the Inertial Forces / Viscosity Forces.

Viscosity

The math presented is on the calculus level for anyone who is weak in math such as myself. (I have taken several courses in calculus, however it continues to be a ball buster for me no matter how hard I work at it. :( ) But a lot of it is also algebraic.

To summarize up, I feel that the increase in resistance to fluid flow per unit of pipe rises too high in the game, particularly with water. I also feel their efforts to simulate fluids flowing from a source to a drain is too ambitious, not sure if that is the right way to describe it but all I can think of at the moment. The way fluids work between storage tanks and pipes feels wrong as well and the linked thread on game fluid dynamics only servers to illistrate that. If I have a tank with 25,000 units of water and hook up a pipe, you will notice the pipes connect at the bottom of the tank. As such, if the simulation really was like real life, the pipe should fill to 100 instantly with no sloshing and the resulting unit share should be 24,900 units in tank and 100 units in the pipe. That would be accurate for hooking up a short pipe to the bottom of a tank.

I know they have a guy working on a fluid system rewrite, and I observed on the linked reddit discussion (I don't get why people use reddit when there are perfectly good forums available. I just don't get it.) that he mentioned that some elements of what he is doing will be worthy of a future FFF.

For myself, a system that makes sense would be to link each pipe into a single entity with those structures that input one fluid and output a different one and electric land pumps acting as barriers between different piping entities. In a way it would be similar to what they did with solar as described in here: https://www.factorio.com/blog/post/fff-148

Basically, I put down one pipe segment. That pipe has a capacity of 100 units. A new pipe entity is created. I put down a second pipe segment connecting the two. I still have only 1 pipe entity but now it has a capacity of 200 units. I repeat this 3 more times. Now I have a single pipe entity with 500 units. I put down an offshore pump. My pipe entity now has a capacity of 600 units and is now filled with water at a rate of 1200 units per second until full.

Right now, the game calculates pipe changes in segments of 10 if that graphic is to be understood correctly rather than doing each single pipe on its own as it used to do. At least that is how it would seem based on the above linked FFF.

What I would like to see is as follows:
  • Each pipe linked directly to another to be treated as one large pipe entity.
  • Storage tanks to be treated as pipes with very large capacity.
  • Offshore pumps to be treated as another pipe segment part of the large pipe entity that is a source for water input.
  • Boilers, Refineries, Chem Plants, Assemblers, and electric pumps to be part of the input fluid system on their input side and their output side to be part of the output fluid system. i.e. - A boiler has capacity for 200 units each water and steam. When setup, the Boiler would be adding to two different fluid systems at the same time. The input side would be connected to the water fluid system and adding 200 capacity. The output side would be connected to the steam fluid system and adding 200 units capacity.
  • Assemblers and other inputs would consume discrete units of fluid as they produce outputs. i.e. A steam engine uses one unit of steam to add energy to the electrical system. The Boiler then converts one unit of water to replace the consumed unit of steam. The offshore pump then replaces the consumed unit of water.
  • Electric pumps essentially act as controllable valves allowing isolation of one section of a common fluid system from another.
  • Total pipe distance should NOT matter at all, only total capacity of the merged fluid entity.
Now, as it turns out, some of the bullets above are what the devs are considering with future fluid system changes or they have considered them in the past. viewtopic.php?p=270273#p270273 - by Rseding91

To remove the auto merger of pipes that Rseding91 mentioned, I'd give pipes a direction like with belts, on the straight ways. This wouldn't be the direction fluids have to move but simply be alignment arrows. Then you have turns and T-junctions behave like normal with auto merge, however two rows of parallel pipes wouldn't merge. This would allow for building of adjacent pipelines without accidental merging of different fluid systems. That or introduce a pipe corner sections, T-junction, and cross-junction.

Hedning1390
Fast Inserter
Fast Inserter
Posts: 242
Joined: Fri Jan 05, 2018 8:47 pm
Contact:

Re: FFF Topic Request

Post by Hedning1390 »

I haven't read the thread the picture originated from, but it really isn't necessay for any level of factorio gameplay. The picture is enough. You say boilers are coded to have negative pressure? I didn't know that, but the fact that most consumers "suck" in fluid from pipes are very apparent. In my mind I modeled it as an in-built pump in each building. As far as realism goes negative pressure is very possible. It all depends on your reference point. For example in a real life industry atmospheric pressure at the factory floor may be considered 0 pressure. Any slight vacuum may therefore have a minus sign in front of it.

As far as pipe throughput goes pressure is a function based on fill level (apparently with some minor tweaks). Irl flow rate in a full pipe can be increased by increasing the pressure further with a pump. This is not possible in factorio and thus may be why you feel like resistance is too high. I don't agree that resistance is too high though. For a game which finishes with the launch of the rocket you never have to account for pipe throughput. You can draw pipes as far as you need as long as you at least use undergrounds and no refinery setup will ever be throughput limited.

If all pipes are one huge entity then there would never be any throughput limit, right? Fluids would stop flowing, right? Making pipes completely without resistance is also not very realistic. In your case it even sounds as if it would be inverse resistance: The longer the pipe the higher the capacity?

Maddhawk
Fast Inserter
Fast Inserter
Posts: 125
Joined: Sat May 05, 2018 6:53 am
Contact:

Re: FFF Topic Request

Post by Maddhawk »

Essentially yes. That is also what the devs have stated they are considering, both in the post by Rseding91 and on the Reddit page by Dominik. The point you just made was brought in that fluids thread linked above and as one person stated, just how much realism do you truly want? Ultimately, this is a video game. Personally, I'm quite happy sacrificing realism of fluid dynamics within piping systems for a game that just makes sense. Then the challenge becomes one of balancing supply to production and one of design, rather than having that AND having to fight a counter intuitive piping system. This also has the advantage of making piping systems more UPS friendly even when scaled to hyper larger factories.

Hedning1390
Fast Inserter
Fast Inserter
Posts: 242
Joined: Fri Jan 05, 2018 8:47 pm
Contact:

Re: FFF Topic Request

Post by Hedning1390 »

Well, the thing is that trains, belts and even bots provide a throughput challenge. With this pipes would be the odd one out unless you count power flow in power cables.

I like the fluid feel of fluids, but maybe I would also be fine with this simplified way. Would have to play it first. I don't like your use of "sense" though as I consider the current one to make sense. I thank the creator for that graph, but it is something that everyone could create themselves by experimenting in-game. Nothing about how it currently works is counter-intuitive.

adjl
Inserter
Inserter
Posts: 26
Joined: Mon May 07, 2018 6:42 pm
Contact:

Re: FFF Topic Request

Post by adjl »

Hedning1390 wrote:Well, the thing is that trains, belts and even bots provide a throughput challenge. With this pipes would be the odd one out unless you count power flow in power cables.

I like the fluid feel of fluids, but maybe I would also be fine with this simplified way. Would have to play it first. I don't like your use of "sense" though as I consider the current one to make sense. I thank the creator for that graph, but it is something that everyone could create themselves by experimenting in-game. Nothing about how it currently works is counter-intuitive.
It's not counter-intuitive, but the complexity of the math involved makes it too obscure to really be useful without consulting a graph like that. With a belt, you know that blue belts move 40 items/s, that an AM3 making green circuits will produce 2.5 per second, and an AM3 making red circuits needs 0.42 green circuits per second. That makes it very easy to figure out that one blue belt will accept 16 assemblers worth of green circuits and feed 95 red circuit assemblers. With pipes, you know that an offshore pump produces 1200 water per second, and that a heat exchanger uses 103 water per second, so in theory two pumps could feed 23 exchangers, but in practice that's going to depend on how far you try to move the water and whether or not you connect the pipes, and the only way to determine whether or not a given setup will work is either by trial and error or by consulting someone else's research. It's an intuitive concept, but it's not intuitive to apply it.

I'd be fine with a system of having throughput drop off by X units/s for every Y pipes, with that clearly indicated in tooltips along with a maximum flow indicator on placed pipes (possibly even different tiers of pipe for different flow needs), but as it stands now, my typical approach to working with fluids is to place the pipes and hope for the best, knowing that I'll have to do some pretty fundamental redesigns if it doesn't work (especially where water's availability is limited by where I'm building). I'd rather something that's easy to develop a practical understanding of than something that closely simulates real fluid physics. The challenge should lie in making a design that works within the throughput limits, not figuring out what those limits are in the first place, especially where it's a system that looks so simple.

Maddhawk
Fast Inserter
Fast Inserter
Posts: 125
Joined: Sat May 05, 2018 6:53 am
Contact:

Re: FFF Topic Request

Post by Maddhawk »

I personally found it counter-intuitive when I tried to build steam power setups that used large arrays of piping. With small systems that are relatively straight forward, it works as expected. What is particularly counter-intuitive is the fact that input sides of consuming structures are "negative pressure". This means that they have a lower 0 point than pipes, tanks, and pumps. Knowing this now, I can sorta understand why this was done. It makes it so fluid consumers always consume fluid in a system and will ultimately drain a fluid system to 0 if the input side is removed.

When I accidentally contaminated my pipeline to my flamer turrets with light oil instead of the heavy oil I wanted to use, I was able to take this knowledge and use a pump to clean them out without tearing down and rebuilding my entire pipeline.

I could see a max throughput limit being placed on piping. I'd use 12,000 units/second since that is the max pumping power of a regular land pump. That said, such a system wouldn't fix the performance issue I hear people suffering with very large steam power setups. The idea that a system of pipes, tanks, and connected structures be treated as a single entity wouldn't be able to use a throughput limitation. However, it would greatly improve the performance of mega bases that want to use very large steam setups to power their bases over using solar.

adjl
Inserter
Inserter
Posts: 26
Joined: Mon May 07, 2018 6:42 pm
Contact:

Re: FFF Topic Request

Post by adjl »

Maddhawk wrote:The idea that a system of pipes, tanks, and connected structures be treated as a single entity wouldn't be able to use a throughput limitation. However, it would greatly improve the performance of mega bases that want to use very large steam setups to power their bases over using solar.
I don't see why it couldn't use a throughput limitation. Have a single entity for the whole system, then adjust the throughput for that entity based on how far the fluid has to travel (presumably some variant of Flow=Maxflow-distance*piperesistance). Each consumer can then calculate how much they're receiving based on their distance from the source and what's left after more proximal consumers take their share, and hold that value until the input flow is updated. It wouldn't quite be the same as having the entire system be a single entity, but it would mean you'd only have to do one round of calculations to figure out what consumers are getting, which I imagine would be a sizable performance increase over calculating each individual pipe's flow level every tick.

Post Reply

Return to “General discussion”