Friday Facts #260 - New fluid system

Regular reports on Factorio development.
Vandroiy
Burner Inserter
Burner Inserter
Posts: 18
Joined: Fri Dec 15, 2017 9:54 pm
Contact:

Re: Friday Facts #260 - New fluid system

Post by Vandroiy »

Yes yes yes, more pipe performance!

As much as I like hydrodynamics simulators, Factorio gameplay just doesn't benefit from simulating every little piece of pipe, while the performance impact is huge.

The main reasons I stopped playing on our megabase are pipe performance and solar panels. We eventually started "hacking" to disable pipes around nuclear plants and simulate their power production, but it didn't work out too well for various reasons. But nobody wanted to place any more solar panels, so the game got stuck there.
Last edited by Vandroiy on Fri Sep 14, 2018 1:44 pm, edited 7 times in total.
Lemlin
Long Handed Inserter
Long Handed Inserter
Posts: 85
Joined: Thu Mar 17, 2016 10:25 am
Contact:

Re: Friday Facts #260 - New fluid system

Post by Lemlin »

Another point left to consider is how to solve accidentally connecting pipes and tainting your whole oil system with water.
So will the placement mechanic of pipes be improved now too since pipe designs is getting more important for performance?
I hate when they auto-connect to nearby pipes.
Same mechanic as we have for belts would be nice.
cbhj1
Fast Inserter
Fast Inserter
Posts: 169
Joined: Tue Apr 25, 2017 2:53 pm
Contact:

Re: Friday Facts #260 - New fluid system

Post by cbhj1 »

A couple thoughts come to mind regarding nuclear as mentioned.
Which pipe system was the bigger performance hog? (fluids vs heat)
If something like this gets implemented for heat pipes, will probably need to have reactors combine for calculations due to the grid layout.
User avatar
SuperSandro2000
Filter Inserter
Filter Inserter
Posts: 742
Joined: Sun Jan 12, 2014 3:54 am
Contact:

Re: Friday Facts #260 - New fluid system

Post by SuperSandro2000 »

The site looks good on mobile but the inserters next to the avatars are a bit off and the edit buttons on the right could be a bit more to the right.
And it shows not my total post count.
User avatar
BlueTemplar
Smart Inserter
Smart Inserter
Posts: 3103
Joined: Fri Jun 08, 2018 2:16 pm
Contact:

Re: Friday Facts #260 - New fluid system

Post by BlueTemplar »

So as not to fill the discussion too much with "new" forum details, maybe consider directing the flow of discussion about it in the already created topic :
viewtopic.php?f=55&t=62457
?
BobDiggity (mod-scenario-pack)
User avatar
Muppet9010
Filter Inserter
Filter Inserter
Posts: 279
Joined: Sat Dec 09, 2017 6:01 pm
Contact:

Re: Friday Facts #260 - New fluid system

Post by Muppet9010 »

Great to see what you tried and how you got to your current proposal. These details are good at giving an insight in to the development vision.
smartiel
Manual Inserter
Manual Inserter
Posts: 1
Joined: Fri Sep 14, 2018 1:43 pm
Contact:

Re: Friday Facts #260 - New fluid system

Post by smartiel »

Naive question: why not use a very simple chip firing game model?
Tankh
Long Handed Inserter
Long Handed Inserter
Posts: 61
Joined: Tue Aug 12, 2014 1:35 pm
Contact:

Re: Friday Facts #260 - New fluid system

Post by Tankh »

sooo on average, how many pipes do you need per section for every junction in a system for it to run than faster the old system?
orbit
Burner Inserter
Burner Inserter
Posts: 8
Joined: Fri Sep 14, 2018 1:45 pm
Contact:

Re: Friday Facts #260 - New fluid system

Post by orbit »

Hi,

I am thinking if you are doing that kind of rework will it be possible to monitor fluids via any signals?
To put some kind of monitor.

When I was reading last FFF I came to few ideas, maybe you will find them usefull.

- Valves - one way valves could simplify fluids flow as you could omit one direction of flow.
- settings on pumps - pumps could acts as valves although atm they "ppump" everything they have available. If they could as above one way valve - without actually pumping.
- Either Valves or Pumps could be point where you could get information about fluid flow (0-100)

And some questions:
How many unit of fluid can be in any part? 1 part of pipe, pump and what is the smalles unit of fluid?
ske
Filter Inserter
Filter Inserter
Posts: 412
Joined: Sat Oct 17, 2015 8:00 am
Contact:

Re: Friday Facts #260 - New fluid system

Post by ske »

