Circuits in the eyes of the "beginner", a 2k hour game

Post all other topics which do not belong to any other category.
Tertius
Fast Inserter
Fast Inserter
Posts: 160
Joined: Fri Mar 19, 2021 5:58 pm
Contact:

Re: Circuits in the eyes of the "beginner", a 2k hour game

Post by Tertius »

Serenity wrote:
Sun Nov 28, 2021 10:34 pm
You're probably thinking about far more general setups with calling trains on demand to random locations and bringing an ever changing selection of items. What I mean is far, far more simple.
Yes, I'm sorry that I got carried away with my latest toy I developed. I made a supply system whose loading station (re)fills a train with a selection of items, the items being configured by as many constant combinators as necessary. And the corresponding unloading station that will unload as many items as configured in the constant combinators of that station. It can be used to simply restock an outpost with ammo and repair kits, but it can at the same time also build a whole outpost from a put down blueprint, as long as the player builds the unloading chests, circuit and one roboport. This is why I built it in the first place: I was tired to build an outpost with not having enough items in my inventory to construct it fully.

It even loads the empty roboport to initiate robot operations and brings back trash to the loading station ;) It consists of 1 chest and 3 combinators per wagon that in essence only do adding/substracting/filtering/setting filter+stack size for the filtering stack inserter, but it's by far the most complex thing I ever did because of the wiring. The supply unloading station is intended to be located on the other side of the track of a mining post loading station, so that adds complexity as well to not mix the ore with the supply stuff.

mmmPI
Smart Inserter
Smart Inserter
Posts: 1445
Joined: Mon Jun 20, 2016 6:10 pm
Contact:

Re: Circuits in the eyes of the "beginner", a 2k hour game

Post by mmmPI »

mrvn wrote:
Sun Nov 28, 2021 9:10 pm
DaveMcW wrote:
Sun Nov 28, 2021 9:08 am
That "advanced combinator tutorial" article is a mess.

The "Logic gates" and "Multiplier" sections are useless mathematical trivia. They have no useful purpose in-game, they are just a problem solving exercise.

A "dictionary" section would be useful if it had images and complete examples.
+1 on it being a mess.
The multiplier is actually a very useful construct. Not so much as a multiplier but as a filter. You input the signals that need filtering on the green wire and on the red wire you input a 1 for each signal you want to allow through. The output then has only the allowed signals.
I think i made a less complex version of the multiplier viewtopic.php?f=193&t=100784

would anyone be kind enough to review it and make sure i haven't made mistake ?

blazespinnaker
Filter Inserter
Filter Inserter
Posts: 530
Joined: Wed Sep 16, 2020 12:45 pm
Contact:

Re: Circuits in the eyes of the "beginner", a 2k hour game

Post by blazespinnaker »

I eventually just gave in and decided the complete mess of inconsistencies that circuits and their documentation are is a feature and not a bug.

Once you look at the circuits as an almost limitless puzzle to be solved, your attitude will greatly improve. The way normal, trivial things in other metaphorical implementations will result in twisting your brain into knots when using factorio circuits is sort of entertaining - if you squint at it all just right.

Note though that this perspective does require a certain degree of veteran status. You might not achieve this level of enlightenment until about around 3k hours.

Seriously though, I've had hours of fun messing around with circuits despite their idiosyncracies. They are without a doubt, a net positive. I found reading the posts in the dedicated forum very helpful.
OptimaUPS Mod, pm for info.

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

Re: Circuits in the eyes of the "beginner", a 2k hour game

Post by DaveMcW »

Bilka wrote:
Sun Nov 28, 2021 9:28 am
You're warmly invited to change the wiki page. The logic gates section is mostly from when the arithmetic combinator could not do the bitwise operations. They were never removed because someone who has the necessary knowledge (like you :)) must say "these aren't used, really". I do not have that knowledge, so I refrain from touching the page too much.
I have improved the wiki by deleting every link to that article. ;)

Bilka
Factorio Staff
Factorio Staff
Posts: 2850
Joined: Sat Aug 13, 2016 9:20 am
Contact:

