The sad state of circuit logic

Post all other topics which do not belong to any other category.
Yoyobuae
Filter Inserter
Filter Inserter
Posts: 499
Joined: Fri Nov 04, 2016 11:04 pm
Contact:

Re: The sad state of circuit logic

Post by Yoyobuae »

AssaultRaven wrote:I haven't worked with circuits much, but it sounds to me like the biggest single problem, inserters, would be solved with some kind of asynchronous control system for inserters. As in, being able to tell an inserter, "move X items", with the details of implementing that being left to the inserter. (This would presumably include grabbing less than its full stack size if needed.)
That problem can already be somewhat solved using existing circuit network techniques. It comes down to keeping the number of items already picked up (or still missing) in some kind of memory cell and using that to control the inserter. Your suggestion would only put that same kind of logic inside the inserter behavior code (and outside player control). Controlling the inserter stack size via circuit is what missing (but might be coming in 0.15).

Anyway, your "asynchronous control system" will at some point need to reset, since it needs to start over eventually. When will it reset? Would that be circuit controlled? Otherwise how can you control when inserters put stuff into a smart furnace, for example. Need to stop smelting iron plate in order to switch over to copper plate or steel. That means stopping the input inserter.

This is Factorio, no control circuit is complete until it implements a full cycle and can repeat. Because you want continuous smelting/crafting to keep happening. So you'll then need some kind of control circuit to control the "asynchronous control system". Or should that also be included into the inserter behavior?

The complexity kinda snowballs fast. What's needed is good tools to handle the complexity, scalable tools.

Escadin
Fast Inserter
Fast Inserter
Posts: 181
Joined: Thu Mar 17, 2016 3:15 pm
Contact:

Re: The sad state of circuit logic

Post by Escadin »

Yoyobuae wrote: There are many reasons to use circuits. Some are more accessible. Like oil cracking, or backup steam power. They are easy because the involve a static decision: IF condition THEN action. At worst you need hysteresis so something like: IF condition1 THEN enable_action, IF condition2 THEN disable_action.

Then there are others which are extremely challenging, like smart furnaces or smart belt logistics. Those don't just require making static decisions, but involve a process which takes time. And this is where things turn real ugly. Then you not only need to know WHAT to do, but WHEN and even HOW MANY. Need to go deep into sequential circuit logic to solve those kinds of issues, and need to deal with stuff like stack inserter bonus, complex inserter/belt interactions and loads of other "fun" stuff which continually gets in the way. And that's not even getting into the limitations of the circuit network itself.
First of all, thanks for the links. Those were really fun.

However, I kind of question the benefit behind ALL of these gimmicks. Sure I use wires to control oil cracking too but that doesn't even require a combinator. You just wire your tanks together with a pump and let go of everything you have too much of.

And the rest?

Backup steam power
What do you mean by this? Manually controlling the number of engines hooked to your net? The game already regulates their power for you so what do you get from this? Does a 20% engine consume as much fuel as a 100% one or is there a profit to be made?

Programmable Assembler
That is super neat and all but...
Do you save space? There are a lot of combinators...
Do you save complexity? Doesn't look like it.
Do you improve production speed? Actually, it looks like you've spent a lot of time and effort to remove the speed up we normally gain from pipelining.

Smart Furnaces
Idk. Maybe you save mats for express belts you don't have to produce?


To me, all of these are very clever and interesting constructs but they're gimmicks nonetheless. There is no real gain in using them as far as I can tell and in some cases they may actually be harmful not only to your performance but to your productivity as well. The game regulates and controls everything that's essential for you while you can macromanage said control. I think it's best to take this route whenever possible. Maybe I'm wrong about this so feel free to correct me.

What I meant in my previous post was to have a part of the game actually depend on the proper use of combinators. That way, the devs can clearly define and balance the impact and actual use of combinators on your factory. Without that this game mechanic just doesn't feel fully included. In other games, Terraria for example, wires and devices are the ONLY way to get automated doors, make use of traps and statues or employ high tier technology like teleporters. Factorio needs an equivialent of these.
"--? How are commands compounded in a compounded compound command commanding compound composts." -defines.lua

Yoyobuae
Filter Inserter
Filter Inserter
Posts: 499
Joined: Fri Nov 04, 2016 11:04 pm
Contact:

Re: The sad state of circuit logic

Post by Yoyobuae »

Escadin wrote:To me, all of these are very clever and interesting constructs but they're gimmicks nonetheless. There is no real gain in using them as far as I can tell and in some cases they may actually be harmful not only to your performance but to your productivity as well. The game regulates and controls everything that's essential for you while you can macromanage said control. I think it's best to take this route whenever possible. Maybe I'm wrong about this so feel free to correct me.
If you only care about real performance gains then circuits are not for you. Simple as that. Go back to spamming robots, beacons and train systems.

