Dividers

Post your ideas and suggestions how to improve the game.

Moderator: ickputzdirwech

Post Reply
Hythemous
Manual Inserter
Manual Inserter
Posts: 4
Joined: Thu Jun 05, 2014 3:53 am
Contact:

Dividers

Post by Hythemous »

The Problem:
So one of the greater issues I find, being a perfectionist, is creating a system that accurately divides the necessary materials and sends them off to the various places they need to go. Take the following for example: I want to produce x number of tech packs 1, 2, and 3 at a ratio of 1:1:1. In order to do so I need 19 copper bars, 17 of which will need to be converted to copper cable. The remaining 2 bars will go to batteries and tier 1 tech packs equally; we can use a basic splitter for this last part. The real issue is how to divide out 17 from 19.

Best Current Solution:
The best I can come up with is splitting the stacks into a 1:8 ratio in which 16 bars go to copper cable and the remaining 2 go elsewhere. Using splitters to divide into 3 equal parts isn't terribly difficult. We simply divide use 2 splitters to divide the original stream into 1/2, 1/4, and 1/4 of the original. We then "recycle" one of the 1/4 streams into the original, making the remaining 1/2 and 1/4 stream into 2/3 and 1/3 respectively. We would repeat this method again to obtain the 1/9th stream we are looking for.
The issue with this solution is that, in a finely tuned distribution, 10.5% (2/19) of the copper would be allocated to the non-copper wire production; however, we see in the current splitter situation that 11.1% ends up in this production. While .6% is a rather small figure, taken to the mass scale of production, we may have 500,000 copper bars move through a system, for which .6% would represent 3,000 copper bars misplaced. Taken together with other poor distributions we end up with all kinds of nasty backups. Logic systems such as red and green wires and logistic networks may provide a way of fixing this, with an added level (or a few levels) of complication, however, the better solution seems rather simple to me.

Ideal Solution
What if we had a splitter that had an adjustable ratio?
For instance let's say we have our original stream, "O" and our two output streams Left, "L, and Right, "R". We might set our splitter to send 2 copper bars the L and then 17 to R, and then to repeat. This way, given any input from O, both L and R would receive their proper allocations of copper bars. This would not only simplify some more grotesque looking splitting contraptions (the one described above is only mild compared to some I have attempted), but also allow for cleaner looking, more precise, and more concise distributions.

I do consider myself a relatively new player at just over 50 hours, so I really have less than ideal picture of the other possible solutions out there, but I'd love to hear feedback.

Best,

-Hythemous

jorgenRe
Filter Inserter
Filter Inserter
Posts: 535
Joined: Wed Apr 09, 2014 3:32 pm
Contact:

Re: Dividers

Post by jorgenRe »

The idea is great, but it have been suggested already a few times earlier and i'm sure the devs are probably already planning this:
https://forums.factorio.com/forum/vie ... atio#p8934
https://forums.factorio.com/forum/vie ... atio#p3493

This is why SSilk made his topic about making good suggestions ;)
https://forums.factorio.com/forum/vie ... f=6&t=3394
Where he for example state that you should use the search funtion on the forum to find if there is other suggestions that are similar to yours :)
Last edited by jorgenRe on Thu Jun 05, 2014 10:29 am, edited 1 time in total.
Logo
Noticed the told change in FFF #111 so il continue to use my signature ^_^
Thanks for listening to our suggestions, devs :D!
I would jump of joy if we could specify which tiles spawned in a surfaces

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

Re: Dividers

Post by ssilk »

And to add: I never needed that. Those static divisions will change in the moment, when modules introduced (and used). Or you add another assembly at the end, cause you just need it. It is a much better way to produce just as much as you need (just in time) plus a short storage.

Well, nifty stuff can be made with that, but all not so relevant for direct production.

