Limit offshore pump output depending on lake size
Moderator: ickputzdirwech
-
- Smart Inserter
- Posts: 2768
- Joined: Tue Apr 25, 2017 2:01 pm
- Contact:
Re: Limit offshore pump output depending on lake size
I like this idea, to include amendments of tracking nearby pumps and even having the different water tile types have differing impacts on the pump flow rates. Though really, no matter what you do with water in this regard, it will have a UPS impact.
A couple people brought up pumps that have been landfilled over (did a Factorio update remove this at some point, or am I thinking of mods?). Pumps could be made to have a minimum flow rate, and possibly even have it so it'll depend on proximity to other water sources. Even with real world wells, unless you happened to find an underground river, they will have limited flow rates after their initial storage is used up (their refill rate).
A couple people brought up pumps that have been landfilled over (did a Factorio update remove this at some point, or am I thinking of mods?). Pumps could be made to have a minimum flow rate, and possibly even have it so it'll depend on proximity to other water sources. Even with real world wells, unless you happened to find an underground river, they will have limited flow rates after their initial storage is used up (their refill rate).
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
Re: Limit offshore pump output depending on lake size
To continue this train of thought, mining drills would need more production time the less resources are available, assuming it has to search longer for the remaining ones.
Why to limit water flow speed or water at all?
It never rains in Factorio, so the water must come to an end, sooner or later. Underground water will become weaker until it's completey run dry. Lakes, small & big, would just vanish & leave a cliff site. Additionally, there must be a yield calculation on water pools, visible in map view.
So, either it's unlimited (assuming it rains, at least far away) or it's limited. I think calculating the water amount depending of depth & amount of water tiles should not be a big deal. So a pump can only drain the amount of water that's available. Restricting pumping speed is not a good idea IMHO due too much calculations with a little or no use. It would also create the necessity to adapt the water pump system permanently to keep up the amount the production lines need. For this, we also would need to add water barrels so every fluid can be handled either by a train's fluid wagon or barrels loaded into cargo wagons.
Additionaly, a well is missing that you can build to get a spot of water anywhere on the land what is normally possible. So much high-tech in this game but not a simple well, uh... (I know there're mods for)
Why to limit water flow speed or water at all?
It never rains in Factorio, so the water must come to an end, sooner or later. Underground water will become weaker until it's completey run dry. Lakes, small & big, would just vanish & leave a cliff site. Additionally, there must be a yield calculation on water pools, visible in map view.
So, either it's unlimited (assuming it rains, at least far away) or it's limited. I think calculating the water amount depending of depth & amount of water tiles should not be a big deal. So a pump can only drain the amount of water that's available. Restricting pumping speed is not a good idea IMHO due too much calculations with a little or no use. It would also create the necessity to adapt the water pump system permanently to keep up the amount the production lines need. For this, we also would need to add water barrels so every fluid can be handled either by a train's fluid wagon or barrels loaded into cargo wagons.
Additionaly, a well is missing that you can build to get a spot of water anywhere on the land what is normally possible. So much high-tech in this game but not a simple well, uh... (I know there're mods for)
That's partly true if you refer to Steam Engines/Steam Turbines. Using solar power together with accumulators you need only once water for production but not for maintenance.bobucles wrote: Mon May 07, 2018 11:08 pmI don't think a finite "water reserve" will work for Factorio because electricity needs to consume water all the time. But a finite water "flow rate" has some potential.
-
- Smart Inserter
- Posts: 2768
- Joined: Tue Apr 25, 2017 2:01 pm
- Contact:
Re: Limit offshore pump output depending on lake size
I think this can only be considered as true in the sense that there's nothing to affect your factory/engineer. The fact that there's vegetation so far from water sources (and reliably so) is indication to me that the devs consider the planet as having rain, they just didn't bother putting in the weather effects.
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
Re: Limit offshore pump output depending on lake size
The clouds (also part in the Graphic Settings) support this hypothesis. Emulating rain from the bird's-eye view would be interesting (and how it would flood large paved areas without drainages, washing away buildings ). And, the one or the other player could be lead into temptation to collect the rainwater with new buidlings or systems.FuryoftheStars wrote: Mon Mar 06, 2023 6:01 pmThe fact that there's vegetation so far from water sources (and reliably so) is indication to me that the devs consider the planet as having rain, they just didn't bother putting in the weather effects.
So we have water as a renewable resource:
Rain -> Underground Water -> Lakes
And even if you have only a small spot of (deep) water where Offshore Pumps can be placed in, the Ground Water could support them with uninterrupted flow (theoretically, under optimal environmental conditions).
I need to correct myself in another point:
I've overlooked that there're already water barrels in the game. Please don't mind.vangrunz wrote: Mon Mar 06, 2023 5:04 pmFor this, we also would need to add water barrels so every fluid can be handled either by a train's fluid wagon or barrels loaded into cargo wagons.
-
- Smart Inserter
- Posts: 2768
- Joined: Tue Apr 25, 2017 2:01 pm
- Contact:
Re: Limit offshore pump output depending on lake size
Agreed. Though the renew rate is likely not able to support full pump rate, which is (part) of the reason why I'm supporting this idea of limiting pump flow rate based on lake size.
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
Re: Limit offshore pump output depending on lake size
I don't get the point why the "renew rate is likely not able to support full pump rate".FuryoftheStars wrote: Tue Mar 07, 2023 2:37 pmThough the renew rate is likely not able to support full pump rate, which is (part) of the reason why I'm supporting this idea of limiting pump flow rate based on lake size.
What you'd like to have is a yield system for lakes, similar to oil patches.
That doesn't make sense if you take ground water into consideration. Also, it doesn't make sense different lakes have different yields if the ground water is valid for all lakes (aside from cliffs, we do not have hills or mountains which could affect ground water regeneration rate). So, the ground water regeneration rate is valid for all lakes, leaving a yield system for lakes out of consideration.
-
- Smart Inserter
- Posts: 2768
- Joined: Tue Apr 25, 2017 2:01 pm
- Contact:
Re: Limit offshore pump output depending on lake size
For a small patch, or even fully landfilled (making it a well, essentially), it would not realistically be able to support a pump's full rate (indefinitely). I have a well in my back yard. It has several hundreds of gallons of storage, but it only refills (refresh rate (EDIT: sorry, I should probably be calling it the recovery rate)) at a couple of gallons per minute. For a well (and lake), this is a factor of exposed surface area to the land surrounding it and the amount of water in the ground. Ground water can only "seep" in just so fast. A lake (or pond) has the additional factor of top level surface area (to rain) and runoff. (EDIT: And technically stream/river flow rates in and out, but this may be more complex than what we can get out of this game.)vangrunz wrote: Tue Mar 07, 2023 3:24 pmI don't get the point why the "renew rate is likely not able to support full pump rate".FuryoftheStars wrote: Tue Mar 07, 2023 2:37 pmThough the renew rate is likely not able to support full pump rate, which is (part) of the reason why I'm supporting this idea of limiting pump flow rate based on lake size.
What you'd like to have is a yield system for lakes, similar to oil patches.
That doesn't make sense if you take ground water into consideration. Also, it doesn't make sense different lakes have different yields if the ground water is valid for all lakes (aside from cliffs, we do not have hills or mountains which could affect ground water regeneration rate). So, the ground water regeneration rate is valid for all lakes, leaving a yield system for lakes out of consideration.
And yes, the game does have a height map system. It uses this for determining where to put water and cliffs,
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
Re: Limit offshore pump output depending on lake size
Why not? The character can carry tons of stuff without breaking the spinal column, or build a nuclear reactor by hand in 79 minutes which are mutliple factors bigger than your character and you can carry a lot of them -- so much to the topic of realism -- it's just funny if some aspects only are discussed but not the whole thing. Is this a game or a simulation? Which part of it is what? Where do you draw the line? Do you like to have fun or most of "realism"? Which points should be simplified for balancing purposes, as well as gameplay/fun and performance? This reminds me of Minecraft discussions.FuryoftheStars wrote: Tue Mar 07, 2023 3:59 pmFor a small patch, or even fully landfilled (making it a well, essentially), it would not realistically be able to support a pump's full rate (indefinitely).
You could catch a groundwater vein -- or not (could be calculated by a random generator or via map generator seed). Depending on the extraterrestrial planet, there could be groundwater veins that supports dozens of Offshore pumps in a pond -- or not even one, running your lake/pond dry for good, leaving a piece of land with cliffs. Of course, a well wouldn't help in that area, too.
Is this a mod? I neither know about wells nor of such mechanism in vanilla.I have a well in my back yard. It has several hundreds of gallons of storage, but it only refills (refresh rate (EDIT: sorry, I should probably be calling it the recovery rate)) at a couple of gallons per minute.
Except for the point that the surrounding land is IMHO more a factor for the speed groundwater can "seep" in there would be an extra calculation necessary for each water spot, no matter what size it is. This includes the total water capacity and in relation to the "seep" time when it will be completely filled again, depending on the pumps. This would also leave a possibility that very large lakes can handle dozens of pumps. And, of course, with each tile of Landfill (or Waterfill, if you have installed such a mod) this needs to be calculated new...this could result in a massive UPS impact each time you place one.For a well (and lake), this is a factor of exposed surface area to the land surrounding it and the amount of water in the ground. Ground water can only "seep" in just so fast. A lake (or pond) has the additional factor of top level surface area (to rain) and runoff. (EDIT: And technically stream/river flow rates in and out, but this may be more complex than what we can get out of this game.)
Additionally, you have to calculate an amount of water for every tile which reacts different while it is "raining". While water tiles can store up to their capacity and will not overflow unless there're artificial tiles on its shore (see topic "renaturation" in real life, especially for rivers), it will seep on land tiles, but accumulate on stone/concrete paths, resulting in washing away your buildings. How much water capacity can seep in which time into what kind of land (desert etc.)? Should there be different strengths of the rain, and yes, in which range, maybe depending on the biome? A pond/lake can only replenish by rain if its shore is completely artificial, resulting in a lower rate by groundwater refilling the more Stone/Concrete has been used on the shore.
I'm sorry, but that's not really a height system. That's a simple distinction while map generation where what should be. If you blow up a cliff then both sides that existed before converge into one plain. This is, just like the good old map editor for Command&Conquer:Red Alert, a 2D system, simulating 3D via graphics.And yes, the game does have a height map system. It uses this for determining where to put water and cliffs.
I think a yield system like I've suggested before, analogue to oil fields but with a higher regeneration rate, would be the best compromise.
-
- Smart Inserter
- Posts: 2768
- Joined: Tue Apr 25, 2017 2:01 pm
- Contact:
Re: Limit offshore pump output depending on lake size
You're talking circles. On the one hand, you say that realistically the recovery rate for any body of water should be fast enough that it doesn't make sense to limit the flow rate on the offshore-pumps if the body of water is too small:
Then you say this:
As to performance, this here is how calculations for this idea happens in my head (maybe it's not accurate or I'm missing something, but this is what I'm seeing):
We could take it a step further and say that in calculation 1 we also calculate a volume of water that the offshore-pumps are allowed to draw from before the limited flow rate kicks in. Now we're doing a per tick calculation that's merely a sum of all water taken by offshore-pumps this tick, minus the max allowed flow rate. Then its just a matter of seeing if we're subtracting (or adding) this to the volume of water available (with max & min allowed amounts). Not that much to that, either.
Oh, and...
On the other, you say that the game isn't realistic so we can't compare it to realism:vangrunz wrote: Tue Mar 07, 2023 3:24 pm I don't get the point why the "renew rate is likely not able to support full pump rate".
What you'd like to have is a yield system for lakes, similar to oil patches.
That doesn't make sense if you take ground water into consideration. Also, it doesn't make sense different lakes have different yields if the ground water is valid for all lakes (aside from cliffs, we do not have hills or mountains which could affect ground water regeneration rate). So, the ground water regeneration rate is valid for all lakes, leaving a yield system for lakes out of consideration.
vangrunz wrote: Wed Mar 08, 2023 8:55 am Why not? The character can carry tons of stuff without breaking the spinal column, or build a nuclear reactor by hand in 79 minutes which are mutliple factors bigger than your character and you can carry a lot of them -- so much to the topic of realism -- it's just funny if some aspects only are discussed but not the whole thing. Is this a game or a simulation? Which part of it is what? Where do you draw the line? Do you like to have fun or most of "realism"? Which points should be simplified for balancing purposes, as well as gameplay/fun and performance? This reminds me of Minecraft discussions.
added points
Then you say this:
To which you've already said doesn't make sense:vangrunz wrote: Wed Mar 08, 2023 8:55 am I think a yield system like I've suggested before, analogue to oil fields but with a higher regeneration rate, would be the best compromise.
vangrunz wrote: Tue Mar 07, 2023 3:24 pm I don't get the point why the "renew rate is likely not able to support full pump rate".
What you'd like to have is a yield system for lakes, similar to oil patches.
That doesn't make sense if you take ground water into consideration. Also, it doesn't make sense different lakes have different yields if the ground water is valid for all lakes (aside from cliffs, we do not have hills or mountains which could affect ground water regeneration rate). So, the ground water regeneration rate is valid for all lakes, leaving a yield system for lakes out of consideration.
As to performance, this here is how calculations for this idea happens in my head (maybe it's not accurate or I'm missing something, but this is what I'm seeing):
- The game generates a body of water. A one time event calculation is performed to calculate the max flow rate this body of water can support and if it's connected to another, combining them.
- A player adds an offshore-pump to the body of water. A one time event calculates if this plus any other existing offshore-pumps will "overdraw" what the body of water can support and reduces the flow rate of the offshore-pumps if it does. Optionally, in this same event, it can check to see if the newly placed offshore-pump is closer than X tiles to another and reduce the flow rate of both further.
- Something happens that affects the size of the body of water (more water is generated by the map generator, some water is landfilled in, some land is removed with a waterfill mod). A one time event recalculates 1 and then recalculates 2.
We could take it a step further and say that in calculation 1 we also calculate a volume of water that the offshore-pumps are allowed to draw from before the limited flow rate kicks in. Now we're doing a per tick calculation that's merely a sum of all water taken by offshore-pumps this tick, minus the max allowed flow rate. Then its just a matter of seeing if we're subtracting (or adding) this to the volume of water available (with max & min allowed amounts). Not that much to that, either.
Oh, and...
IRLvangrunz wrote: Wed Mar 08, 2023 8:55 amIs this a mod? I neither know about wells nor of such mechanism in vanilla.FuryoftheStars wrote: Tue Mar 07, 2023 3:59 pm I have a well in my back yard. It has several hundreds of gallons of storage, but it only refills (refresh rate (EDIT: sorry, I should probably be calling it the recovery rate)) at a couple of gallons per minute.
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
Re: Limit offshore pump output depending on lake size
What I've written were my thoughts regarding this topic, taking some points into consideration, like groundwater veins, rain, flow rate -- all in common versa a simplified system. I'm sorry if this lead to confusion.
This is simply a yield system, analogue to oil patches, adding the point that you can install more than one pump into one spot which affect each other. That's an aspect one could like or not. It would be interesting to know if there're any plans from the devs to add something like this. For me, I'm happy with the current system.FuryoftheStars wrote: Thu Mar 09, 2023 5:08 amAs to performance, this here is how calculations for this idea happens in my head (maybe it's not accurate or I'm missing something, but this is what I'm seeing):I don't see much UPS concern there.
- The game generates a body of water. A one time event calculation is performed to calculate the max flow rate this body of water can support and if it's connected to another, combining them.
- A player adds an offshore-pump to the body of water. A one time event calculates if this plus any other existing offshore-pumps will "overdraw" what the body of water can support and reduces the flow rate of the offshore-pumps if it does. Optionally, in this same event, it can check to see if the newly placed offshore-pump is closer than X tiles to another and reduce the flow rate of both further.
- Something happens that affects the size of the body of water (more water is generated by the map generator, some water is landfilled in, some land is removed with a waterfill mod). A one time event recalculates 1 and then recalculates 2.
We could take it a step further and say that in calculation 1 we also calculate a volume of water that the offshore-pumps are allowed to draw from before the limited flow rate kicks in. Now we're doing a per tick calculation that's merely a sum of all water taken by offshore-pumps this tick, minus the max allowed flow rate. Then its just a matter of seeing if we're subtracting (or adding) this to the volume of water available (with max & min allowed amounts). Not that much to that, either.
Maybe adding groundwater veins to map view with yield?IRL