Could we apply this system to the electric network when we employ the following changes?
  • The high voltage network (big masts) are sparsely connected. Like they are already now.
  • The new fluid system is applied to the high voltage network.
  • Transformers actually act as transformers between the high and low voltage networks.
  • The low voltage network does not rely on fluid dynamics. The consumers get a local "distance penalty" where the power supply will diminish with distance to the closest transformers/generators. Some efficient and relatively simple algorithm that doesn't need to do very time consuming calculations or strives to be a physically correct representation of an electric network but acts a bit similar to how you would expect an electrical network to behave.(*)
  • Some more tricks to make it look nice in practice without hurting performance too much.
I am still hoping for a more sane approach to power that would actually make it interesting and challenging to provide the power locally to big consumers. The current system is just too flat for my taste.

*: I like the pragmatic approach you have taken to get performance, pseudo-realism, fun and time constraints under one hood. And I'm feeling that you would be the right person to rethink the electrical network once the fluid system has hopefully proven to be what we hope it to be.
Last edited by ske on Fri Sep 14, 2018 2:05 pm, edited 1 time in total.
Matthias_Wlkp
Fast Inserter
Fast Inserter
Posts: 123
Joined: Mon Oct 10, 2016 11:28 pm
Contact:

Re: Friday Facts #260 - New fluid system

Post by Matthias_Wlkp »

Nice!

Do I understand correctly that it would be a stretch to expect 0.17 this year?
User avatar
ledow
Fast Inserter
Fast Inserter
Posts: 102
Joined: Sat Sep 24, 2016 3:00 pm
Contact:

Re: Friday Facts #260 - New fluid system

Post by ledow »

Electrical networks which can "burn out" their upstream thin cables if you over-use them seem sensible. The UPS cost will be enormous, though.

Fluid ideas sound good. A storage tank is surely just a pipe with a four-way junction, no? Directionality, etc. is just a pain to code but shouldn't be too much trouble, I think. The roundings and proper empty/full rather than psuedo-empty/full are nice but I don't see them as necessary.

Float/int probably isn't worth the effort.

But I think the instant-transfer thing is a bit cheaty - someone's gonna run a single huge run to oil ten miles away and it'll function likes it's local.

Maybe every (say) ten pipe squares is one "segment" to calculate on. Then you get flow, you're not calculating every square (and underground/right-angles are just straight-pipe from the point of view of the code), but you also get a flow / delay as it pushes through.

Pumps are presumably just modelled as a one-way spill-split?
ske
Filter Inserter
Filter Inserter
Posts: 412
Joined: Sat Oct 17, 2015 8:00 am
Contact:

Re: Friday Facts #260 - New fluid system

Post by ske »

Matthias_Wlkp wrote: Fri Sep 14, 2018 2:04 pm Nice!

Do I understand correctly that it would be a stretch to expect 0.17 this year?
As I understood they wanted 0.17 to be the last version before 1.0 is released. Therefore all the nice features that they really really want need to be crammed in before it's too late. That is combined with a few new people working on problems that were left aside in the past which increases the number of new features. The other goal is to release before christmas and I can't see that both could be achieved as they are cramming in a lot of awesome features of which some will have some unintended consequences that need some more work. I'm kind of hoping for 0.16½ in the meantime with a subset of new features and think that after 0.17 there will at least be 0.17½ and 0.17¾ before 1.0 will finally be announced.
User avatar
BlueTemplar
Smart Inserter
Smart Inserter
Posts: 3103
Joined: Fri Jun 08, 2018 2:16 pm
Contact:

Re: Friday Facts #260 - New fluid system

Post by BlueTemplar »

@ledow : Yeah, currently a storage tank is basically just a pipe size x250 (and 3x3 footprint with specific junctions).

Maybe the pipes will see their cost increased to counterbalance the "unlimited distance" buff?

@ske : interesting gameplay comes from having different systems... So having the electric system work exactly like the fluid system would make for less interesting gameplay? (and might be too complex for new players?)
Though, I hope modders will eventually have the opportunity to add new fluid mechanics to the game : your electric fluid system, the 0.16 fluid system once the 0.17 one will have replaced it, and so on !
BobDiggity (mod-scenario-pack)
ske
Filter Inserter
Filter Inserter
Posts: 412
Joined: Sat Oct 17, 2015 8:00 am
Contact:

Re: Friday Facts #260 - New fluid system

Post by ske »

ledow wrote: Fri Sep 14, 2018 2:11 pm Electrical networks which can "burn out" their upstream thin cables if you over-use them seem sensible. The UPS cost will be enormous, though.
This thinking is beautiful. Maybe the cables will just glow red/white hot instead of burning out. This would give the player a good indication of where the choke-point lies and why the consumers aren't getting enough.
User avatar
irbork
Fast Inserter
Fast Inserter
Posts: 246
Joined: Fri Jul 04, 2014 1:17 pm
Contact:

Re: Friday Facts #260 - New fluid system

Post by irbork »

