Additions to the fluid system

Post your ideas and suggestions how to improve the game.

Moderator: ickputzdirwech

Natha
Fast Inserter
Fast Inserter
Posts: 178
Joined: Sun Mar 15, 2015 1:48 pm
Contact:

Additions to the fluid system

Post by Natha »

Hello there,

i have some ideas (or wishes ;D) how to improve the fluid system.

1. Separated properties for liquids and gases
- You define one fluid prototype, this contains boiling and freeze (minimum) temperature.
- If you hover a pipe, there can be a property that shows "liquid" or "gaseous".

Not so important stuff: :D
- Depending on the temperature of fluid in the pipe, the pressure and speed are values for gases (low) or fluids (higher).
- A property "viscosity" would be great, that also affects speed and pressure.
- Each pipe decreases the temperature by a certain value (e.g. 0.2 degree).

2. More Temperature working
- It should be possible to define a (minimum and/or maximum) temperature in a recipe, e.g. you need 60-80 degree hot water to craft the recipe.
- If the fluid has not the needed temperature, the process takes more time (like efficiency of steam engines now).
- The same with result fluids of recipes.

If no temperature is given the ambient temperature is the result temperature.

- A cooling machine wouldnt be bad.
- If pipe A holds cold water and pipe B holds hot water, the average of both temperature is formed (like now with the fluid mixing if you mix two fluids).

