Smart Splitter (The Real One)

Suggestions that were added to the game.
Post Reply
User avatar
ssilk
Global Moderator
Global Moderator
Posts: 10644
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Smart Splitter (The Real One)

Post by ssilk » Wed Apr 13, 2016 3:05 pm

This is some kind of "counter suggestion" to the (feeled) 100 or more "extended" splitter suggestions here. It tries to combine the best ideas of all suggestions into "one that fits all". :)

This idea is simple in the first but it gets soon very complex. Let's just begin:

Filter
The splitter has a left and right "gate". Each gate can be connected to the (circuit) network.
If connected and there is a signal the gate let only those items through, which are in the signal. It works just as a simple filter, that picks out this items.
This simple filter enables some useful possibilities, but is of course not enough. It doesn't work as "if a filter is present it picks all items of that type"! But see next point how to achieve that.

NOT gate
The next step is a "NOT" gate, that can be turned on for each side.
So the simplest case would be to have one constant combinator emitting a signal "coal", that goes into both sides of the splitter and one side is "NOT". The result is then, that on one side only coal comes out, on the other the "rest" (NOT coal).

Balancing/Ratios
This sub-feature is not thought completely through and needs further discussion!
Let's assume a belt full of steel and you want to split this into 3 belts with each exactly 1/3. Currently this is a complex setup with 3 or 4 splitters. With this suggestion only two splitters and one combinator are needed.
How this works: Let's say the left side of the first splitter is wired with the input of a constant combinator. The signal on that wire is "2 steel".
Because the right side is not wired, it falls back to it's default, which is "1 of anything" . Here as overview:

Code: Select all

                LEFT                 RIGHT
               2 of steel        1 of anything (implicit default)
Which means: for two steel items moved to the left side, the inserter moves one "anything" item to the right. The splitter will output every 3rd steel on the right then.
The rest is simple, split the left output again into two parts and we have fun.

The whole balancing subject is also not ready worked out and needs to be discussed deeper. For example: How to balance "anything" on both side, cause the current behavior of the splitter is not really "balanced", it allows an overflow of up to 5 items, before going to the other side; the question is, if the ratio should be fixed, or work as already known. In other word: Should the splitter work differently if circuits connected with default ratio of 1:1 or not.

I see also, that this is eventually over-engineered, cause - see down - if the splitter has a counter and a gate, this functionality can achieved with combinators only.

Gate/Switch
Till here you might think that the connection to the circuit network is some kind of useless overhead. But the reason for that is, that you can now use the splitter as a gate or switch. Usage: Switch on/off streams of items, depending on any possible condition, that can be calculated by the combinators.
Depending on how long you open a gate you can estimate how much items are going through. With one splittter you can insert a more or less exact mix two of item types (two lanes of a belt) into another belt.

For exact ratios see next point!

Measuring/Counting
As the splitter has inputs he can have also outputs. The simplest would be counters: Every item passing on one side increases the counters of that side. If I connect a wire to the output I can access these counters by combinators. Very practical usage is in combination with the above explained switch-behavior.
We need then also a "RESET" signal to set all (or some item-)counters back to zero. [I don't know how to implement this, but a common way to implement that is to have either a special signal on the input or to have an own input just for that. In the end it doesn't matter, how this implemented.]
The practical usage is, that you count the number of items passing the splitter (on one side) and if the right number is reached the filter can be turned off. And before opening the gate again the counters can be reset.

Splitter as Joiner
The above stuff looks at the splitter only as a splitter.
The same functionality for splitting should work also for joining.

- Filter: it makes a difference if you filter on input or output side of the splitter. But for now assume, that the filter exists on both sides!
- Joining with exact ratio: Input items are mixed together in the right ratios (in the above example would take 2 steel from before mixing in 1 other item from right)
- Gate/Switch: Cause the gate is just a changing filter it works on both sides. See above.
- Counter: Due to practical reasons the counter works only on the output side. But see down.

Changing the Filter Input/Output Side
As you might see above, the behavior that the filter works on both sides (input and output, not left and right) sucks sometimes.

For that you have a switch in the splitter that enables per splitter (both input/outputs) that the filter works for both sides (default), on the input side only or on the output side only.

