Page 1 of 1

Liquid transport and logistics

Posted: Tue Dec 24, 2013 12:38 am
by Hazard
There are a few things that the current liquids system could do with.
  • Amount of liquid in pipe
  • Flowrate through pipe (current visual system for both is not sufficient, the liquid supply at the end of a long pipe is not equal to liquid supply at the beginning of it)
  • Pump station to maintain pressure/flowrate in pipes
  • Liquid storage tank
I'm pretty sure atleast a few of these will be part of the 9.0 Oil update, but it needs highlighting, especially the limits of the current flow system.

Re: Liquid transport and logistics

Posted: Thu Dec 26, 2013 7:57 pm
by slpwnd
We are actually thinking about these kind of things at the moment. The storage tanks and pump stations are a must. The flow system might be revisited, however we will most probably use a simplified model without the pressure. The amount of liquid and movement energy of the liquid are taken into the account already.

Re: Liquid transport and logistic

Posted: Thu Dec 26, 2013 11:00 pm
by ssilk
Model without pressure: the problem is, that the three components temperature, volume and pressure are coupled.
If you increase the temperature of a liquid, the volume and pressure increases too (not really true, but I won't explain it in detail now).
Possible Solution: Make the physics easier!
What if the pipe system includes elements, where only one or max. two of the three parameters (temp, volume, pressure) can change per element?

Example:
Water in lake has 0 bar at 15 degrees.
The pump increase only the pressure. Let's say 10 bar.
The burners now increase the temp and pressure. Every burner is its own subsystem! This is not like in reality, but otherwise it's really hard to compute that.
At the end we have a liquid (!) at 800 degrees and 20 bars. Just as example.
After that an element, which expands the liquid to gas. Volume rises, temp sinks down to 500. Pressure keeps constant.
And the steam engines uses the gas. Pressure and temp sinks, volume keeps.
Then the condenser, which decrease volume and temp rises. And at the end the coolers. Then a pump, which brings it back into the cycle.

Well, currently not a really good idea, because of some logic gaps, but maybe helps to find a solution. Because one thing is sure: if you try to compute this three components in a pipe constantly, you end up in big integral calculations, which eat up the CPU time. Like so keeps realistic and the used energy/the energy-model is like in reality.

Re: Liquid transport and logistics

Posted: Fri Dec 27, 2013 12:44 am
by Hazard
Pretty much the most important thing for Factorio would be ways to determine the amount of material flowing through the pipe system at any one time. Pressure and temperature can generally be either discarded or abstracted away. That's really my major issue with the current system really, there is no real way to actually see how much water the pipes actually handle at any moment of time, unlike the belts which handle easily visible discrete units.

Upgrades to the pipes, similar to upgrades to the belts, could be fluffed as being able to handle higher pressures and speeds of the liquids moving through them.

Re: Liquid transport and logistics

Posted: Fri Dec 27, 2013 5:43 am
by Garm
Well pressure can replace the volume in terms of amount calculations if the entire network is calculated as a whole.

Then each input will act as pressure generator, and each output will act as pressure sink, both being limited by the pipe input.

While it is not always precise (chances are it will be oblivious to mean crossection of the middle pipe interval, and only caring about ins and outs), but it will allow the game to generate certain quirks like hydrostatic paradox.

Not only that pressure level can be easily translated into how full the pipe network is.

Re: Liquid transport and logistics

Posted: Fri Dec 27, 2013 10:14 am
by ssilk
Hazard wrote:Pretty much the most important thing for Factorio would be ways to determine the amount of material flowing through the pipe system at any one time. Pressure and temperature can generally be either discarded or abstracted away. That's really my major issue with the current system really, there is no real way to actually see how much water the pipes actually handle at any moment of time, unlike the belts which handle easily visible discrete units.
Hm. What would it bring to see discrete units of water flowing through the pipes, instead of seeing how fast the water flows, as currently? I don't see there a big difference. And for the system the included energy is much more important, than the volume or any other single unit.

And because of pressure: I mean the whole circles need regulation, because you can't regulate everything by hand, otherwise it can explode.

Re: Liquid transport and logistics

Posted: Fri Dec 27, 2013 12:53 pm
by Hazard
ssilk wrote:Hm. What would it bring to see discrete units of water flowing through the pipes, instead of seeing how fast the water flows, as currently? I don't see there a big difference. And for the system the included energy is much more important, than the volume or any other single unit.

And because of pressure: I mean the whole circles need regulation, because you can't regulate everything by hand, otherwise it can explode.
It doesn't need to be immediately visible, but it does need to be clear how much the pipe system can handle and how much it is handling at any moment of time. Even a right click menu that provides a pipe's 'liters per second' graph would be a god send in that regard, and would allow us to more easily gauge if we need more capacity or if the pipeline needs a pumping station or an extra line to increase capacity.

Re: Liquid transport and logistics

Posted: Fri Dec 27, 2013 1:30 pm
by ssilk
Ok, thats a reason, but would that work for every case?

Think of a pipe network over an area of 200x200 tiles. Many pumps, which input something, many storages, heaters, coolers... and so on. Hundreds of elements, different materials etc. Different networks pulled together, e.g. the heat of one process is used for another. How would it make sense to see this information in detail?

Think to the transport belts: You see when it is full, when it is empty, when it is stocking and when there is capacity free. Thats enough for me to use it. :)