- boilers heat water infinitely (or let's say max. to 500 degree :D), but the higher the temperature of fluid the more fuel the boiler needs.


Hope that ideas will be implemented to the game :D

LG
Last edited by Natha on Sat Apr 25, 2015 1:22 pm, edited 10 times in total.

quinor
Filter Inserter
Filter Inserter
Posts: 404
Joined: Thu Mar 07, 2013 3:07 pm
Contact:

Re: Additions to the fluid system

Post by quinor »

It's not the first time I see idea about enchancing fluid system and introducing gases. It's much more likely to be implemented (I'm big fan of this idea) if you (re)design and describe the fluid/gas mechanics - how should temperature work, how it should spread and dissolve into enviroment, etc. For now it is very simple and will need big rework to allow what you ask for.

Natha
Fast Inserter
Fast Inserter
Posts: 178
Joined: Sun Mar 15, 2015 1:48 pm
Contact:

Re: Additions to the fluid system

Post by Natha »

psorek wrote:It's not the first time I see idea about enchancing fluid system and introducing gases. It's much more likely to be implemented (I'm big fan of this idea) if you (re)design and describe the fluid/gas mechanics - how should temperature work, how it should spread and dissolve into enviroment, etc. For now it is very simple and will need big rework to allow what you ask for.
The thing with temperature isnt very difficult :D

Water from pump has ambient temperature (or a little bit below).
Fluids/gases can be heated/cooled in boilers/cooling machines.

Chemical recipes (reactions) should define a specific temperature for each liquid/gaseous input/output.

Maybe the temperature of fluids in pipes can slowly adjusted with the ambient temperature.

User avatar
Klonan
Factorio Staff
Factorio Staff
Posts: 5150
Joined: Sun Jan 11, 2015 2:09 pm
Contact:

Re: Additions to the fluid system

Post by Klonan »

Yes very nice you have listed many things that are like the real world,

But what would any of this add to the gameplay?

Its not much of an 'improvement' to list how things can be different :P

Natha
Fast Inserter
Fast Inserter
Posts: 178
Joined: Sun Mar 15, 2015 1:48 pm
Contact:

Re: Additions to the fluid system

Post by Natha »

Hmm...its mostly for chemical processes...In my current mod i need gases for the chemical reactions and liquefied gases to store the gases efficient in barrels/tanks. The "improvement" would take me some work and its realistic, because the most chemical processes need high temperature/produce high temperature.

User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12888
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Additions to the fluid system

Post by ssilk »

Well, it will not be. Or better: I really doubt it...
Fluids have this dependency between
- heat,
- pressure and
- volume.

Which is too much afford to calculate in a game.

See this simulations to understand the problem:

https://phet.colorado.edu/de/simulation/gas-properties
http://www.phy.ntnu.edu.tw/ntnujava/index.php?topic=25

and many more, if you search for thermodynamic and gas....
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

Natha
Fast Inserter
Fast Inserter
Posts: 178
Joined: Sun Mar 15, 2015 1:48 pm
Contact:

Re: Additions to the fluid system

Post by Natha »

For my usage, point 2 and 1b (without adjust pressure and speed) would be sufficient. I think that isnt too difficult to implement :P And maybe they can implement a entry in pipe gui (if you hover the gui) whether the fluid is liquid or gaseous (these calculations shouldnt be too difficult too).

User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12888
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Additions to the fluid system

Post by ssilk »

Ok, tell me please how that should work in detail?
- What should happen, if you put a liquid into a row of boilers and some liquid reach the temperature you want within a tick (=change the state), and some not?
- How do you want to reach an exact temperature? Which kind of regulation do you need/want?
- I didn't understand your correlation between pressure and speed for gases: Why are pressure and speed for gases low and for fluids high?
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

Natha
Fast Inserter
Fast Inserter
Posts: 178
Joined: Sun Mar 15, 2015 1:48 pm
Contact:

Re: Additions to the fluid system

Post by Natha »

ssilk wrote:Ok, tell me please how that should work in detail?
- What should happen, if you put a liquid into a row of boilers and some liquid reach the temperature you want within a tick (=change the state), and some not?
- How do you want to reach an exact temperature? Which kind of regulation do you need/want?
- I didn't understand your correlation between pressure and speed for gases: Why are pressure and speed for gases low and for fluids high?
1. you should know how a boiler heats a certain fluid (know heat capacity and so on), so you can calculate how many boilers/coolers and distances between those you need to reach a certain temperature.
2. -,,-
3. gases need more pressure than liquids to flow in the same speed (because the particles are far away from each other).

User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12888
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Additions to the fluid system

Post by ssilk »

Natha wrote:1. you should know how a boiler heats a certain fluid (know heat capacity and so on), so you can calculate how many boilers/coolers and distances between those you need to reach a certain temperature.
Ok, that I meant with "detail". This is not detailed. :)

Let's say you have a pipe with boilers:

Code: Select all

 input >>>============ O O O O O O O O O O O O O O ===================>>>>  output
 Water, 15 degrees             Boilers                                      Steam, 120 degrees         
Assumed, the boilers have enough fuel and the flow is constant, what comes out at the other end? In my picture: Steam with 120 degrees.

Now I reduce the flow to 50%, or even lower: What comes out then?
Now I increase the flow to 200% or much more: What comes out then?
How can I control the boilers, that they heat "just enough"?
How would this simple system behave, if this system changes from 20 UOL throghput suddenly to only 1 UOL? How can I prevent it from overheating?
If I put the hot steam into a storage tank and the temperature sinks, so that that the output is just water with 80 degrees, how does Steam and Water that mix together in the tank?
Wouldn't that block the pipes: An chemical plant needs steam with 120 degrees. Now there comes water with only 80 degrees. The fluid won't be taken and blocks now the input of the chem. plant?

I don't say it isn't a good idea, I just want to know, what you think how this can work. :)
3. gases need more pressure than liquids to flow in the same speed (because the particles are far away from each other).
Factorio is a game and doesn't need to be physically correct, but this is just the opposite of what is physically correct. Or better: It depends on many more factors and a limited model like yours will confuse, if it behaves differently then awaited. What is awaited behavior? Good question.
:)
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

User avatar
bobingabout
Smart Inserter
Smart Inserter
Posts: 7352
Joined: Fri May 09, 2014 1:01 pm
Contact:

Re: Additions to the fluid system

Post by bobingabout »

I think the best method for "Water goes in, steam goes out" for boilers, is exactly that, Water goes in, Steam comes out, and nothing else. so one boiler can only produce so much steam, even if it has more water. this steam then powers the generator turbines, rather than the temperature of the fluid going into it.

The problem with this is that boilers then require an "input" and an "Output" that explicitly has Water in and Steam out, or auto-recipe kind of like how the smelting furnaces work now. This is less of a problem Logically (how the game does it in code) and more of a problem Practically (using it in game) Because that means the current daisy chain method we currently use on boilers will no longer work.
To get around this you could consider the whole block of boilers as the machine, so you can daisy chain boilers, and have water in, and steam out. But then still there's a further issue:
>>>====oooo====oooo====>>>
boilers with a few pipes in the middle. the pipes in the middle could be pipe to ground for a reason, maybe there's things in the way. would the game be able to detech those middle pipes as still being part of the boiler chain?
Creator of Bob's mods. Expanding your gameplay since version 0.9.8.
I also have a Patreon.