Circuits are self-motivating. They are fun on their own, regardless of any performance gains. Heh, to a point circuits allow taking more control of the factory than ever. It allows taking off some of the "training wheels" the devs have built into the game
Escadin wrote:What I meant in my previous post was to have a part of the game actually depend on the proper use of combinators. That way, the devs can clearly define and balance the impact and actual use of combinators on your factory. Without that this game mechanic just doesn't feel fully included. In other games, Terraria for example, wires and devices are the ONLY way to get automated doors, make use of traps and statues or employ high tier technology like teleporters. Factorio needs an equivialent of these.
You know what I really hate: Games which try to force feed features to players. Players don't need to be told "you have to use X to achieve Y", it's like players are not considered smart enough to find out for themselves.

Frankly I'd prefer if devs don't try to force those little puzzles (like they are for nuclear powerplants) into combinators. They say combinators are supposed to be optional, an add-on to the base game, they called it. It's up to the player to decide to use them or not, for better or worse.

Escadin
Fast Inserter
Fast Inserter
Posts: 181
Joined: Thu Mar 17, 2016 3:15 pm
Contact:

Re: The sad state of circuit logic

Post by Escadin »

Huh. That's an unexpected outlash.
Yoyobuae wrote: If you only care about real performance gains then circuits are not for you. Simple as that. Go back to spamming robots, beacons and train systems.
Did you actually just turn "go play factorio" into an insult? Really? Was that necessary?

I need your help here. Could you explain what you mean with "force feed features" because the way I understand it this doesn't make any sense.
Last edited by Escadin on Wed Jan 18, 2017 2:36 pm, edited 1 time in total.
"--? How are commands compounded in a compounded compound command commanding compound composts." -defines.lua

dee-
Filter Inserter
Filter Inserter
Posts: 414
Joined: Mon Jan 19, 2015 9:21 am
Contact:

Re: The sad state of circuit logic

Post by dee- »

Personally I'm glad circuit logic is just a) "tacked on" and b) does not increase factory productivity because I think it is arkward to set up, cumbersome to use or adjust and terribly bends my mind as it does not have any easily approachable code flow control structures or any way of adding a documentation, variable scope, etc. to be of any use for me and the way I'm used to approach things.

I'm glad however others don't seem to have this adaption problem and create astounding things with it. Which I will only understand after investing serious time of reverse-engineering their contraptions. Which I will never do as it's after all still too cumbersome for me to use. Thus I ignore it. Completely.

Yoyobuae
Filter Inserter
Filter Inserter
Posts: 499
Joined: Fri Nov 04, 2016 11:04 pm
Contact:

Re: The sad state of circuit logic

Post by Yoyobuae »

Escadin wrote:Huh. That's an unexpected outlash.
Yoyobuae wrote: If you only care about real performance gains then circuits are not for you. Simple as that. Go back to spamming robots, beacons and train systems.
Did you actually just turn "go play factorio" into an insult? Really? Was that necessary?
Maybe I should've said it a bit differently. Still I dislike your calling circuit contraptions "unnecessary gimmicks".

Oh, but they are very well necessary. How else are we, the playerbase, supposed to find out the true value of circuit network if we don't fully explore the possibilities?
Escadin wrote:I need your help here. Could you explain what you mean with "force feed features" because the way I understand it this doesn't make any sense.
Escadin wrote:Terraria for example, wires and devices are the ONLY way to get automated doors, make use of traps and statues or employ high tier technology like teleporters. Factorio needs an equivialent of these.
That sort of stuff. If the devs made it so you HAVE to put a combinator besides each reactor to control it, then that's force feeding circuit network to all the playerbase. There's no choice, there's no interesting trade off. It's boring.

That kind of game design has a place in games like Zelda or something, were you get an item and then get to use it in places designed for it to be used.

I would prefer if use of circuits with reactors was instead strictly optional. Like reactors working perfectly fine without any circuit control, but with some degree of fuel waste. And with circuits the fuel waste can be minimized. Now there would be two choices to minimize fuel usage: the adjacency bonus and circuit control. And they would combine nicely too.

Escadin
Fast Inserter
Fast Inserter
Posts: 181
Joined: Thu Mar 17, 2016 3:15 pm
Contact:

Re: The sad state of circuit logic

Post by Escadin »

