Set Assembling Machine from Wire/Combinator
Moderator: ickputzdirwech
Set Assembling Machine from Wire/Combinator
Having played around with the combinators, it seems they could be used do some pretty complex stuff. However, one of the key uses seems to be missing: They can't set what an Assembling Machine is producing and/or turn Assembling Machines on and off. This would add some much needed control of what is produced and how much of it, instead of controlling it by limiting the input resources - which is really a workaround. The same can be applied to resource-mines. Tell them to stop mining when enough of a resource is stored, instead of mining forever creating a massive backlog on transport belts. I'm sure it can be applied to many things, you get the idea.
- bobingabout
- Smart Inserter
- Posts: 7352
- Joined: Fri May 09, 2014 1:01 pm
- Contact:
Re: Set Assembling Machine from Wire/Combinator
I think the ability to turn an assembly machine on and off is planned for 0.13.
Until then, you can instead control them in a round about way using smart inserters, simply have them stop inserting or removing when you want to stop production.
Until then, you can instead control them in a round about way using smart inserters, simply have them stop inserting or removing when you want to stop production.
Re: Set Assembling Machine from Wire/Combinator
To set what assemblers is producing solely based on logic would surely be interesting! Modular-ish assemblers here we go! All the Item icons currently storing information in combinators could actually reflect an item/recipe that an assembler would produce.
All visuals for this is basically already in the game. So only the programming part is left. My suggestion is that a new logic "block" would translate the icon to recipe for the assembler wiring logic to this new block, and then wire along to the assembler. One step closer to self-replicating factories here we go!
All visuals for this is basically already in the game. So only the programming part is left. My suggestion is that a new logic "block" would translate the icon to recipe for the assembler wiring logic to this new block, and then wire along to the assembler. One step closer to self-replicating factories here we go!
Re: Set Assembling Machine from Wire/Combinator
This had already been discussed a bit: Problem is, if you change the recipe of an assembly and you still have some items from the former recipe left in a stack, the stack is blocked. Assemblies can have up to 6 stacks, at some point all stacks are blocked with items, that are not used for that recipe. Same problem as with multipurpose furnaces.
I mean: Yes, it would be a useful change, but this problem of occupied stacks needs to be solved with that change.
Problem: I've no idea how to solve it, what's the best way to do this.
I mean: Yes, it would be a useful change, but this problem of occupied stacks needs to be solved with that change.
Problem: I've no idea how to solve it, what's the best way to do this.
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
Re: Set Assembling Machine from Wire/Combinator
How about: you cant change recipe with logic unless the assembler is empty? And to empty "assemblers input" smart inserter could for example be set to take iron from the regular magazine assembly
Re: Set Assembling Machine from Wire/Combinator
I think the solution with having a pool of stacks uncoupled from the active recipe, leaving the residual items in these stacks/pool of the assembler during recipe switches actually works quite fine, as long as there can only be ONE stack of the same item inside the assembler. Also the more overall stacks there are inside the assembler the more freedom you'd get by broading the amount of recipes that work with the current set of resources inside the assembler.ssilk wrote:This had already been discussed a bit: Problem is, if you change the recipe of an assembly and you still have some items from the former recipe left in a stack, the stack is blocked. Assemblies can have up to 6 stacks, at some point all stacks are blocked with items, that are not used for that recipe. Same problem as with multipurpose furnaces.
I mean: Yes, it would be a useful change, but this problem of occupied stacks needs to be solved with that change.
Problem: I've no idea how to solve it, what's the best way to do this.
On top of that it could be indicated with an icon above the assembler once ALL the stacks are full which is showing that the requirements of the newly selected recipe don't match with any contents of the stacks so you at least know when and what you (or the circuit network setting the recipe) did wrong and you'd be able to fix it.
It is a limitation, yes, but it is a trade off people could live with for the most part because of how it is almost impossible to feed an assembler with more than a certain number of different source items anyways because of the limited space around the assembler for inserters and belts. It just encourages the player to think about what recipes are similar/simple enough to go along with one another without causing a deadlock given the limited amount of stacks inside the assembler they have to share for their resources.
So obviously people would still have to put some thought into it because even with a dozen stacks you wouldn't be able to repurpose the assembler for absolutely everything, but at least for a broader range of items.
I would implement it that way because it is an appealing approach that's just simple and clean and which will work for almost all scenarios and for the most part it doesn't require much programming work to implement compared to other more complicated stuff (like dumping the contents etc). Maybe someone finds an even better solution going from there, but I doubt it.
Being absolutely independent from residual items would be nice, but I don't think that it is possible to be completely independent without having NO buffer at all (which would just suck and hurt crafting performance). So a compromise of having a limited amount of stacks (a pool) to draw items from like mentioned above just works fine for me.
Well I think "dumping" the contents of the assembler with every recipe change is NOT a good approach. It adds a lot of overhead and depending on the "old recipe" it might take an eternity to empty the stacks by which the recipe might have changed again. You'd risk getting stuck in a feedback loop where you'd never get anything produced because of how the assembler would be stuck in the load/unload process.provet wrote:How about: you cant change recipe with logic unless the assembler is empty? And to empty "assemblers input" smart inserter could for example be set to take iron from the regular magazine assembly
So we have to aknowledge the fact that once the source items are inside the assembler they are inside and we CAN'T remove them anymore and they have to be used eventually. Any approach trying to solve the problem should consider that.
Re: Set Assembling Machine from Wire/Combinator
Hi
I feel this is quite uncomfortable hole in Factorio. It's like having plus, minus and multiply without division.
And if this is still waiting solution for what to do old waiting resources here is one: Let old resource being cleared naturally by being crafted to old crafting output.
So when craft target is changed take those missing resources for old target so that assembler eventually finish what is currently unfinished. After that start taking new stuff with new target.
On another thread (NOT URL FOR FIRST POST: forums.factorio.com/viewtopic.php?f=6&t=38783) there was some discussion about being optimally efficient during target change... If you can implement that perfection so that new stuff can take immediately parallel => that's cool but not very important. It's fine that player can choose if he/she wants want optimal throughput or flexibility by doing very high frequency changes. And if there is somebody who disagree I think it's better to have something and maybe patch it later than nothing.
So now you have another decent solution. I expect this being implemented coming patches (with previous solution or any other)
Thanks!
I feel this is quite uncomfortable hole in Factorio. It's like having plus, minus and multiply without division.
And if this is still waiting solution for what to do old waiting resources here is one: Let old resource being cleared naturally by being crafted to old crafting output.
So when craft target is changed take those missing resources for old target so that assembler eventually finish what is currently unfinished. After that start taking new stuff with new target.
On another thread (NOT URL FOR FIRST POST: forums.factorio.com/viewtopic.php?f=6&t=38783) there was some discussion about being optimally efficient during target change... If you can implement that perfection so that new stuff can take immediately parallel => that's cool but not very important. It's fine that player can choose if he/she wants want optimal throughput or flexibility by doing very high frequency changes. And if there is somebody who disagree I think it's better to have something and maybe patch it later than nothing.
So now you have another decent solution. I expect this being implemented coming patches (with previous solution or any other)
Thanks!