User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12888
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Additions to the fluid system

Post by ssilk »

I think not.
Think of something like this:

Code: Select all

    O O O O O O O O ======= >
====O O O O O O O O
    O O O O O O O O ======= >
Not very useful, but possible and valid design.
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

Natha
Fast Inserter
Fast Inserter
Posts: 178
Joined: Sun Mar 15, 2015 1:48 pm
Contact:

Re: Additions to the fluid system

Post by Natha »

Now I reduce the flow to 50%, or even lower: What comes out then?
The water is heated faster (more per boiler) => 150+ degree
Now I increase the flow to 200% or much more: What comes out then?
The water is heated slower (less per boiler) => 100 degree

The flow can be controlled with pumps.
How can I control the boilers, that they heat "just enough"?
Maybe "smart" boilers? :D
How would this simple system behave, if this system changes from 20 UOL throghput suddenly to only 1 UOL? How can I prevent it from overheating?
The amount of UOL doesnt rly matter, only the flow speed (ok, this is one point which is not very realistic :P)
If I put the hot steam into a storage tank and the temperature sinks, so that that the output is just water with 80 degrees, how does Steam and Water that mix together in the tank?
if you neglect that tanks are isolated and the contained fluid shouldnt change its temperature, ALL fluid in tank is cooled, not only parts of the fluid.
Wouldn't that block the pipes: An chemical plant needs steam with 120 degrees. Now there comes water with only 80 degrees. The fluid won't be taken and blocks now the input of the chem. plant?
[/quote]
You have to control you pipes, and if necessary you must lead away the excess fluid.

I notice that my idea isnt so simple as i actually thought (even seemingly simple things like min/max temperature for recipe inputs/outputs) :P

User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12888
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Additions to the fluid system

Post by ssilk »

If liquids would be simple, I could predict the weather for the next 3 years. :D
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

Natha
Fast Inserter
Fast Inserter
Posts: 178
Joined: Sun Mar 15, 2015 1:48 pm
Contact:

Re: Additions to the fluid system

Post by Natha »

bobingabout wrote:I think the best method for "Water goes in, steam goes out" for boilers, is exactly that, Water goes in, Steam comes out, and nothing else. so one boiler can only produce so much steam, even if it has more water. this steam then powers the generator turbines, rather than the temperature of the fluid going into it.