I like the nuclear option best ;)
For all the disadvantages presented, none sticks.

"There would be no visualisation or indication of the flow of fluid." - There would not be a reason someone would need one.

"There would be unlimited throughput, one water pipe could supply all boiler and reactor setups." - What? One boiler can supply entire factory but still everybody build many more. So this one is true only for someone who does not care that all supplied entities are working at percentage of their capacity.

"It abstracts away part of the realism and charm of the game. (While this is subjective at best, it does mean something to us.)" - Exactly, subjective. It is really charming trying to minimize pipe amount to increase performance. BTW you cannot send all the electricity from nuclear power plant to customers by a single wire on a wooden pole.

And now that I managed to read today's post to the end I feel the new system seems like a fair compromise, as long as it will be possible to implement in 0.17 :twisted:
Last edited by irbork on Fri Sep 14, 2018 2:35 pm, edited 1 time in total.
thriem
Inserter
Inserter
Posts: 26
Joined: Fri Mar 30, 2018 1:05 pm
Contact:

Re: Friday Facts #260 - New fluid system

Post by thriem »

AT this image...Image
how does/will it split, like - from top to bottom
  1. 1/6
  2. 1/6
  3. 2/6
  4. 1/6
  5. 1/6
or 1/5 each?

I made some thoughts about the algorithm... I wish I had a demanding sample to see the complexity. I toy around and see for myself how hard this can be :D

Came up with different ideas...
  • Each drain/requester creates/searches a path to the source, may join existing paths - after each entity, go from source to requester(dead ends are requester too)
  • Each junction is a "storage tank", with an listener to the source (whenever its output changes) and release (up to) *maximum flow* split between all demands - the flow visualization apply to segments... each entity had a listener to the closest source or tank(including junctions)
However, I fear that I might fool myself there, but I toy with these ideas a little this Weekend :3
Image
User avatar
V453000
Factorio Staff
Factorio Staff
Posts: 274
Joined: Fri Sep 04, 2015 5:51 pm
Contact:

Re: Friday Facts #260 - New fluid system

Post by V453000 »

thriem wrote: Fri Sep 14, 2018 2:20 pm AT this image...Image
how does/will it split, like - from top to bottom
  1. 1/6
  2. 1/6
  3. 2/6
  4. 1/6
  5. 1/6
or 1/5 each?

I made some thoughts about the algorithm... I wish I had a demanding sample to see the complexity. I toy around and see for myself how hard this can be :D

Came up with different ideas...
  • Each drain/requester creates/searches a path to the source, may join existing paths - after each entity, go from source to requester(dead ends are requester too)
  • Each junction is a "storage tank", with an listener to the source (whenever its output changes) and release (up to) *maximum flow* split between all demands - the flow visualization apply to segments... each entity had a listener to the closest source or tank(including junctions)
However, I fear that I might fool myself there, but I toy with these ideas a little this Weekend :3
  1. 1/6
  2. 1/6
  3. 2/6
  4. 1/6
  5. 1/6
User avatar
Drury
Filter Inserter
Filter Inserter
Posts: 794
Joined: Tue Mar 25, 2014 8:01 pm
Contact:

Re: Friday Facts #260 - New fluid system

Post by Drury »

ske wrote: Fri Sep 14, 2018 2:01 pm Could we apply this system to the electric network when we employ the following changes?
  • The high voltage network (big masts) are sparsely connected. Like they are already now.
  • The new fluid system is applied to the high voltage network.
  • Transformers actually act as transformers between the high and low voltage networks.
  • The low voltage network does not rely on fluid dynamics. The consumers get a local "distance penalty" where the power supply will diminish with distance to the closest transformers/generators. Some efficient and relatively simple algorithm that doesn't need to do very time consuming calculations or strives to be a physically correct representation of an electric network but acts a bit similar to how you would expect an electrical network to behave.(*)
  • Some more tricks to make it look nice in practice without hurting performance too much.
I am still hoping for a more sane approach to power that would actually make it interesting and challenging to provide the power locally to big consumers. The current system is just too flat for my taste.

*: I like the pragmatic approach you have taken to get performance, pseudo-realism, fun and time constraints under one hood. And I'm feeling that you would be the right person to rethink the electrical network once the fluid system has hopefully proven to be what we hope it to be.
Here's a fun challenge for you:

No power network allowed. If two poles make a wire connection, you have to disconnect them with shift-click. The result is that instead of an electricity network, you now have a sprawling steam pipe network with steam engines and turbines all over your factory. It's much less masochistic than it sounds, trust me. It forces some creative designs and introduces fluid throughput woes as your factory grows (and you'll have to be running steam trains to outposts, yay). Also, steam panels become much less OP and kinda useful for circuit applications.
Post Reply

Return to “News”