New inserter operations (moves)

Ideas that are too old (too many things have changed since) and ones which won't be implemented for certain reasons or if there are obviously better suggestions.

Moderator: ickputzdirwech

Post Reply
Factoruser
Fast Inserter
Fast Inserter
Posts: 167
Joined: Tue Sep 16, 2014 5:48 pm
Contact:

New inserter operations (moves)

Post by Factoruser »

Inserters should be also able to work bi-directional, i.e. picking up items from where they are putting in items. This makes of course only sense e.g. at assembling machines. The inserter would put in items the machines requests and takes the product out of it.

Further inserters should also be able to operate in an 90° angle.

There might be a hotkey or small GUI to switch the inserter's mode between "opposed", "90° clockwise", "90° counterclockwise" and "bidirectional". With the rotation key you can determine the source and destination direction then:

opposed: north to south, E->W, S->N, W->E
90°cw: N->E, E->S, S->W, W->N
90° ccw: N->W, E->N, S->E, W->S
bidirectional: N<->S, W<->E, N<->E, E<->S, S<->W, W<->N

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

Re: New inserter operations (moves)

Post by ssilk »

That could lead easily to deadlocks, if you use more inserters per device. How will you avoid that?
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

Factoruser
Fast Inserter
Fast Inserter
Posts: 167
Joined: Tue Sep 16, 2014 5:48 pm
Contact:

Re: New inserter operations (moves)

Post by Factoruser »

If we don't talk about deadlocks that are freezing the game... that would be no new phenomenon.

And I'd use smart chests if they work like this.

User avatar
bobingabout
Smart Inserter
Smart Inserter
Posts: 7352
Joined: Fri May 09, 2014 1:01 pm
Contact:

Re: New inserter operations (moves)

Post by bobingabout »

It is currently possible to code a 90 degree inserter, but it would be a seperate entity than the other inserter of the same type. There is actually a mod out there somewhere that includes configurable inserters.

The Bi-directional inserter is a good idea (I've been in situations where this could be useful myself) But obviously would only work if at least 1 end was against a factory of some kind, otherwise it would basically just grab an item and move it from one side to the other constantly. As far as I know there is no mechanic in the game to be able to do this, nor mod that tries to do it via scripting.
ssilk wrote:That could lead easily to deadlocks, if you use more inserters per device. How will you avoid that?
I suppose the easiest way is to plan the belts so items to grab are on the near side of the belt, the inserter will always place an item on the far side (unless you're using a mod with a near side inserter)
Creator of Bob's mods. Expanding your gameplay since version 0.9.8.
I also have a Patreon.

User avatar
MeduSalem
Smart Inserter
Smart Inserter
Posts: 1486
Joined: Sun Jun 08, 2014 8:13 pm
Contact:

Re: New inserter operations (moves)

Post by MeduSalem »

I strongly support that each and every inserter should have an option to be restricted to 90° (counter)clockwise movement as well. There's no practical excuse as to why an inserter able to perform 360° turns can't be restricted to do only 90° turns when needed.

Hell, if I were stranded on the planet I'd take some of the otherwise useless iron sticks and jam them into the inserter turntable thereby preventing them to go beyond 90°. :lol:

It would render like a ton of the 90° inserter mods finally obsolete just with a single option.
ssilk wrote:That could lead easily to deadlocks, if you use more inserters per device. How will you avoid that?
Which situation did you come up with ssilk?

Assembler<>Belt-movement: No real deadlock happening. The inserters are smart enough not to pick up the wrong item if the assembler doesn't need it and it can't put back already stocked up resources. It would enable to pick resources from the nearside of the belt and output to the farside using one bidirectional inserter.

Assembler<>Assembler: Obviously there's no reason to use bi-directional inserters at all. There will never be a recipe working that way because that would lead to an obvious cicken-and-egg-problem.

Belt<>Belt: Might be a useless contraption but would eventually work out because the items move along the belt out of reach from the inserter. But it would also lead to a lot of strange situations, where the inserter might grab from the farside if the nearside is empty. If the belts are full it can't insert anywhere and would get stuck, like regular ones.

Chest/Cargo Wagon<>Chest/Cargo Wagon: The only real situation where I actually do see problems. That is some tricky stuff alright. I could not think of an efficient mechamism to prevent the inserter from moving items back to the source eventually, defeating the purpose. So bi-directional inserters between Chests and Cargo Wagons are probably near to impossible to do because the inserter would have to keep track on which items it already has moved so that it doesn't move them again.

[update]

Oh I guess I might have a solution for the movement between Chests/Cargo Wagons:

1) Imagine the movement between a Chest and a Cargo Wagon
2) The inserter tries to grab an item from the Chest and inserts it into the Cargo Wagon.
3) If the cargo wagon does already have the same item it will ignore them and move emptyhanded back to the Chest to grab more and so on.
4) If the cargo wagon does have an item different from the one it tries to insert it will grab that and move it back to the chest.
5) Vice versa.