Re: Circuits in the eyes of the "beginner", a 2k hour game

Post by Bilka »

DaveMcW wrote:
Sat Dec 04, 2021 9:53 am
I have improved the wiki by deleting every link to that article. ;)
That's an interesting approach, but not a solution :p Especially not because a larger than usual amount of traffic of the page directly comes from outside the wiki. Anyway, normally the conclusion to "nothing links to this page" would be to remove the page. However, there is still useful content on that page, so if the conclusion is deletion, that content should be merged to other pages first.

So I took the page and tried out what is left if duplicate content of other pages (virtual signals, madzuri train loading, rs latch) and the logic gates were removed: https://wiki.factorio.com/User:Bilka/Sa ... inator_tut What is left is what I'd expect from an advanced combinator tutorial: "building blocks" that are abstract by themselves, but when combined make practical setups. While the simple memory cell and counter are also found on the circuit network cookbook page, I'd say that those are too abstract for that page, their only shown practical use is a sushi belt that already has another given solution on the page. Moving those to the combinator tutorial (and re-instating the removed links) would result in the following for me:
  • beginner friendly circuit network cookbook focused on practical use
  • advanced level combinator tutorial focused on explanations of technical components.
While looking through the pages, I stumbled upon viewtopic.php?p=148040#p148040 + following where the discussion suggests this setup (the cookbook didn't exist yet). I also see this kind of setup as beneficial since it doesn't remove existing information that has at least some explanation (though the multiplier and some of the memory cells are very borderline there). It's been a few years since that discussion, with both the wiki and the game changing a lot. What do you (all) think of the approach?

TL;DR: I think: Don't remove page, instead remove info that is duplicated on other pages and focus more on explaining the simpler building blocks of expert setups instead of the expert setups themselves. Give me your opinions please.
I'm an admin over at https://wiki.factorio.com. Feel free to contact me if there's anything wrong (or right) with it.

Tertius
Fast Inserter
Fast Inserter
Posts: 160
Joined: Fri Mar 19, 2021 5:58 pm
Contact:

Re: Circuits in the eyes of the "beginner", a 2k hour game

Post by Tertius »

In my opinion, two new tutorials (instead of the cookbook and the now unlinked combinator tutorial) should be created and existing content new organized.

The circuit network article should just explain what the circuit network does and how it is created. The existing article is pretty good organized.
The 3 combinator articles should just explain what the corresponding combinators do. The existing articles are good, although I personally would explain the details a bit differently - more explicitly, bullet lists are not good for explaining.

The new basic tutorial should explain which challenges can be solved with the help of the circuit network and give standard approaches. It should go from the most basic (purpose of red/green, how red+green addition work, what can be done with the simple conditions within lamps, inserters, pumps, lamps). The nature of the signal channels and the virtual channels. Include examples for the things literally everybody will use who gets to mid game and later mid game. Introduce combinators with their simplest use cases (for example multiply with -1 do subtract or how to create filters+stack size for filtering and stack filter inserters)

The new advanced tutorial should explain advanced combinator usage for setups that use more than 1 combinator. Setups that use counters, clocks, bitwise usage, how to exploit the implementation of the 32-bit binary numbers. Complex examples can include regulating a nuclear power plant with steam buffers, or equal loading/unloading of chests. It should contain practical examples, not a technical list of how to do boolean and binary math, because someone familiar with that don't need it, and someone not familiar with it will not understand it.

Existing content from the current tutorials should be distributed accordingly. There are some chapters and examples that should be moved to "the other" tutorial.

From my point of view and from the point of view of someone who studied both tutorials as a beginner only a few months ago, I wish a better didactic approach in these tutorials. They don't consequently start with explaining the basics and go to the next level by using what was explained earlier. Instead, they mostly throw a bunch of examples at you to digest. They don't properly address the reader as someone who is not yet familiar with the topic.

Currently, I'm more playing and less the teacher, but I assume I could find the time in the upcoming winter holidays for a skeleton of such tutorials, if you find my proposal not too bad. What I absolutely don't want to do is throwing away information the previous editors painstakingly collected. Just deleting stuff like DaveMcW did is something I don't approve at all. If someone wants to delete something, he has to give a proper replacement.

