Limit offshore pump output depending on lake size

Post your ideas and suggestions how to improve the game.

Moderator: ickputzdirwech

FuryoftheStars
Smart Inserter
Smart Inserter
Posts: 2572
Joined: Tue Apr 25, 2017 2:01 pm
Contact:

Re: Limit offshore pump output depending on lake size

Post by FuryoftheStars »

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).
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

vangrunz
Long Handed Inserter
Long Handed Inserter
Posts: 84
Joined: Tue Dec 26, 2017 1:26 pm
Contact:

Re: Limit offshore pump output depending on lake size

Post by vangrunz »

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)
bobucles wrote:
Mon May 07, 2018 11:08 pm
I 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.
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.

FuryoftheStars
Smart Inserter
Smart Inserter
Posts: 2572
Joined: Tue Apr 25, 2017 2:01 pm
Contact:

Re: Limit offshore pump output depending on lake size

Post by FuryoftheStars »

vangrunz wrote:
Mon Mar 06, 2023 5:04 pm
It never rains in Factorio
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

vangrunz
Long Handed Inserter
Long Handed Inserter
Posts: 84
Joined: Tue Dec 26, 2017 1:26 pm
Contact:

Re: Limit offshore pump output depending on lake size

Post by vangrunz »

FuryoftheStars wrote:
Mon Mar 06, 2023 6:01 pm
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.
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 :lol: ). And, the one or the other player could be lead into temptation to collect the rainwater with new buidlings or systems.

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:
vangrunz wrote:
Mon Mar 06, 2023 5:04 pm
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.
I've overlooked that there're already water barrels in the game. Please don't mind.

FuryoftheStars
Smart Inserter
Smart Inserter
Posts: 2572
Joined: Tue Apr 25, 2017 2:01 pm
Contact:

Re: Limit offshore pump output depending on lake size

Post by FuryoftheStars »

vangrunz wrote:
Tue Mar 07, 2023 2:06 pm
So we have water as a renewable resource
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

vangrunz
Long Handed Inserter
Long Handed Inserter
Posts: 84
Joined: Tue Dec 26, 2017 1:26 pm
Contact:

Re: Limit offshore pump output depending on lake size

Post by vangrunz »

FuryoftheStars wrote:
Tue Mar 07, 2023 2:37 pm
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.
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.

FuryoftheStars
Smart Inserter
Smart Inserter
Posts: 2572
Joined: Tue Apr 25, 2017 2:01 pm
Contact:

Re: Limit offshore pump output depending on lake size

Post by FuryoftheStars »

vangrunz wrote:
Tue Mar 07, 2023 3:24 pm
FuryoftheStars wrote:
Tue Mar 07, 2023 2:37 pm
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.
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.
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.)

And yes, the game does have a height map system. It uses this for determining where to put water and cliffs, and mods like Alien Biomes (I believe) further uses this for determining where to put the snowy regions (EDIT: apologies, I think it's actually the temperature it uses for that).
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

vangrunz
Long Handed Inserter
Long Handed Inserter
Posts: 84
Joined: Tue Dec 26, 2017 1:26 pm
Contact:

Re: Limit offshore pump output depending on lake size

Post by vangrunz »

FuryoftheStars wrote:
Tue Mar 07, 2023 3:59 pm
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).
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.

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.
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.
Is this a mod? I neither know about wells nor of such mechanism in vanilla.
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.)
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.

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.
And yes, the game does have a height map system. It uses this for determining where to put water and cliffs.
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.

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.

FuryoftheStars
Smart Inserter
Smart Inserter
Posts: 2572
Joined: Tue Apr 25, 2017 2:01 pm
Contact:

Re: Limit offshore pump output depending on lake size

Post by FuryoftheStars »

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:
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.
On the other, you say that the game isn't realistic so we can't compare it to realism:
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:
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.
To which you've already said doesn't make sense:
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):
  1. 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.
  2. 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.
  3. 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.
I don't see much UPS concern there.
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...
vangrunz wrote:
Wed Mar 08, 2023 8:55 am
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.
Is this a mod? I neither know about wells nor of such mechanism in vanilla.
IRL
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

vangrunz
Long Handed Inserter
Long Handed Inserter
Posts: 84
Joined: Tue Dec 26, 2017 1:26 pm
Contact:

Re: Limit offshore pump output depending on lake size

Post by vangrunz »

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.
FuryoftheStars wrote:
Thu Mar 09, 2023 5:08 am
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):
  1. 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.
  2. 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.
  3. 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.
I don't see much UPS concern there.
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.
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.
IRL
Maybe adding groundwater veins to map view with yield? ;)

Post Reply

Return to “Ideas and Suggestions”