If working on the input side, the function of the counter changes also to count only the input-items, not the output items.

Situations, in which we need to have different filters on input and output side are not possible and not needed, cause they can simply replaced with two splitters, one on the input and the directly following other on the output side.

EDIT:
Priority Splitting

As mentioned some threads behind this one, it seems to be a much better idea to remove counting etc. and instead add priorities, where the items are moved by preference left or right. See below!

Summary

The splitter is extended to the following functionality:
- two circuit-network inputs for the filter function (one for each side).
- two circuit-network output for the counter (and reset signal?).
- A switch per left and right side of the splitter, which inverses the circuit filter logic (NOT filter) if turned on.
- A switch for targeting the circuit filter to the input and/or output side of the splitter into one of three modes: both-sides, input-only, output-only

Internally the splitter has to be extended to enable the filter-feature. The balancing/ratio-feature needs more discussion and is a bit questionable. The counter feature can be eventually coupled to a "counter-combinator". Whatever this is.

With v0.13 the smart inserter should fall apart, the same is valid for this suggestion, there is not just the new "smart splitter" as an own entity, it is the same splitter that we all know, but the abilities of it have to be researched.
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
brunzenstein
Filter Inserter
Filter Inserter
Posts: 899
Joined: Tue Mar 01, 2016 2:27 pm
Contact:

Re: Smart Splitter (The Real One)

Post by brunzenstein » Wed Apr 13, 2016 3:16 pm

Very, very interesting-indeed - only, I want to keep the smart inserter thought
To focus to finish that very task is (m2cents) far superior then to waste precious time and manpower with a station / carriage solution nobody will be more happy after then before...

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

Re: Smart Splitter (The Real One)

Post by ssilk » Wed Apr 13, 2016 6:15 pm

brunzenstein wrote:Very, very interesting-indeed - only, I want to keep the smart inserter thought
The devs plan to remove it. From http://www.factorio.com/blog/post/fff-123 :
By removing the circuit network logic from the inserter entity, it will run slightly faster and use less memory when not connected to the circuit network.
brunzenstein wrote:To focus to finish that very task is (m2cents) far superior then to waste precious time and manpower with a station / carriage solution nobody will be more happy after then before...
Not sure, if I understand that sentence. :? With "station/carriage" do you mean the whole loader discussion?
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
brunzenstein
Filter Inserter
Filter Inserter
Posts: 899
Joined: Tue Mar 01, 2016 2:27 pm
Contact:

Re: Smart Splitter (The Real One)

Post by brunzenstein » Wed Apr 13, 2016 6:24 pm

ssilk wrote: Not sure, if I understand that sentence. :? With "station/carriage" do you mean the whole loader discussion?
indeed - you understood correct.
In my point of view its a waste of time, energy and manpower to mend a problem which gets basically after not a lot better then it was before. Can only be cosmetically enhanced, as I understood. There is a very bad cost/benefit ratio given your limited manpower. Focus on things like this splitter project which robustly enhances the games value.
Leave the loader as it is -
50% of users will never find out that a problem exists in first place
45% will not give a rats ass
- and the real hardcore gamer will find a way around the (basically only cosmetically mendable problem) anyhow ;-)

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

Re: Smart Splitter (The Real One)

Post by ssilk » Wed Apr 13, 2016 6:41 pm

Well, I this goes off-topic, but sometimes you need to have something "nice". A loader is - if well designed - something, which can look very nicely. An inserter which can pick up/drop down up to five items per turn will in my eyes never look so interesting.

Today we also had such a discussion in my company: I said "This part of software is broken, nobody can understand, under which circumstances an eps will be allowed and in which other case a preview image will be generated." And the others said: "It's not on us to change this now, it works since years without anyone crying." So we made a compromise: We don't fix the preview-generator now, but we have now a ticket, that it must be rewritten within 2-3 month. What I mean is: Sometimes it's better to leave things untouched and sometimes it's better to make something completely new, just because the old is ugly. Ok, it's difficult to see my point, but I don't want to write more stupid stuff now. :)
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
brunzenstein
Filter Inserter
Filter Inserter
Posts: 899
Joined: Tue Mar 01, 2016 2:27 pm
Contact:

Re: Smart Splitter (The Real One)