mmmPI
Smart Inserter
Smart Inserter
Posts: 1445
Joined: Mon Jun 20, 2016 6:10 pm
Contact:

Re: Circuits in the eyes of the "beginner", a 2k hour game

Post by mmmPI »

Bilka wrote:
Fri Dec 10, 2021 12:37 pm
beginner friendly circuit network cookbook focused on practical use
advanced level combinator tutorial focused on explanations of technical components.
What i like in this approach is that it makes it clear that the wiki is not the place to show advanced-example of practical use. Those would be extending the spectrum too widely and fits more the forum or any other means. ( or as illustration not as part of the information to make available :) ).

Having a beginner friendly part is a no-brainer (to-me). Having it dedicated to focus on practical use make sense to me as it allows to pick only what's needed without too much theory for setup that could help early in-game for a beginner, illustrating the purpose of the research and the items, with a thematic approach, cracking, belts interactions, inserter-chest related to train, accumulator and pumps for power.

I think the "explanations of technical components", i understood as "their precise behavior" belongs to the indiviual page of each combinators/components. It may be advanced, especially for the bitwise operation on the arithmetic combinators so the page could also include a mention such as " This page contain basic information about XXX but also all the details required to make advanced systems, for a more practical / easier start go see the page : combinator cookbook " Keeping the more complicated things at the end of the page as it's already the case.

The circuit network page itself already explain most things like , the 60 tick/sec, the automatic sum, the different color of wire, the time to propagate and all those notion that i think are sort of prerequisite to have in mind to be able to understand the "advanced build", once those notions are familiar you are not a beginner anymore (imo).

Then the advanced level combinator tutorial (imo) should be example of advanced bricks, such as memory cell, or pulse generator, or clock , counter and multiplier why not :) and other things i don't know about ; those are very generic bricks so an example of practical use in game is not really needed, instead it require a quick explanation on what it does on the circuit, the purpose of a clock, a memory cell, a pulse generator. And an example of an actual implementation while considering the previously mentionned notion are already known by the reader. Maybe as it's a tutorial, just explaining quickly how the "known rules" are applied in this particular case.

I think if it goes further than that it risk being a list of different design, (imo) it's up to the player to connect the pieces to put a clock and a memory cell together in the power plant past the example in the cookbook.

Bilka
Factorio Staff
Factorio Staff
Posts: 2850
Joined: Sat Aug 13, 2016 9:20 am
Contact:

Re: Circuits in the eyes of the "beginner", a 2k hour game

Post by Bilka »

Thank you for your opinions. For now, I have reinstated the links that DaveMcW removed.
Tertius wrote:
Fri Dec 10, 2021 1:46 pm
Currently, I'm more playing and less the teacher, but I assume I could find the time in the upcoming winter holidays for a skeleton of such tutorials, if you find my proposal not too bad.
I'm interested in your proposal, it sounds not too different from what I had it mind. I agree with your opinion on the didactic approach. The cookbook tries to introduce concepts in steps, but ends up doing so by just ordering the examples, instead of building on top of each other or explaining the new concept that is introduced.
mmmPI wrote:
Fri Dec 10, 2021 2:47 pm
What i like in this approach is that it makes it clear that the wiki is not the place to show advanced-example of practical use. Those would be extending the spectrum too widely and fits more the forum or any other means.
Yes, this is a good point and also something that I am aiming for. The discussion spawned by the mention of the multiplier really shows that in my opinion - it is an advanced setup, so there are many ways to do things and discussion to be had about the advantages and disadvantages. That's great, but the wiki can't really represent that in the way that a forum thread can.

I'd like to wait on Tertius's proposal before making large changes to the combinator tutorial. So for now, I have removed the logic gates from the page (the opinion that they are not needed seems to be quite uniform, including an old discussion on the talk page of the tutorial), but have not made further changes. Feedback is still very welcome :)
I'm an admin over at https://wiki.factorio.com. Feel free to contact me if there's anything wrong (or right) with it.