Thats also visible for the pipes:

- Temp with color: Works fine.
- Volume: Well, currently we see only the direction and frequency, but - thats the right point you made - you don't see, if it is full.
But thats one of the things factorio doesn't offer easy, because thats possible yet. How do I see it with belts? Well, easy: No item is left at the end, when the belt doesn't have enough capacity. The same is it with pipes! I recommend to place two single pipes at the end as indicator, that the pipes in front of it are at the end of capacity. If the window is empty, then it is not enough.
- Pressure (which is currently not simulated but thats why we discuss): Well, thats difficult and I understand the devs saying, that the pipe system should be usable without. I would make it with the dashing of the flowing fluid. The more dense this dashes are, the more pressure. And the limit is, when there is only one pixel left. Maybe the pipe is also trembling to indicate, that the pressure is high, or other indications. More and the pipe will burst. :) We need to have safety valves. :)

But pressure is currently not implemented and is questionable, if anytime. So I don't see there currently any need. The temp can be seen quite well. The flow direction is also visible and if it is high or low and to see, if the volume is enough, place two pipes at the end. And anything else is currently not known. We don't know what v0.9 will bring and until then I don't see the need to intervene, because we are in an agile process. :)

Re: Liquid transport and logistics

Posted: Fri Dec 27, 2013 1:44 pm
by slpwnd
ssilk wrote:But pressure is currently not implemented and is questionable, if anytime. So I don't see there currently any need. The temp can be seen quite well. The flow direction is also visible and if it is high or low and to see, if the volume is enough, place two pipes at the end. And anything else is currently not known. We don't know what v0.9 will bring and until then I don't see the need to intervene, because we are in an agile process.
Well put. Basically we plan to put together the simplest system possible (that on itself will be a lot of work) and then play with it and see if it works or not and then based on that make changes. That is why we don't intend to have the pressure in the beginning and just go with the amount differences. But maybe it turns out it is too simplistic (especially if we will have gases one day).

The need for better visualization is a good point. I am definitely thinking in showing what kind of liquid is in the pipe in the alt mode. The amount / temperature could be shown in the alt mode as well via some bars.

And now a linguistic question (especially for native speakers). Which one do you think is a better name for the liquid storage entity (analogy of the chest): silo or storage tank? The problem with just "tank" is that there will be a collision with the tank as a combat vehicle in the future.

Re: Liquid transport and logistics

Posted: Fri Dec 27, 2013 2:35 pm
by Hazard
ssilk wrote:*snip*
You missed my main point stated in the OP. Flow through of units is not equal in pipes of different lengths, while with belts it is equal and the main capacity difference lies in belt speed. Some way to spot, identify and correct the resulting supply issues that come with long pipelines is needed. I want to be able to build a humongous powerstation without having to hug the coastline of a large lake, which the current system requires because otherwise you can't provide enough water.

Well, you could run more pipes, but even that will eventually not be enough to provide all steam engines with enough high temperature water as distance from the water source increases.
slpwnd wrote:And now a linguistic question (especially for native speakers). Which one do you think is a better name for the liquid storage entity (analogy of the chest): silo or storage tank? The problem with just "tank" is that there will be a collision with the tank as a combat vehicle in the future.
Storage tank, silo is for storage of bulk solids. And would be an interesting choice for handling ores and plates actually, although ill suited for anything that can't handle being smashed together.

Re: Liquid transport and logistics

Posted: Fri Dec 27, 2013 8:29 pm
by ssilk
Hazard wrote:You missed my main point stated in the OP. Flow through of units is not equal in pipes of different lengths
? Evey pipe is equal length (1 tile).
while with belts it is equal and the main capacity difference lies in belt speed. Some way to spot, identify and correct the resulting supply issues that come with long pipelines is needed. I want to be able to build a humongous powerstation without having to hug the coastline of a large lake, which the current system requires because otherwise you can't provide enough water.
The liquid system is not thought only for powerstations. We will have oil industry and other stuff. We (the forum members) don't know. But the system should be usable for any kind of liquids andany style of playing it. That's the problem. :)

Re: Liquid transport and logistics

Posted: Fri Dec 27, 2013 9:02 pm
by Hazard
ssilk wrote:? Evey pipe is equal length (1 tile).
That's a pipe section. Just for an experiment create two powerplants going full out, each with 18 steam engines supplied by 2 pumps through a pipeline one section wide. The difference would be the distance between the powerplants and the pumps, one with as short a distance as possible, and one with 60 tiles or more. I atleast had a major difference in water supply.
The liquid system is not thought only for powerstations. We will have oil industry and other stuff. We (the forum members) don't know. But the system should be usable for any kind of liquids andany style of playing it. That's the problem. :)
And again, I'm concentrating on the issue of system capacity and how to monitor and increase it. The powerstation issue is merely the first time I noticed the difference between long and short pipes, capacity is unlikely to differ between water and oil unless they have different viscosities in game.

Re: Liquid transport and logistics

Posted: Fri Dec 27, 2013 10:32 pm
by ssilk
Cool. That explains my different results, when setting up a power plant. :)