The problem with this is that boilers then require an "input" and an "Output" that explicitly has Water in and Steam out, or auto-recipe kind of like how the smelting furnaces work now. This is less of a problem Logically (how the game does it in code) and more of a problem Practically (using it in game) Because that means the current daisy chain method we currently use on boilers will no longer work.
To get around this you could consider the whole block of boilers as the machine, so you can daisy chain boilers, and have water in, and steam out. But then still there's a further issue:
>>>====oooo====oooo====>>>
boilers with a few pipes in the middle. the pipes in the middle could be pipe to ground for a reason, maybe there's things in the way. would the game be able to detech those middle pipes as still being part of the boiler chain?
For those problems we should prefer my suggestion 1b (one fluid with minimum (freeze) and boil temperature). The boilers should work like now, incoming fluid is heated, depending on coal in the boiler, and the heated fluid is the output. So if one boiler in the middle of the chain heats water to 100 degree, it is still water. The next boilers heat th water to 100+ degree and so on (infinitely high temperatures :D (or, let's say, 500 degree)). But steam engines will only work efficient with water over 100 degree. If the water is below 100 degree, it would work, but not efficient (like now).

Maybe it can be implemented, that recipes, which need fluid with a certain temperature, only work efficient if the fluid has the certain temperature, otherwise e.g. the crafting time will be decreased.

starholme
Fast Inserter
Fast Inserter
Posts: 201
Joined: Tue Oct 21, 2014 7:25 pm
Contact:

Re: Additions to the fluid system

Post by starholme »

I think the boilers could be made rotatable, and have one axis for water, one axis for steam.

So water flows left and right through a row of boilers, and steam flows up and down. Or rotate the boilers for the opposite.

So you feed water into the left most boiler. It applies heat. If the temperature is less than boiling, no steam is created. If the temperature is boiling, steam is created, and flows up/down.

Code: Select all

    ^ To steam engines
    |
    |||||
====BBBBB==== water keeps flowing, but would be at 100(if the boilers are adding enough energy)
^offshore pump here
So the water stays flowing left to right, with some turned into steam and sent out the top pipes. I think the 'steam engines' could be built this way as well. Steam in one axis, condensate in the other.

Natha
Fast Inserter
Fast Inserter
Posts: 178
Joined: Sun Mar 15, 2015 1:48 pm
Contact:

Re: Additions to the fluid system

Post by Natha »

starholme wrote:I think the boilers could be made rotatable, and have one axis for water, one axis for steam.

So water flows left and right through a row of boilers, and steam flows up and down. Or rotate the boilers for the opposite.

So you feed water into the left most boiler. It applies heat. If the temperature is less than boiling, no steam is created. If the temperature is boiling, steam is created, and flows up/down.

Code: Select all

    ^ To steam engines
    |
    |||||
====BBBBB==== water keeps flowing, but would be at 100(if the boilers are adding enough energy)
^offshore pump here
So the water stays flowing left to right, with some turned into steam and sent out the top pipes. I think the 'steam engines' could be built this way as well. Steam in one axis, condensate in the other.
Thats also a good idea. But I think, the idea like the current way (water in, warmer water out; steam engines only work efficient if water is between 100 and ... 150 degree) is the best (easier to set up) ;)
Last edited by Natha on Sun Apr 26, 2015 9:30 am, edited 1 time in total.

User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12888
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Additions to the fluid system

Post by ssilk »

starholme wrote:

Code: Select all

    ^ To steam engines
    |
    |||||
====BBBBB==== water keeps flowing, but would be at 100(if the boilers are adding enough energy)
^offshore pump here
So the water stays flowing left to right, with some turned into steam and sent out the top pipes. I think the 'steam engines' could be built this way as well. Steam in one axis, condensate in the other.
I like this idea! :)

There is just one problem: Is this idea useful? What needs the player to do? How much is the afford? Is this worth playing? What game-value does it bring?

My thoughts are:
- That would be a big afford to heat steam from 100 to 150 degrees, compared to now, where I need to heat it just to 100 degrees without state-change.
- Even if it would make sense: What did the player has from it? More energy for less coal? Only that? Why should players use that?
- I think we are speaking here not longer from steam engines, more about steam turbines. 600 degrees steam.

That would indeed bring something new into the game, a much bigger energy per UOL then now.

Summary: I see the game-value of having different fluid states not in more power, other generators or so, I see, that we can store more energy per space. That will be very useful together with some kind of regulation (circuit network), to have really big power, if you really need it.

. o O ( .... solar eclipses, they love those "long nights", you know ... :) )
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12888
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Additions to the fluid system

Post by ssilk »

Ah... I remembered some more or less interesting discussion in the Steam-Mod:
https://forums.factorio.com/forum/vie ... 234#p60178
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

Natha
Fast Inserter
Fast Inserter
Posts: 178
Joined: Sun Mar 15, 2015 1:48 pm
Contact:

Re: Additions to the fluid system

Post by Natha »

starholme wrote:I think the boilers could be made rotatable, and have one axis for water, one axis for steam.

So water flows left and right through a row of boilers, and steam flows up and down. Or rotate the boilers for the opposite.

So you feed water into the left most boiler. It applies heat. If the temperature is less than boiling, no steam is created. If the temperature is boiling, steam is created, and flows up/down.

Code: Select all

    ^ To steam engines
    |
    |||||
====BBBBB==== water keeps flowing, but would be at 100(if the boilers are adding enough energy)
^offshore pump here
So the water stays flowing left to right, with some turned into steam and sent out the top pipes. I think the 'steam engines' could be built this way as well. Steam in one axis, condensate in the other.
I've been thinking a bit more about it...and you idea is now very good for me :D above all it's realistic. The current way, only to heat the water, is not the most realistic (in input you have water, at the output steam. How to ensure that the steam flows in the right direction?).

Post Reply

Return to “Ideas and Suggestions”