Post by brunzenstein » Wed Apr 13, 2016 6:49 pm

ssilk wrote: What I mean is: Sometimes it's better to leave things untouched and sometimes it's better to make something completely new, just because the old is ugly. Ok, it's difficult to see my point, but I don't want to write more stupid stuff now. :)
I see you point very clear - as Donald Rumsfeld quoted so openly when invading Iraq:
"I cannot fight with the army I would wish to have but with the one I got"
With limited resources one has to stay tightly focused on his abilities and core competence - and thats what we hope your doing in benefit of the average gamers experience. And not wander around fixing things which are not really broken...
or anybody has noticed...

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

Re: Smart Splitter (The Real One)

Post by ssilk » Thu Sep 22, 2016 8:22 am

So with the lately found priority splitters (in Show your Creations/Combinators) I think the whole balancing stuff from above is useless. All the splitter needs is a "priority" and I think to both sides, the input- and output-side. Just a switch "left/even/right" (even is default of course) and the splitter prefers that side.

Balancing (not perfect but really good enough) can be achieved if that could be controlled by circuits.
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: 6868
Joined: Fri May 09, 2014 1:01 pm
Contact:

Re: Smart Splitter (The Real One)

Post by bobingabout » Thu Sep 22, 2016 3:00 pm

ssilk wrote:So with the lately found priority splitters (in Show your Creations/Combinators)
Can you link to that topic please?
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: 10644
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Smart Splitter (The Real One)

Post by ssilk » Thu Sep 22, 2016 10:54 pm

viewtopic.php?f=193&t=32793 Split and prioritize output belt (and merge multiband right)

I think on reddit is more and see https://www.youtube.com/watch?v=zSuygoX-0lE Factorio Multiplayer Session 3 Later Today - Going for New Records
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
hansinator
Fast Inserter
Fast Inserter
Posts: 160
Joined: Sat Sep 10, 2016 10:42 pm
Contact:

Re: Smart Splitter (The Real One)

Post by hansinator » Thu Sep 29, 2016 7:31 am

ssilk wrote:So with the lately found priority splitters (in Show your Creations/Combinators) I think the whole balancing stuff from above is useless. All the splitter needs is a "priority" and I think to both sides, the input- and output-side. Just a switch "left/even/right" (even is default of course) and the splitter prefers that side.

Balancing (not perfect but really good enough) can be achieved if that could be controlled by circuits.
Yes indeed splitter priorization should be the basic building block that makes controlled balancing possible. Its not an overblown feature and can be implemented easily. By itself it adds very little complexity to the game but the possibilities that emerge from it when you combine it with existing circuit logic will be numerous. Sounds like a smart thing to do to me ;-)

I believe filtering splitters would make it too easy to build advanced things. You can properly achieve it for blue belts with existing game mechanics. That's a good thing. To build such an advanced contraption the barrier is quite high: You need knowledge of XKnights filter and research and build blue belts. But then it works like a charm, so no need to include a dedicated filter.

I'm in on the counter/measurement ideas. That would be a useful enhancement, too. Now that the belts got wired it seems strange the splitters are not.
Maybe its worth considering to not extend the existing splitter but to introduce a new deluxe splitter that needs a little bit of power to operate but has these advanced features.

User avatar
steinio
Smart Inserter
Smart Inserter
Posts: 2283
Joined: Sat Mar 12, 2016 4:19 pm
Contact:

Re: Smart Splitter (The Real One)

Post by steinio » Mon Apr 15, 2019 5:29 pm

Implemented
Image
Transport Belt Repair Man
My little mods: Link | My favourite mods: Bob's Mods | Angel's Mods | Yuoki Railway Core | EvoGUI | Logistic Train Network
Factorio Cheat Sheet by Denis Zholob

View unread Posts

Koub
Global Moderator
Global Moderator
Posts: 5206
Joined: Fri May 30, 2014 8:54 am
Contact:

Re: Smart Splitter (The Real One)

Post by Koub » Mon Apr 15, 2019 8:38 pm

[Koub] Indeed, topic moved.
Koub - Please consider English is not my native language.

Post Reply

Return to “Implemented Suggestions”

Who is online

Users browsing this forum: No registered users