Yoyobuae wrote: I would prefer if use of circuits with reactors was instead strictly optional. Like reactors working perfectly fine without any circuit control, but with some degree of fuel waste. And with circuits the fuel waste can be minimized. Now there would be two choices to minimize fuel usage: the adjacency bonus and circuit control. And they would combine nicely too.
But that's exactly what I was suggesting. Perhaps you've never played Terraria but nobody actually needs an automated door. Nobody really needs a teleporter and you can do well without traps. All this stuff is optional but without a doubt beneficiary to anyone who spends the time to set them up. In contrast, the best use for circuit logic I've seen here was "well it costs performance but at least it doesn't break anything". That's what makes your contraptions gimmicks - not my personal disregard. It's an objective observation nothing else.

Force feeding features as you call it doesn't make any sense. So you hate it when a game wants you to use mechanic X to achieve Y? That would mean you hate that you have to use belts to transport items, that you have to load your weapons with ammo, that you have to use 4 movement keys to traverse the map. It would ultimately mean you hate to play factorio because it full of mechanics which you are required to use if you want to play it. It means you hate games in general because every game has rules by which it is meant to be played and mechanics you're more or less forced to use.
First time I ever hear this is a bad thing to be honest.
"--? How are commands compounded in a compounded compound command commanding compound composts." -defines.lua

Yoyobuae
Filter Inserter
Filter Inserter
Posts: 499
Joined: Fri Nov 04, 2016 11:04 pm
Contact:

Re: The sad state of circuit logic

Post by Yoyobuae »

@Escadin: This off-topic, so ending here.

Escadin
Fast Inserter
Fast Inserter
Posts: 181
Joined: Thu Mar 17, 2016 3:15 pm
Contact:

Re: The sad state of circuit logic

Post by Escadin »

I just think you grossly misunderstood what I suggest on how to improve circuit logic. Is trying to set that straight really off topic?
"--? How are commands compounded in a compounded compound command commanding compound composts." -defines.lua

Yoyobuae
Filter Inserter
Filter Inserter
Posts: 499
Joined: Fri Nov 04, 2016 11:04 pm
Contact:

Re: The sad state of circuit logic

Post by Yoyobuae »

Escadin wrote:I just think you grossly misunderstood what I suggest on how to improve circuit logic. Is trying to set that straight really off topic?
But you already did:
Escadin wrote:But that's exactly what I was suggesting.
I initially misunderstood due to this:
Escadin wrote:What I meant in my previous post was to have a part of the game actually depend on the proper use of combinators.
Depend sounded to me as non-optional.

Everything else is quite off topic, IMO. BTW, discussion about what's on topic or not is also off topic. :lol:

User avatar
hansinator
Fast Inserter
Fast Inserter
Posts: 160
Joined: Sat Sep 10, 2016 10:42 pm
Contact:

Re: The sad state of circuit logic

Post by hansinator »

Well I have to say that I don't accept any arguments that say you don't need circuits or that they are of no benefit, just a toy or that they become too complex and huge.

Why?

Because my motivation to create this thread was to change exactly these things. I'd like the circuits to become more useful. That they are more than just a toy. And if they would become more useful, all these arguments will have no substance.

huliosh
Long Handed Inserter
Long Handed Inserter
Posts: 59
Joined: Sun Nov 27, 2016 12:04 pm
Contact:

Re: The sad state of circuit logic

Post by huliosh »

I guess you just want more complex circuit by adding more useful combinators and objects which you can read contents from. And something like grouping comibinator, that is merging all combos into 1. It's what I want actually. But this would potentially cause more lags though. I see that the devs are hardly fighting with too complex formulas and cutting some features for better performance. Like belt optimization.

Nich
Fast Inserter
Fast Inserter
Posts: 171
Joined: Wed Jan 18, 2017 2:33 am
Contact:

Re: The sad state of circuit logic

Post by Nich »

I just wanted to chime in here that I am glad that circuit networks are optional. They are pretty tedious to place. At the same time the challenges and problems they can solve I am glad they are in the game.

Frightning
Filter Inserter
Filter Inserter
Posts: 807
Joined: Fri Apr 29, 2016 5:27 pm
Contact:

Re: The sad state of circuit logic

Post by Frightning »

hansinator wrote:
Frightning wrote: -New device called State machine (intermediate tech): It would have a configurable number of states (up to some reasonably small limit, maybe 5 or 10) as well as conditions for state change, and outputs associated with each state. The inputs would be used to trigger the state changes from one state to another. Vastly simplifies the creation of finite automata and other state-based systems.
I believe that is too advanced for many players.
Maybe you're not imagining it as I do:

The way I imagined it: The State machine would have a a few 'bubble's' in it's window that represent possible states. From that window, you could draw (via click-and-drag) directed edges that represent state changes (ala, the way I've seen finite automata represented in my Game Theory class). One could click on a drawn edge to set the explicit conditions for that edge. When the machine is in the state of the initial vertex of an edge, and the conditions of an edge are met, it's state changes to the terminal edge.

Post Reply

Return to “General discussion”