That way the inserter starts building something like a memory where it remembers for each type of item from where to take it and where to put it. There could be a reset button that clears the memory. At least that way the inserter can't move anything back it already has moved. Yeah there's a little more to it codingwise but in the basics it should work out.

It would actually be fun if that kind of inserter would work completely multidirectional. Like 4 chests surrounding a single inserter and moving stuff between them based on a memory pattern. All the beautiful things one could do with something like that... Mind blown.

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

Re: New inserter operations (moves)

Post by ssilk »

MeduSalem wrote:I strongly support that each and every inserter should have an option to be restricted to 90° (counter)clockwise movement as well. There's no practical excuse as to why an inserter able to perform 360° turns can't be restricted to do only 90° turns when needed.
I see an practical excuse: How should an interface look, that enables me to tell the inserter how to turn? Details are really important here.

ssilk wrote:That could lead easily to deadlocks, if you use more inserters per device. How will you avoid that?
Which situation did you come up with ssilk?
Well, I thought a bit. Maybe I was wrong. No real deadlock. bobingabout explained one situation, that is complex. I see much more of those "complex" situations, but it is difficult to construct simple explainable situations.

One complex example: A chest, this new inserter, an assembly for green circuits. Now: Inserter puts two wires and an iron plate in, assembler works. And now the assembled item will be taken out ... but could not be placed into the chest, cause there is no space left. Well, could happen with two inserters also. But now think this with two inserters. Or combinations of inserters.

is just a very simple situation, but believe me, there are dozens of others.
There is some very unawaited behavior, that wasn't planned and will make this bidirectional movement - not unuseable - but, as said, quite complex.

I don't see also the direct usage-case. Where is it? Is there an essential need for this?
Oh I guess I might have a solution for the movement between Chests/Cargo Wagons:

1) Imagine the movement between a Chest and a Cargo Wagon
2) The inserter tries to grab an item from the Chest and inserts it into the Cargo Wagon.
3) If the cargo wagon does already have the same item it will ignore them and move emptyhanded back to the Chest to grab more and so on.
4) If the cargo wagon does have an item different from the one it tries to insert it will grab that and move it back to the chest.
5) Vice versa.
I understand.
How do I tell the inserter what to take out and what in? It isn't really that simple. :)
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
MeduSalem
Smart Inserter
Smart Inserter
Posts: 1486
Joined: Sun Jun 08, 2014 8:13 pm
Contact:

Re: New inserter operations (moves)

Post by MeduSalem »

ssilk wrote:I see an practical excuse: How should an interface look, that enables me to tell the inserter how to turn? Details are really important here.
Clicking on the inserter (which works for smart inserters already anyways) and having an option for "mode of operation" would do the trick. Simple radio buttons with 3 options (Default, 90° Clock, 90° Counterclock) would suffice and be quite self-explanatory. The default option when an inserter is placed would be obviously the current way inserters work.

An interface for all inserters should have been added a long time ago anyways because there are actually quite some other things one might want to change too, like for example Inserter Item Stack Size Bonus, because once the research is conducted one can't tone down individual inserters, which is quite frustrating in cases where one wants to move an exact amount of items instead of 5 at maximum research level. For some logic circuitry this becomes a major annoyance, but we already had that topic elsewhere. :P

ssilk wrote:One complex example: A chest, this new inserter, an assembly for green circuits. Now: Inserter puts two wires and an iron plate in, assembler works. And now the assembled item will be taken out ... but could not be placed into the chest, cause there is no space left. Well, could happen with two inserters also. But now think this with two inserters. Or combinations of inserters.
Ah yes, the "full chest containing multiple different items creating a deadlock"-problem. That's why the devs should have added an item filter system for slots like in cargo wagons to chests a long time ago. That there is no such thing is actually a major problem in various completely different and/or unrelated designs/applications as well, especially in storage systems where stuff ends up all over the place in your factory rather than in one dedicated spot just because you can't prevent bots from moving stuff whereever they feel like it.

I wouldn't mind if the filter slots in cargo wagons as well as chests would be something that has to be researched in one of the logistics researches. It would still be completely worth it.

But yeah coming back to it there are quite some unexpected results if something like an uncontrollable bi-directional inserter would exist and most of them would be useless gimmicks. So there would have to be at least a way to train the inserter or making the bi-directionalism depend on filter lists.
ssilk wrote:I understand. How do I tell the inserter what to take out and what in? It isn't really that simple. :)
There would be multiple possible ways to do it (some of which I didn't list):

1) Memory by first encounter. Place the inserter and the chests the inserter is supposed to opperate on. Then once the inserter encounters an item type for the very first time it will mark the corresponding chest it encountered the item in as source and will never move the item type back into this source chest. Would be the least amount of setup work. Just put stuff down and be done with it. Either let the inserter encounter the items automatically or help it by putting the item into a corresponding source chest yourself. Obviously you can't define a target chest this way, only the source, but if chests with filtered slots would be a thing then the targeting wouldn't be a problem since you could prevent an item from entering the wrong chest.