I tell you something, I see eventually this: a splitter splits by two. Now I "include" another splitter and have a splitter with three outputs. I add another splitter and have four outputs. And so on. That could make sense (and it doesn't add much complexity).
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
DaveMcW
Smart Inserter
Smart Inserter
Posts: 3700
Joined: Tue May 13, 2014 11:06 am
Contact:

Re: Dividers

Post by DaveMcW »

Hythemous wrote:Using splitters to divide into 3 equal parts isn't terribly difficult. We simply divide use 2 splitters to divide the original stream into 1/2, 1/4, and 1/4 of the original.
This works for any ratio. Divide your stream into 32 parts, send 17 to copper wire, 1 to battery, 1 to red pack, and 13 back to the original stream.

Hythemous
Manual Inserter
Manual Inserter
Posts: 4
Joined: Thu Jun 05, 2014 3:53 am
Contact:

Re: Dividers

Post by Hythemous »

DaveMcW wrote:
Hythemous wrote:Using splitters to divide into 3 equal parts isn't terribly difficult. We simply divide use 2 splitters to divide the original stream into 1/2, 1/4, and 1/4 of the original.
This works for any ratio. Divide your stream into 32 parts, send 17 to copper wire, 1 to battery, 1 to red pack, and 13 back to the original stream.

This is the most helpful reply. As I mentioned earlier, however, this structure gets rather larger as we're talking about 2^5. Further, we are now recycling 13 of the overall back to the original; this means that we now have to deal with a stream that moves 40% slower than it would with a perfect, one time division.

In response to this already being posted, I am well aware similar ideas have been presented, but even within the last 10 pages of the forum posts I could find no presentations that precisely and articulately described the concept. I thank you SSilk for your contributions. Redundancy can be quite annoying, especially for someone who monitors the forums as closely as you do; however, as one of your rules poignantly states: some rules are meant to be broken. Within this sentiment I saw a need to more expressly define the concept.

All the same, its awesome to hear back from the community on this problem/possible solutions;

Thank you!

therapist
Fast Inserter
Fast Inserter
Posts: 177
Joined: Tue May 27, 2014 7:22 pm
Contact:

Re: Dividers

Post by therapist »

I think this probably won't be implemented because you are trying to be too precise with your factory.

The solution I see, is to split the line with a splitter, let the batteries receive exactly half of your copper plates, then, because the batteries only require 2 per every 19, the system will become backed up all the way to the splitter, and the entire stream will being to move towards the other side. It isn't precise, but if the battery factory doesnt feed onto a belt, and actually just hands the batteries directly into the science pack 3 assembler, you will never produce many more batteries than you actually need, the battery factory will shut itself down when the science pack 3 assembler(s) are full of batteries. You could even have multiple battery assemblers to feed each science pack 3 assembler if required.

This is the way, for me, the game is played. You don't split your resource income stream exactly to what each machine needs, you make 30 electric smelters for iron, and 30 for copper, and rape the earth (whatever planet) of its resources to guarantee all those machines stay full. If you really insist on being that precise, I think you should be forced to construct absolutely enormous splitting facilities for such precision, all of the machines the factorio character uses are simplistic, this is the charm of the incredibly complex networks be builds, that they are made from simply, unintelligent components.

To be honest, I had to split my income of ores exactly the way you describe because I'm also an efficiency freak. I had 3 sets of 20 smelters for iron and the same for copper, and no way to possibly split the resources evenly between them, thats when I discovered (or thought I had discovered) the technique that was described here. I used 3 splitters to split the 1 stream of ore into 4 streams, and then direct one of those streams back into the input of the splitters. If speed is an issue, do what I did. Have the ore (or plates in your case) be delivered in 2 separate belts, then divide each belt into the necessary number of outputs using the technique of recycling some of those outputs back into the splitter input. Basically I'm saying: for speed, build 2 giant splitter facilities, and you'll only lose half speed with the "recycling" part of the splitter operation.

User avatar
DaveMcW
Smart Inserter
Smart Inserter
Posts: 3700
Joined: Tue May 13, 2014 11:06 am
Contact:

Re: Dividers

Post by DaveMcW »

Hythemous wrote:
DaveMcW wrote:
Hythemous wrote:Using splitters to divide into 3 equal parts isn't terribly difficult. We simply divide use 2 splitters to divide the original stream into 1/2, 1/4, and 1/4 of the original.
This works for any ratio. Divide your stream into 32 parts, send 17 to copper wire, 1 to battery, 1 to red pack, and 13 back to the original stream.
This is the most helpful reply. As I mentioned earlier, however, this structure gets rather larger as we're talking about 2^5. Further, we are now recycling 13 of the overall back to the original; this means that we now have to deal with a stream that moves 40% slower than it would with a perfect, one time division.
Obviously you don't have to make it 2^5 tiles wide. Many lines are being split and recombined instantly, so you can just skip that step.

The 40% slowdown isn't a problem if you build it twice, and run each on half of your original stream. You can even build them in series and run the recycled part of the first half into the second half.

I'm looking forward to seeing your solution in the Creations Forum!

Holy-Fire
Fast Inserter
Fast Inserter
Posts: 169
Joined: Sun Apr 14, 2013 9:15 am
Contact:

Re: Dividers

Post by Holy-Fire »

DaveMcW wrote:
Hythemous wrote:
DaveMcW wrote: This works for any ratio. Divide your stream into 32 parts, send 17 to copper wire, 1 to battery, 1 to red pack, and 13 back to the original stream.
This is the most helpful reply. As I mentioned earlier, however, this structure gets rather larger as we're talking about 2^5. Further, we are now recycling 13 of the overall back to the original; this means that we now have to deal with a stream that moves 40% slower than it would with a perfect, one time division.
Obviously you don't have to make it 2^5 tiles wide. Many lines are being split and recombined instantly, so you can just skip that step.

The 40% slowdown isn't a problem if you build it twice, and run each on half of your original stream. You can even build them in series and run the recycled part of the first half into the second half.

I'm looking forward to seeing your solution in the Creations Forum!
Example of how it would look (I hope my diagram is clear):

Code: Select all

---\---Wire                         \---Wire
   /---\------------\-----------\---/---Battery
       /--Recycle   /--Recycle  /---\---Red
                                    /---Recycle
You use the binary encoding of the ratios to figure out how to do it.

As for the slowdown, you can upgrade to faster belts the part between the point where the recycling enters the stream and the first split, it should help and is not that expensive. Alternatively, you can split the input stream and place two parallel copies of the above construction, each with its own recycling loop, and then merge them.

It's not trivial to do all this, and I support having a configurable splitter, but

1. Your use case is nonstandard, in part because there are several complicating factors that make the exact ratios vision unattainable
2. Factorio is also about building various mechanisms from basic tools you are given.

Hythemous
Manual Inserter
Manual Inserter
Posts: 4
Joined: Thu Jun 05, 2014 3:53 am
Contact:

Re: Dividers

Post by Hythemous »

Holy-Fire,

Thank you for the illustration. After I took a second look at the available components, I realized that it is possible to avoid a slowdown factor with any given system by feeding the recycled stream into the other side of the splitter (facepalm). My system in particular uses 2 express streams, which made the recycle aspect a bit of a pain to redo at first, especially with 40% of the original stream being recycled. I do, however, find that the exact ratio is very obtainable given a few models I've been working on, but it's not a clean and concise contraption.

The other thing I would argue is that Factorio, to a point, is about using the tools you're given, however, a key aspect of the game is being given more complex tools that allow for more precise and powerful processes. One example of this is the furnaces, which have the electric upgrade. It is perfectly possible to have a powerful factory that does not rely on any smart inserters, logistics networks, wire systems, electric furnaces, underground belts and so forth; but the added flexibility that these components add makes the game all the more enjoyable, while giving a layer of complexity to the game, and further making possible more efficient systems. My primary concern in division is creating a system that optimally moves resources such that no one area of production ends up getting jammed given an indefinite amount of time. It seems to me that this would come standard in a game such as Factorio; luckily for us, it sounds as if this is already in the works.

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

Re: Dividers

Post by ssilk »

Hythemous wrote: even within the last 10 pages of the forum posts I could find no presentations that precisely and articulately described the concept. I thank you SSilk for your contributions. Redundancy can be quite annoying, especially for someone who monitors the forums as closely as you do; however, as one of your rules poignantly states: some rules are meant to be broken. Within this sentiment I saw a need to more expressly define the concept.
See rule #-1: there are no rules. :)

And to come back to the splitter: the devs won't change them nearly per sure. They stated it. So it is some kind of useless to discuss it again and again. :) nevertheless I'm for such kind of stuff, see my suggestion above, cause I think that every player should fall on its own nose, and yes, for some cases it is really useful.

Edit: and to this splitting above by Holy-Fire: would be cool, if someone built it and makes a photo and post it.
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

Holy-Fire
Fast Inserter
Fast Inserter
Posts: 169
Joined: Sun Apr 14, 2013 9:15 am
Contact:

Re: Dividers

Post by Holy-Fire »

ssilk wrote: Edit: and to this splitting above by Holy-Fire: would be cool, if someone built it and makes a photo and post it.
Your wish is my command :)

(Of course this is just a symbolic version)
Attachments
Factorio ratios.jpg
Factorio ratios.jpg (187.12 KiB) Viewed 6046 times

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

Re: Dividers

Post by ssilk »

Will be used in the wiki :)
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

strikedragon
Burner Inserter
Burner Inserter
Posts: 6
Joined: Mon Jun 09, 2014 8:59 pm
Contact:

Re: Dividers

Post by strikedragon »

I think smart Dividers would be useful Because they would send one Object One way and another object of the way. Also I would like Dividers with three or four outputs. And I think express dividers are little too slow.

Post Reply

Return to “Ideas and Suggestions”