mmmPI
Smart Inserter
Smart Inserter
Posts: 1445
Joined: Mon Jun 20, 2016 6:10 pm
Contact:

Re: Circuits in the eyes of the "beginner", a 2k hour game

Post by mmmPI »

Bilka wrote:
Fri Dec 17, 2021 5:19 pm
The cookbook tries to introduce concepts in steps, but ends up doing so by just ordering the examples, instead of building on top of each other or explaining the new concept that is introduced.
That could be seen as the consequence of a non-linear gameplay. You can't guess precisely in which situation a player will look for circuits. What research is done already, and what problem they are trying to solve. This makes it difficult to have the approach where you build on top of the previous thing. The 'unordered' list allows 'any user' to jump to the sub-part whose title is closer to one's research and read the content which will possibly gives answers. Or go to look for other sub-part that may seem now required for better understanding.

Wether the ordering is somewhat related to a plausible research progression and ingame usage or to circuit complexity seem to me like a necessarily arbitrary choice. Same as "what belongs to advanced and what belongs to cookbook". There could be an "intermediate page" too :).

I'm tempted to think that things people use a lot will be added overtime if they were not included in the first place because it is impossible to anticipate what will players see on the internet and then try to search on the wiki. ( there are already examples already of popular player-made contraptions ! )

But apart from that I'm curious to see what's considered advanced or not. I would attempt to make the cookbook as easy and practical as possible as it's the first step it should be very low. "how do i use the wire". But maybe that's just me ^^.

Then the multiplier is a needlessly complex construction without clear purposes under its very generic form ( my very worst biaised sum up of the discussion on the other thread ). Despite that i think it fits where it was located, at the end of the advanced tutorial. Wether it should be on the wiki or not is like an editorial decision in my opinion.

It illustrate that pairwise multiplication is not "easy" by showing one way to do it with a demonstration and also inform that pairwise division is even worse. It was useful to me for that and i'm aware of other posts on the forum in the gameplay help section, sometimes people tries to make those operation without realising it could be very complex. That's just a*b or a/b after all. The article itself can provide answers even if the "best" design would require very long discussion with many factors, to me having 1 illustrating example is fine.

Tertius
Fast Inserter
Fast Inserter
Posts: 160
Joined: Fri Mar 19, 2021 5:58 pm
Contact:

Re: Circuits in the eyes of the "beginner", a 2k hour game

Post by Tertius »

I started a structure here: https://wiki.factorio.com/User:Tertius3 ... r_tutorial
Feedback welcome, however please don't edit the page itself yet but add it here or to the discussion/talk page of that article. Currently just collecting what should be in such a tutorial and how it could be organized. Please don't yet add actual content or formatting - it's too early for that.
I have more to add to that structure before fleshing it out with actual content and proper wiki formatting.

My approach to that kind of document is top down: first comes the top level table of contents, then the 2nd level table of contents, then the 3rd level, then descriptions what should be added to the various chapters, and only after this is done the real adding of real content can start.

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

Re: Circuits in the eyes of the "beginner", a 2k hour game

Post by DaveMcW »

I propose this structure:

Article 1: Circuit network cookbook
No combinators allowed. Show practical examples of how each entity can be controlled by the circuit network. The no-combinator rule makes it easier for beginners to read, and also avoids spoiling the "best" solution for many problems.

Article 2: Combinator cookbook
No bitwise operations allowed. Show practical examples of problems that are solved with a small number of combinators. The most complex example here should be a set/reset latch.

Article 3: Advanced combinator techniques.
Explain bitwise displays, pairwise multiplication, and anything else that is too complex for earlier articles.

Tertius
Fast Inserter
Fast Inserter
Posts: 160
Joined: Fri Mar 19, 2021 5:58 pm
Contact:

Re: Circuits in the eyes of the "beginner", a 2k hour game

Post by Tertius »