2) A more sophisticated solution might be having something like filter lists for items moved in/out for each individual direction. An item can only be either on the "in" or on the "out" list, but not on both, for each individual direction. There would be obviously multiple pairs of lists, one corresponding to each of the directions the inserter can access.

Somehow I like the 2) one more because it would give vast control over the inserter behavior. It would be pretty much a multidirectional filter inserter that can access all 4 orthogonal directions (and even the 4 diagonals if you wanted to) and move items in/out of each direction. It would be probably be the most universal solution to the entire problem possible. I wonder why nobody else has ever thought of such a thing.

The inserter interface could even be something ridiculous like that for all 8 directions (including diagonals) just for the fun of it:
Multidirectional Filter Inserter.png
Multidirectional Filter Inserter.png (9.99 KiB) Viewed 20202 times
It would bring back filter inserters but actually giving them a new unique purpose compared to smart inserters.

Would offer quite a lot new funny ultracompact designs not possible prior that. Oh how I wish this would become a thing and if not that somebody creates a mod for it.

User avatar
bobingabout
Smart Inserter
Smart Inserter
Posts: 7352
Joined: Fri May 09, 2014 1:01 pm
Contact:

Re: New inserter operations (moves)

Post by bobingabout »

set up that 2 way inserter wrong between 2 boxes
inserter moves the same item back and forth constantly.

Image
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: 12888
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: New inserter operations (moves)

Post by ssilk »

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

Factoruser
Fast Inserter
Fast Inserter
Posts: 167
Joined: Tue Sep 16, 2014 5:48 pm
Contact:

Re: New inserter operations (moves)

Post by Factoruser »

bobingabout wrote:set up that 2 way inserter wrong between 2 boxes
inserter moves the same item back and forth constantly.
You can achieve this also using several inserters yet if you really want. But bidirectional inserters are easier ;-p

And if you implement this suggestion, you can use the bidirectional mode also sensible in combination with smart and requester chests.

--------------------------------------------------------------------------------------------------------------------------------------------------------

This GUI suggestion... hyper sophisticated. A really good idea in principle, but you should remember that you a placing hundreds of inserters and in only a few cases you'll need more options than now.

I'm still favouring a hotkey method, although you might select from a set of modes - one hotkey to select the mode, one to select the orientation. Maybe you should have at least a diagonal operation too, but not the full capabilities of the suggested GUI. So you might have following modes and directions:

opposed: north to south, E->W, S->N, W->E
opposed diagonally: NE->SW, SE->NW, SW->NE, NW->SE
90°cw: N->E, E->S, S->W, W->N
90° cw diagonally: NE->SE, SE->SW, SW->NW, NW->NE
90° ccw: N->W, E->N, S->E, W->S
90° ccw diagonally: NE->NW, SE->NE, SW->SE, NW->SW
bidirectional: N<->E, N<->S, NE<->SE, NE<->SW, E<->S, E<->W, SE<->SW, SE<->NW, S<->W, SW<->NW, W<->N

*Very perhaps* you may even have 135° modes, but definitely not 45° operations:

e.g. clockwise: N->SW, NE->W, E->NW, SE->N, S->NE, SW->E, W->SE, NW->S

But I'm convinced this is much too complicated for a very little gain of flexibility...

Keynote
Manual Inserter
Manual Inserter
Posts: 4
Joined: Fri May 01, 2015 1:06 pm
Contact:

Re: New inserter operations (moves)

Post by Keynote »

Hotkey sounds good, it should be implemented, but I'm wondering why don't use mouse in this case - first click would tell the inserter "From there you should take resources, things etc.", and second click at another chest tells inserter it must put things in that one. Of course clicking at the same chest twice times will not work, same thing with chest out of the range.

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

Re: New inserter operations (moves)

Post by Koub »

The need for an alternative angle movement will probably be quite exceptionnal. How many inserters do you have in a stardard factory ? Thousands. Are you willing to add a click every time you build one ? not me :). An alternate click, on the contrary, is to be used only on the specific inserter that needs to be 90°.

But in my personal opinion, all this topic is discussing a change that seems over complicated for only a small marginal tiny benefit. There is no situation the actual game can't solve.
After that, there could be demand for 3 tiles reach inserters, inserters that take stuff at x tiles, and insert at another length, with or without angle, inserters that know Kung-Fu :mrgreen: , ... I feel that's THE kind of things that should be left to modding.
Koub - Please consider English is not my native language.

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

Re: New inserter operations (moves)

Post by ssilk »

I'm sure this will not come into vanilla, it is a major change and removes many of the known puzzles and other basic behavior and the devs stated, that they won't implement it, so I move this to won't implement.

But there is a mod, that enables to do this
https://forums.factorio.com/forum/vie ... 93&t=14360 [MOD 0.12.x] Cursed PI - v0.0.3
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

Post Reply

Return to “Outdated/Not implemented”