Jump to content

Confused Fluids?


Recommended Posts

Whenever I have a pipe with water or gas that forks, often what will happen is the gas or liquid will get "confused" an sort of ossilate between going back and forth before it goes one way, slowing flow massively.  I'm not really sure why it's doing this, except that the algorhythm for where it goes is getting confused.  There seems to be enough fluid and preassure, but this means I can't run two seperate gas generators unless they all feed from the same line.  Has anyone else run into this problem?

Link to comment
Share on other sites

25 minutes ago, ProfMembrane said:

Whenever I have a pipe with water or gas that forks, often what will happen is the gas or liquid will get "confused" an sort of ossilate between going back and forth before it goes one way, slowing flow massively.  I'm not really sure why it's doing this, except that the algorhythm for where it goes is getting confused.  There seems to be enough fluid and preassure, but this means I can't run two seperate gas generators unless they all feed from the same line.  Has anyone else run into this problem?

Use some bridges, what is happening is you have too many inputs/output on a pipe so it doesn't know which way to go. 

Link to comment
Share on other sites

A screenshot would be helpful.

That said, it is most certainly an issue of inputs to outputs.  Both gases and liquids flow from green to white.  If there are combinations of green and white mixed up across a line of piping, you will get bizarre behavior.  It usually is very helpful to minimize the numbers of inputs and outputs on a particular line of plumbing.

Link to comment
Share on other sites

What is happening is the pipes being connected improperly by the game logic. If you have a pipe with inputs on one side and outputs on the other the flow is normal. But if you mix it up and have lets say an input in the middle and outputs at both sides then connect another input next to the first the packets between the inputs will get "confused" and it won`t matter if the second input is actually pumping anything in.

There are two ways to avoid this. One is making sure all inputs are connected to the pipe before any output.
Second is using a bridge to make sure the packets go one way.

Also this might help:

 

Link to comment
Share on other sites

There is no such thing as pressure in ONI pipe systems.  Discard your intuition of how pipes work in the real world.  Elements in pipes are modeled as discrete packets.  Their behavior is determined not by pressure differentials, but by pathfinding from green ports to white ports.

Pipe debugging method A: Draw paths from each green port, through a given packet, to every white port. These are the possible directions a packet could take. If multiple directions are possible, packets will choose each direction in turn. You never want a packet to be able to choose every direction from a given position.

Pipe debugging method B: Draw a line across a pipe, conceptually dividing the system into two sections. If either section contains only green ports, that pipe is fine.  If either section contains only white ports, that pipe is fine. If both sections have one or more green ports and one or more white ports, the system won't work well.  Repeat this evaluation for each pipe in the system.

With either method, only trace along pipes; don't trace across bridges, valves, or buildings. Bridges, valves, and buildings divide pipes into independent systems for the purposes of packet pathfinding (unless the input and output ports are connected by pipes).

In the below system, the blue line traces paths from the left green port to all white ports; the green line traces paths from the right green port to all white ports. Packets in that middle section with the red box can choose either direction and will choose both in turn, leading to the behavior you describe.

image.png.b2502bad265fe4a98b0c994bcfd5f01c.png

If you were to swap the green and white ports here such that the green ports are at the ends and the white nearer the middle, the system will exhibit the same sort of behavior in the middle segment.  But it's less likely that this will cause problems, because packets will choose to enter white ports before continuing along the pipe.  The middle segment will only receive packets if one of the white ports is blocked.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

Please be aware that the content of this thread may be outdated and no longer applicable.

×
  • Create New...