Page 1 of 1

Building Backpressure with Combinators

Posted: Wed Sep 07, 2016 5:52 am
by dragontamer5788
Since I posted the last update on Reddit, the official Factorio Forums get word of today's update. Please enjoy!

http://factorioguide.nfshost.com/

This guide is a work in progress! I only have 3 sections written up (backpressure introduction, red and green wires, and remote backpressure), that covers only red/green wires and constant combinators. Still, I have an ambitious outline and video-editing + text style that I hope you all can enjoy.

I'll be adding more sections as time goes on. My original outline was discussed on reddit, although I'm going to cut it short due to length. This project is taking far more video editing and writing than I expected.

The next section planned is "Pulse Mode Backpressure", which will introduce arithmetic and decider combinators.

Re: Building Backpressure with Combinators

Posted: Wed Sep 07, 2016 7:56 am
by grouchysmurf
Fantastic, thanks for this, finally something written not for a post-graduate in combinator logic.

Example with ammo counting I find amazingly useful in my factories in which I solely defend with gun turrets.

Re: Building Backpressure with Combinators

Posted: Wed Sep 07, 2016 8:32 am
by brunzenstein
Thank you indeed for your dedication dragontamer5788 - that was long awaited / needed!

Re: Building Backpressure with Combinators

Posted: Wed Sep 07, 2016 9:26 am
by Deadly-Bagel
On the "Remote Backpressure with Negative Numbers" page you say you add -15 iron to a box containing 100 iron equalling -85 iron (which it doesn't), but the GIF shows -100 iron constant combinator adding to a box containing 15 iron which is I think what you meant to write.

Also while I vaguely know the definition of an actuator and a read entity, it may be worth clarifying exactly what these terms mean given the level of detail of the guide.

Otherwise looks pretty good ^^ Looking forward to the rest of it. Out of curiosity how do you create your GIFs?

Re: Building Backpressure with Combinators

Posted: Wed Sep 07, 2016 1:40 pm
by dragontamer5788
grouchysmurf wrote:Example with ammo counting I find amazingly useful in my factories in which I solely defend with gun turrets.
The main thing is that my next section will describe a much easier wiring system that uses far fewer clicks and fewer resouces / fewer wires, but you need to learn pulse-mode first before you can understand it. IMO, the methodology I filmed is "easy to understand" but not the best way of doing things.

Re: Building Backpressure with Combinators

Posted: Wed Sep 07, 2016 1:57 pm
by brunzenstein
dragontamer5788 wrote:
grouchysmurf wrote:Example with ammo counting I find amazingly useful in my factories in which I solely defend with gun turrets.
The main thing is that my next section will describe a much easier wiring system that uses far fewer clicks and fewer resouces / fewer wires, but you need to learn pulse-mode first before you can understand it. IMO, the methodology I filmed is "easy to understand" but not the best way of doing things.
Any timeframe for the next update?
Will we find a reminder here?

Re: Building Backpressure with Combinators

Posted: Wed Sep 07, 2016 2:19 pm
by dragontamer5788
brunzenstein wrote:
dragontamer5788 wrote:
grouchysmurf wrote:Example with ammo counting I find amazingly useful in my factories in which I solely defend with gun turrets.
The main thing is that my next section will describe a much easier wiring system that uses far fewer clicks and fewer resouces / fewer wires, but you need to learn pulse-mode first before you can understand it. IMO, the methodology I filmed is "easy to understand" but not the best way of doing things.
Any timeframe for the next update?
Will we find a reminder here?
I'll bump this topic on the next update.

No timeframe. Its taking a week or so to write out a section and film it.
Deadly-Bagel wrote:Otherwise looks pretty good ^^ Looking forward to the rest of it. Out of curiosity how do you create your GIFs?
Fraps -> Sony Vegas 10 -> UTVideo (lossless render) -> FFMpeg WebM/VP9 (for Chrome / Firefox) or FFMpeg MP4 / H264 (for Internet Explorer / Safari).

Gotta get those high-quality videos under 3MB. Most of the videos are under 500kb actually. The longest is the 45-second "remote backpressure" video at 2.1MB. Unfortunately, it looks like I messed up Mpeg4 encoding and it isn't decoding on my phone. Gonna have to play with my FFMpeg settings...

Re: Building Backpressure with Combinators

Posted: Thu Sep 08, 2016 10:23 am
by brunzenstein
dragontamer5788 should enter that clever idea to your wiki: https://youtu.be/_63N3QuPZF0

Re: Building Backpressure with Combinators

Posted: Sun Aug 27, 2017 12:25 am
by Theurgist
Wow great miniguide. I've been playing Factorio for ages and done a lot of circuit work, but this is the first time I've truly understood Anything or Everything properly, thank you! Also the thought never occured to me to wire up an entire belt to limit flow, I usually just limit the output chest and call it a day. ^^

Re: Building Backpressure with Combinators

Posted: Thu Jan 17, 2019 8:29 am
by Rysz
I have been toying with back pressure lately, combined with a centralized mall with decentralized production.
By now I have a system where products from all over the factory are brought to the mall, and from there also delivered to parts of the factory that require those (semi)-products as input.

I have used the negative values from combinators to create demand pressure and devised a system to send this demand forward and also to keep track how much is being sent (because otherwise the belts would fill).

A) A belt, including incoming branches, from production to the mall
B) Before the entry into the mall, a connected inserter picks items that are required elsewhere
C) An outgoing belt, branched, from this point B going to different parts of the factory
D) Each branch point uses inserters (as splitters can't be connected) to distribute items to the correct branch

Every segment of C has a memory cell to keep track of what exactly is on the belt (This is a different method than the full-read belt used by OP)
Every segment of C passes the values of its memory cell to the previous segment, but it does not get stored on the memory cell of that segment
The total value of C is also passed onto A, so the production factories know how much is on its way to its destination and will stop putting more items on the belt if demand is met.

At this point the backpressure for factories has quite a long time delay (considering the time it takes to move stuff over my (at this point still small) factory), so assemblers are idle for quite some time. The demand pressure is based on the contents of the input belt for those assemblers. I am thinking of trying to change that to output side (compensating the time delay by putting the increasing the demand), or possibly even taking the mall demand of the final product, and possibly even iterating that if those products are also used as inputs elsewhere.

My factory is not yet as big, and I have no idea yet how this will work in a bigger base. I guess the first point will be a limit in the throughput, but then again I do not use this for science-production, only for items on the mall, so it might not be that big an issue, and I already have some ideas to increase throughput.