Looks valid, however it's really difficult to differ between regular and advanced combinator techniques. Differing by bit operations seems kind of arbitrary. There is also a leap of understanding required between direct combinator usage and feedback operations as used in clocks and counters. For the latter everything that relies on the game ticks and the input/output latency that comes with it. I consider everything that feeds back the output to the input as advanced already. The audience isn't necessarily knowledgeable with math and electronics. Ok, it's not extraordinary advanced, but as not obvious concept it definitely needs its own chapter with hands-on explanation and how you can single step in a lab environment to "see" it.

It's also a challenge to keep explanations generic and not show "how I would do it", since all this is intended to end up in the official wiki. The more advanced it is, the more difficult it is to find the generic-ness in it. I try to focus on concepts, not solutions.

FuryoftheStars
Smart Inserter
Smart Inserter
Posts: 1024
Joined: Tue Apr 25, 2017 2:01 pm
Contact:

Re: Circuits in the eyes of the "beginner", a 2k hour game

Post by FuryoftheStars »

Just to throw some "I'm not an advanced circuit network user" perspective in here....

Generic explanations are ok, but practical ones are often better. I for one have an easier time taking a practical example of something and adapting it to a new use than in understanding the generic pieces and putting them together. I've always been more of a hands-on learner than a book learner.

A few weeks back, I was going through some of my old BPs that I'd finally gone through the trouble of updating from 0.17 to 1.1 after a 2 year break and found my belt throughput counter wasn't working. I tried finding a new one online or understanding why it was broke, but all the threads I could find did a shite job in explaining it and their BP strings were older than 0.18, meaning I couldn't import it directly. I came across a wiki article (which I can't seem to find now, or from what you all have been doing its content has changed) which went over memory cells and clocks, and iirc, talked about throughput counters and how it used memory cells and clocks, but never actually went over how to combine them. This was useless to me. (Thankfully at some point I realized there was a circuit wire missing in my setup and was able to fix it. Most likely because I had it run to a power pole first and then forgot to include the pole in the BP.)

Also, in the current cookbook, I'm seeing references here and there of "this should look familiar to anyone" blah blah blah, then doesn't actually fully explain wtf it is. This really should be changed. :/

mmmPI
Smart Inserter
Smart Inserter
Posts: 1445
Joined: Mon Jun 20, 2016 6:10 pm
Contact:

Re: Circuits in the eyes of the "beginner", a 2k hour game

Post by mmmPI »

DaveMcW wrote:
Sun Dec 19, 2021 4:16 pm
I propose this structure:
Almost article 1)
https://wiki.factorio.com/Circuit_network

The actual page doesn't "show" instead it "tells". But it's already listing the different entity that can be controlled with the circuit network and could maybe be used as a base.

Not quite article 2)
https://wiki.factorio.com/Tutorial:Circ ... k_cookbook

The actual page is similar in the idea to article 2 despite a different name and some more complex example at the end. ( The question of the RS-latch is a special case developped later).


Wannabe article 3)
https://wiki.factorio.com/Tutorial:Combinator_tutorial

The actual page i think contain some more generic information about "EACH" "EVERYTHING" "ANYTHING" virtual signals that are advanced but may be more fitting at end of the article 1, since it's complex, as in requiring abstract thinking based on previously learned notions, but is still present without combinators. There is currently a lighter version in terms of explication in the "Almost article 1" that is almost duplicate content. ( and i'm not sure universal quantification is a term that should be used to explain things in the article 1 but instead should be in article 3) some content need swaping.


Tertius wrote:
Mon Dec 20, 2021 4:32 pm
it's really difficult to differ between regular and advanced combinator techniques. Differing by bit operations seems kind of arbitrary. There is also a leap of understanding required between direct combinator usage and feedback operations as used in clocks and counters.
It is arbitrary and there is no way around it i think. I share the opinion that there is a leap of understanding when it comes to feedback operations as used in clocks and counters.

This is why the question of RS-latch is special. I think it can be used to explain/introduce the feedback operations. This is because you can make flip flop without combinators, in this case you can understand one part of the logic, the notion of state and transition of state based on input. With 2 inserter 2 belts and a fish, you have a "simplified" and visual flip flop. This belongs to the 2nd article. maybe near the end of it because it's not "practical" it's more abstract and unrelated with direct in game purpose already sort of an extension toward the 3rd article. Or this can be used to control back-up steam engine. ( introduce hysteresis ).

I think the RS-latch doesn't require full understanding of the signal propagation, you can also understand it as a blackbox with simples rules of connexion that one has to respect otherwise it doesn't work. Presented after a simple flip flop made of inserter and belts, the next step of understanding is that the same logic is occuring every tick which makes it abstract since we can't follow visually the fish anymore. Depending on how deep you want to explain i think it can belong to the end of the article 2 or the beginning of article 3.

The clock i think should come at the same time, early in the article 3 or (slight preference) at the end of article 2. Because imo that's the most straightforward way to explain the "every tick there is an update and this is how it looks in the game". I think it fits at the end of article 2 if you consider a clock based on arithmetic combinator used to make a speaker ring every 2 hours so you can take a pause and exercise a bit to stay healthy and you set it off manually, it's not so advanced or abstract to understand compared to an RS latch. It terms of complexity it's about the same as a flip flop with fish and inserters in my mind.

Both the combinator-less flip flop and the single combinator clock are "logical bricks" one need to understand first before trying to understand the RS latch from the inside not as a blackbox. The first 2 bricks are not "advanced" on their own imo, but the RS latch is 2 step at once imo which makes it look advanced without the other 2 previous. Which is annoying since you can't tell from which entry a wiki-user will start reading, and it makes it worse if they are on different pages, which makes me think there could be an RS latch in the article 2 as the 'limit' the most complicated thing shown, as DaveMcW proposed. This way it's all on the same page. And/OR some more detail on SR and RS latch, starting the article 3.
Tertius wrote:
Mon Dec 20, 2021 4:32 pm
It's also a challenge to keep explanations generic and not show "how I would do it", since all this is intended to end up in the official wiki. The more advanced it is, the more difficult it is to find the generic-ness in it. I try to focus on concepts, not solutions.
At some point i think it is ok to just show something as "one example". Even if your solution is not "generic". Such as a multiplier doesn't need to be "the best" to illustrate that pairwise multiplication is more complicated than pairwise addition :).

For signal filtering device, it wouldn't matter in my mind if i'm shown a not generic one, something i could use directly, "how one would do it" and some explanation on how it works so i can modify it or make something similar. Rather than a generic construct such as the multiplier with explanations on how to use the generic multiplier as a filter.
Tertius wrote:
Sun Dec 19, 2021 4:04 pm
I started a structure here: https://wiki.factorio.com/User:Tertius3 ... r_tutorial
Feedback welcome, however please don't edit the page itself yet but add it here or to the discussion/talk page of that article. Currently just collecting what should be in such a tutorial and how it could be organized.
My first thought was that there was no mention of train related content, limits, reading trains ID, enabling disabling train stop or signals and/or loading unloading :) Then i couldn't find any mention of "pump" "nuclear" "power" "electricity" "steam" "engine" or those things. and also for "oil" and "cracking".

For this i think of things as cards or tokens. And then you need to either order the cards differently or add new cards, or split a card into 2 or merge some and rarely remove some cards. Then you can have card very precise like "a blueprint of a particular signal filtering device", or very generic cards like "train stuff" that will be sub divided in other cards later on.

I would have personnaly made cards with those 3 different thematic approach but not sure where it would have lead me and if it was a good start for a coherent exhaustive approach.

There are many +/- arbitrary ways to present the information, that's part of why you have editorial lines and management in medias :D I'm not too familiar with contributing to a wiki approach that has no chief editor x). From reading wikis, I would think that mutiplicating niche/very specialised pages is a risk of seeing them hosting outdated information but i don't think 3 or 4 pages is too many for circuit network it's reasonnable we're fine :).

Thus please understand those as only suggestion of possible content/ subtitle / tag or keyword that i feel a ctrl F should yield. Currently they appear in this page https://wiki.factorio.com/Tutorial:Circ ... k_cookbook which i think is what makes it the most useful for practical purposes. ( deep understanding is something else).

Post Reply

Return to “General discussion”