Building Circuit Abominations in Factorio

แชร์
ฝัง
  • เผยแพร่เมื่อ 12 มิ.ย. 2024
  • In this video, I teach you something, but I'm not sure what.
    Consider supporting what I do: / zyllius
    THE BLUEPRINTS
    Printer:
    factorioprints.com/view/-Nd7y...
    Other:
    factorioprints.com/view/-Nd7z...
    Make sure you're using these mods.
    mods.factorio.com/mod/pushbutton
    mods.factorio.com/mod/SantasN...
    mods.factorio.com/mod/textplates
    The Sandbox I'm using.
    mods.factorio.com/mod/EditorE...
    Image to Combinator Code:
    drive.google.com/file/d/1ICz5...
    The Raw Images:
    drive.google.com/file/d/180Sk...
    Map Download:
    drive.google.com/file/d/1_4dh...
    Music Used:
    Factorio OST
    Reed and Trsi - 118 in 64 and 194
    0:00 Intro
    0:54 Game Ticks
    2:57 Memory Cells
    4:28 Clocks
    6:34 AND / OR gates
    7:12 Latches
    8:10 Data Sanitization
    9:50 Pseudo-Random
    10:30 Bit-Packing / Encoding
    13:56 Shift Registers
    15:08 Throughput Reader
    16:55 Digital Displays
    21:18 The Actual Printer
    45:32 Outro and...?
  • เกม

ความคิดเห็น • 1.1K

  • @DoshDoshington
    @DoshDoshington  9 หลายเดือนก่อน +1277

    This is a bit of a weird one. I'll get to finishing up Seablock now
    The sandbox is the Editor Extensions mod.
    (At 11:35 I mistakenly say modulo it by 10,000 when it should've been 100.)

    • @gramioerie_xi133
      @gramioerie_xi133 9 หลายเดือนก่อน

      You motherfucker. I was right about to sleep. Now I absolutely can’t for almost an hour now.
      Bastard. Make worse content.

    • @Pedro_Colicigno
      @Pedro_Colicigno 9 หลายเดือนก่อน +29

      After watching, a lot of what you mentioned about memory handling, reminded of TIS, how you usually had a bunch of nothing cicles just to get the timing right. Actually, most things I can relate to Zachtronics games, hummmmmmmm I wonder why

    • @jmatya
      @jmatya 9 หลายเดือนก่อน +3

      Did you hopefully enjoy it at least? 😁 I mean it's wonderful. I'd make this a university class homework over the semester. 😇

    • @fauxfirefur
      @fauxfirefur 9 หลายเดือนก่อน +1

      I mean, you can just go into the editor and then overwrite the current plane of existence with lab tiles to get the same result.

    • @BloodyMobile
      @BloodyMobile 9 หลายเดือนก่อน +1

      Space Exploration Sea Block when? xD
      just kidding, I don't think that'd work in any way...

  • @earthypinkunicorns8986
    @earthypinkunicorns8986 9 หลายเดือนก่อน +4582

    Its crazy how this man explained everything so well and I understood none of it.

    • @alkhemia23
      @alkhemia23 9 หลายเดือนก่อน +87

      literally me frfr

    • @maxhallo1931
      @maxhallo1931 9 หลายเดือนก่อน +63

      Can't be caught liking this

    • @agushernandezquiroga9064
      @agushernandezquiroga9064 9 หลายเดือนก่อน

      People say there's no such thing as a bad student, only a bad teacher. This video proves that's bullshit.

    • @gekkenman9538
      @gekkenman9538 9 หลายเดือนก่อน +7

      100% agree !

    • @BloodyMobile
      @BloodyMobile 9 หลายเดือนก่อน +42

      Some things are simply too complex for one explaination to cut it.
      I've made a bit based resource encoder for Space Exploration, so multiple planets could request or provide resources via cannons on a single data line.
      Because back then I didn't feel like figuring out how to set up a time encoder instead. (turned out to be easy enough /after/ I tried, 200 hours into the save)
      And I /still/ only understood 1/4 of the printer : /

  • @InvadeNormandy
    @InvadeNormandy 9 หลายเดือนก่อน +1595

    Time to watch an entire video about a game I don't play and enjoy every second of it. 🗿

    • @john.dough.
      @john.dough. 9 หลายเดือนก่อน +16

      just like minecraft :)

    • @matt5075
      @matt5075 9 หลายเดือนก่อน +38

      Yes. Live vicariously through Dosh’s misery.

    • @bosch5303
      @bosch5303 9 หลายเดือนก่อน +6

      500h in 3 months here 🫠

    • @Wolfboy607
      @Wolfboy607 9 หลายเดือนก่อน +18

      I can't recommend this one enough. It's a steep learning curve, but many people turn out with an addiction.

    • @Joel-qo6gt
      @Joel-qo6gt 9 หลายเดือนก่อน +5

      Uh oh. I've been recognised.

  • @filiformis
    @filiformis 9 หลายเดือนก่อน +1455

    Coming from an embedded systems programming background it's interesting watching all of these fundamental computing concepts get built up in front of my eyes with all of these funny building blocks.
    Now build a RISC pipeline.

    • @flavortown3781
      @flavortown3781 9 หลายเดือนก่อน +24

      How would one program it? Putting items in boxes would be neat

    • @acters124
      @acters124 9 หลายเดือนก่อน +13

      Make a whole base risc pipelined

    • @dogefort8410
      @dogefort8410 9 หลายเดือนก่อน +56

      ... now I want a warehousing mod, but for logic operations. 😂

    • @TheGunzbeep-TG
      @TheGunzbeep-TG 9 หลายเดือนก่อน +7

      @@dogefort8410 THIS!

    • @luziferius3687
      @luziferius3687 9 หลายเดือนก่อน +50

      There are some proof-of-concept compilers for VHDL to factorio combinators out there.

  • @DouglasFish
    @DouglasFish 9 หลายเดือนก่อน +704

    You're on a different plane of existence and I am thankful I can absorb some of this knowledge

    • @Hr1s7i
      @Hr1s7i 9 หลายเดือนก่อน +13

      You won't be allowed to graduate electronics at any uni if you don't know this stuff.

    • @NONAME-ey6qs
      @NONAME-ey6qs 9 หลายเดือนก่อน +17

      @@Hr1s7i Idk, Im an electrical engineer and Im sure I wouldn't be if I was asked to explain whats happening in this video. Sounds more like CS to me, and sadly looks much cooler than what I do for a living.

    • @Hr1s7i
      @Hr1s7i 9 หลายเดือนก่อน +3

      @@NONAME-ey6qs Eh, I might be slightly off with this one. At the local uni, this kind of digital schematics and logic is told as part of electronics engineering course (the uni has separate diploma for electronics in the form of embedded systems and the like, while electrical engineering is a high voltage set of courses), automation course and CS course. I assumed it's the same everywhere else. My bad >.

    • @VOXindie
      @VOXindie 4 หลายเดือนก่อน

      @@NONAME-ey6qs the only CS part I could recognize is the bit related stuff.

    • @JorenVaes
      @JorenVaes 4 หลายเดือนก่อน

      ​@@NONAME-ey6qsAt least at my alma mater, CS focused on the algorithms. Digital design (which this very much is) is the realm of electrical engineers.

  • @macfeej
    @macfeej 9 หลายเดือนก่อน +118

    I love that he had True Nukes installed while doing this

  • @lolzinator44
    @lolzinator44 8 หลายเดือนก่อน +192

    unironically probably one of the greatest tutorials on basic comp sci on yt. This is like the first semester of a comp sci degree crammed into 45 minutes of watch time, you can even follow along in factorio itself as you watch. awesome.

    • @KamikazeCommie501
      @KamikazeCommie501 6 หลายเดือนก่อน +23

      This isn't 'basic'. The only people that understood anything in this video are people that already understood it before clicking it.

    • @thedapperturkey
      @thedapperturkey 5 หลายเดือนก่อน +15

      ​@@KamikazeCommie501there are alot of concepts in this video I didn't understand yet that I now do because of this video

    • @creativecraving
      @creativecraving 5 หลายเดือนก่อน +5

      Well, I didn't cover any of this in my Comp Sci coursework; I would have to assume it's for an electrical engineering degree, not a programming one.

    • @gabrielc7861
      @gabrielc7861 4 หลายเดือนก่อน

      ​@@KamikazeCommie501seems like a intelligence issue, this is advanced circuit knowledge, you'll only learn something if you have watched the previous video on basic circuit knowledge.

    • @joshualettink7582
      @joshualettink7582 4 หลายเดือนก่อน +9

      @@KamikazeCommie501 As a firmware engineer I can say that at work this would be considered basic indeed, of course in the context of hardware/firmware engineering.

  • @PicaMula
    @PicaMula 9 หลายเดือนก่อน +287

    As an EE and Factorio lover. This is one of the most amazing projects I have ever seen.

    • @jmatya
      @jmatya 9 หลายเดือนก่อน +1

      What is EE?

    • @tomaszkarwik6357
      @tomaszkarwik6357 9 หลายเดือนก่อน +20

      ​@@jmatyaelectrical engineer

    • @tistelnilsson
      @tistelnilsson 9 หลายเดือนก่อน +1

      Google Factorio Sandman. But this is the best explanation so far :) Really good project!

  • @cyrolocker1229
    @cyrolocker1229 9 หลายเดือนก่อน +494

    This video feels like my brain is being slowly microwaved while funkytown plays muffled in the distance
    10/10 factorio content

    • @notoriousgoblin83
      @notoriousgoblin83 9 หลายเดือนก่อน +12

      This is a perfect description

    • @theendofthestart8179
      @theendofthestart8179 9 หลายเดือนก่อน +2

      the fact that some will read this comment without knowing is insane to me

    • @robforskinstein
      @robforskinstein 9 หลายเดือนก่อน +8

      Not funkytown… 😐 🔪 💀

    • @deathkorpswatchmaster2414
      @deathkorpswatchmaster2414 8 หลายเดือนก่อน +2

      I love being a rival cartel member, ooh they are so nice they are giving me an IV

  • @cooldud7071
    @cooldud7071 9 หลายเดือนก่อน +168

    I never bothered learning circuits in Factorio, but these videos have made me consider making my own hardly-working garbage.

    • @Dschonathan
      @Dschonathan 9 หลายเดือนก่อน +21

      Ive built a nuclear power plant that would play All-Star by Smash Mouth whenever Uranium was successfully enriched without knowing any of the fundamentals of this video. Circuits are really fun and useful even if you don't know computer science.

    • @thefool8224
      @thefool8224 9 หลายเดือนก่อน +7

      @@Dschonathan someone made a darude sandstorm video inside factorio using this stuff. i dont even know how

    • @theendofthestart8179
      @theendofthestart8179 9 หลายเดือนก่อน +5

      at least make a sushi belt for science, they really look sooooo good and its satisfying to make it yourself

  • @Pedro_Colicigno
    @Pedro_Colicigno 9 หลายเดือนก่อน +214

    I think I've learnt more in this video than reading the wiki page tbh. Keep going Dosh, I hope I don't beat Seablock before you because your ideas usually help me haha

  • @genericytprofile852
    @genericytprofile852 9 หลายเดือนก่อน +41

    I've always found that learning how mechanics work, especially with programming/electronics, is way way easier to do when you have a project you are working towards. Learning concepts without any application is like learning to row while the boat is still on the shore. TY so much for this video, would love to see any of the other crazy stuff you do in your spare time. Next up, creating a computer monitor in factorio lol

  • @int2201
    @int2201 9 หลายเดือนก่อน +397

    Wow this guy seems super smart, he should be an engineer :)

    • @holl7w
      @holl7w 9 หลายเดือนก่อน +23

      engineer gaming.

    • @holl7w
      @holl7w 9 หลายเดือนก่อน +33

      the engineer is enginear your location.

    • @davisdf3064
      @davisdf3064 9 หลายเดือนก่อน +1

      Engineer? Yeah, he's engiNEAR HIS FUCKING LIMIT!

    • @MrTeddy12397
      @MrTeddy12397 9 หลายเดือนก่อน +11

      @@holl7w the engineer is engideer

    • @ilayfedorenko9713
      @ilayfedorenko9713 9 หลายเดือนก่อน +2

      He is, and he have degree to prove it

  • @dungewar
    @dungewar 9 หลายเดือนก่อน +99

    YAY, now THIS is the only tutorial that I've really ever needed, and I intend to fully watch it.
    I don't need all these tips & tricks, I already know them! But this beast is something else.
    thank you for making this

  • @weavminas
    @weavminas 9 หลายเดือนก่อน +6

    I'm sitting here in a combination of entertained, awestruck, and inspired.

  • @fiqures1529
    @fiqures1529 9 หลายเดือนก่อน +86

    I see circuits and Todd Howard and I know it’s gonna be a good time

    • @tiamatwar
      @tiamatwar 9 หลายเดือนก่อน +2

      You mean Hodd Toward?

    • @Zoabdy
      @Zoabdy 9 หลายเดือนก่อน

      Todd Coward

  • @TheAgamemnon911
    @TheAgamemnon911 9 หลายเดือนก่อน +31

    I like how with this printer, refilling the ink is actually the easiest part.

  • @canolathra6865
    @canolathra6865 3 หลายเดือนก่อน +3

    Trying to add proper kerning to what is more or less a multi-color dot matrix printer is exactly the sort of madness I expect from this channel.

  • @Floris_VI
    @Floris_VI 9 หลายเดือนก่อน +9

    The fact this video contains the word simple is truly a crime

  • @adamquinn5735
    @adamquinn5735 9 หลายเดือนก่อน +133

    But in all honesty this is the only guy who I have notifications on for and I have watched basically all his videos way to many times

    • @leduke79
      @leduke79 9 หลายเดือนก่อน +5

      High quality content, indeed. But there are several other streamers I enjoy, delivering in various formats. I would say don't stop with Dosh. Michael Hendriks insane difficulty and insight, BoldViking's ginormous builds, JDplays' soothing voice, Krydax' control, YamaKara's professional pasta, Nefrums and AntiElitz et al speedruns, and Ryan Brown has a good, compressed format, too.
      Not affiliated, just find that Dosh is a superb addition to the solid Factorio content factory.

    • @adamquinn5735
      @adamquinn5735 9 หลายเดือนก่อน +2

      ​@@leduke79thanks for the recommendations I'll look into them

  • @Gegellibu
    @Gegellibu 9 หลายเดือนก่อน +28

    For filtering out many signals at once there is actually a small-ish way to do so. To achieve this we multiply the signals of each wire together. This is done as follows:
    Let all signals on red be "r" and all on the green line "g". Then if we compute o = (r+g)^2 (which we can since addition & pow are valid AC operations) we obtain an interesting output signal:
    If we were to expand it we see that we get: o = r^2 + 2rg + g^2. If we now subtract the r^2 and g^2 from o we are left with 2rg, which after dividing by 2 is a element wise multiplication of each signal. In the end, if we were to assign "roles" to the different wires, such as red carrying the data, and green carrying the signals you wish to extract (either 0 or 1), then we end up with filtered line filtering an arbritrary amount of signals with only 7 ACs in total.

    • @Michaelonyoutub
      @Michaelonyoutub 8 หลายเดือนก่อน +1

      Yeah I was thinking something like this would have been possible when he was talking about it

    • @ColonelSandersLite
      @ColonelSandersLite 5 หลายเดือนก่อน +3

      Written a little more succintly for clarity, this would be -
      RG = [(R+G)^2 - R^2 - G^2]/2
      It's important to know that this is very flawed. The exponentiation will make this overflow pretty easily. The biggest number you can work with is +/-46340. In factorio terms, that's not really all that big. It's less than 6 cargo wagon loads of green circuits for instance.

    • @Gegellibu
      @Gegellibu 5 หลายเดือนก่อน

      @@ColonelSandersLite I'm aware of the overflow. However since we here have integer arithmatic, we are basically computing the entire thing mod 2^32, which in this case causes the overflow to occur in "both directions" e.g. when also computing the r^2 we have the same type of overflow.
      As I'm currently too lazy to prove the actual mathematical formulation for which numbers the above equation works I wrote a simple c++ script to just check all the possible combinations in the int32 type. This yields the smallest range of values which work to be [-1073741825, 1073741824] which is a lot larger than the estimate you've given.
      If intrested, the script was:
      ```cpp
      #include
      #include
      #include
      int main()
      {
      int32_t lower = std::numeric_limits::min();
      int32_t upper = std::numeric_limits::max();
      for (int32_t i = std::numeric_limits::min(); i < std::numeric_limits::max(); ++i) {
      int32_t a = (i + 1) * (i + 1); // (r + 1)^2
      int32_t b = i * i; // r^2
      int32_t c = a - b - 1; // (r + 1)^2 - r^2 - 1 = 2r
      int32_t d = c / 2; // r, should be equal to i
      if (d != i) {
      if (i < 0) {
      lower = i;
      } else {
      upper = i;
      break;
      }
      }
      }
      std::cout

    • @Gegellibu
      @Gegellibu 5 หลายเดือนก่อน +4

      However, I've recently also come up with a bit perfect way to extract any amount of signals, keeping the entire range of bits available (by doing a sort of vectorized AND operation)
      If we have our "data" signals given on the red line, and want to extract all the signals from it which are given on the green line, the "filter" line proceed as follows:
      1. The filter signals you want to extract should all be set to a value of -1 (or in hex 0xffff_ffff)
      2. Compute the following for both signals:
      a. "each" >> 1 -> "each" AND 0x5555_5555
      b. "each" AND 0x5555_5555
      3. Then add the results for the red and green signals on both the a. and b. branches, i.e. (red a. + green a.) and (red b. + green b.). This can be done by connecting them to the same next stage combinators. (Now if both signals have a 1 in the corresponding bit's place, it carries over to the next bit's place)
      4. Extract all the carried bits:
      a. (red a. + green a.) -> "each" AND 0xAAAA_AAAA
      b. (red b. + green b.) -> "each" AND 0xAAAA_AAAA -> "each" >> 1
      5. Now finally recombine the extracted carry bits by re-adding them, simply by connecting the outputs of both stages to the same line (e.g. red)
      The idea behind this is we extract every 2nd bit from the original integers, setting all others to 0. Then when we add the resulting numbers only if both signals were 1 in that bit's position will it carry over to the next bit position (where the carry propagation stops, as it is guaranteed to be 0). I.e. this means we have the result of the AND operation 1 bit higher. The other stuff is just for splitting it into the 2 un-interleaved values, and recombining the 2 paths lateron. (0x5 = 0b0101 and 0xA = 0b1010)
      What's even cooler is that this entire thing can be done in 3 game ticks, with 9 combinators iirc.
      As a side note: This algorithm also contains a way to do vectorized bitwise XOR, if instead of the carry bit, we look at the original bit positions.

  • @Orion_5764
    @Orion_5764 9 หลายเดือนก่อน +5

    No single part of this video is insanely complicated, but the perfect monotone and insane information density makes it very hard to follow 100% of the time. I found it best to watch it at 75% speed. Definitely learnt some tricks I never thought of in the first 8 minutes of the video

    • @Orion_5764
      @Orion_5764 9 หลายเดือนก่อน +1

      Well he just started explaining the printer itself and I am entirely lost. I'm just watching pretty pixels go across the screen 🫡 might have something to do with the fact that it's almost 4:00 a.m.

  • @ryanosborne7534
    @ryanosborne7534 9 หลายเดือนก่อน +11

    I started playing factorio recently and got a whole new perspective on just how good at this game you are. I was getting bottlenecked constantly literally everywhere, my factory was an eldritch horror of belt lines, and my oil production was all fucked up. Massive respect, guess that's why I'm a geographer and not an engineer

  • @TheLargestRat
    @TheLargestRat 8 หลายเดือนก่อน +5

    This was like a software engineering textbook stood up and started giving me a lecture. My brain is fizzing and I want to cry, thank you please make more

  • @sniksnik9809
    @sniksnik9809 9 หลายเดือนก่อน +11

    As someone who has never played nor will likely play Factorio or really any automation game, this was still super interesting to watch. The fact that you were able to break it down enough that I figure I could follow along in-game is highly impressive

  • @killingtimeitself
    @killingtimeitself 9 หลายเดือนก่อน +12

    Coming from a multi year background of technical MC where i have a very good understanding of applying basic logic and basic logic circuits in that specific application, and then my stints with Barotraumas logic system and its utter mess of complication, where i learned that somethings just can't be helped (if you know you know) to now, factorio, with is foreign but familiar seemingly logic system, that i understand partially, and just need to comprehend fully in order to make use of properly.
    I must say, thank you for this video. This is exactly what i needed in order to properly comprehend factorio logic properly.

  • @rocknred7647
    @rocknred7647 9 หลายเดือนก่อน +10

    I'm a huge fan of in-game logic systems being used to make things completely unrelated to the gameplay loop. From Doom in Factorio to advanced calculators in Minecraft, this stuff rules. Awesome video, would love to see more like it.

  • @Izithel
    @Izithel 9 หลายเดือนก่อน +21

    This is the second time this week I learned about bit shifting, probably a coincidence but it's funny that it happened twice.
    The other was about how OpenTTD generates its random town names.
    Also this is probably one of the best explanations of how circuits work so far.

    • @livedandletdie
      @livedandletdie 9 หลายเดือนก่อน +1

      That's an interesting tidbit of data, I didn't know they used bit-shifting to generate it's random town names.

  • @insanecreeper9000
    @insanecreeper9000 9 หลายเดือนก่อน +10

    Chekhov's nuke was a great addition, I kept wondering when it would crop up again

    • @romanzhed7220
      @romanzhed7220 9 หลายเดือนก่อน

      Huh, missed it. When did he planted the nuke?

    • @nadarith1044
      @nadarith1044 8 หลายเดือนก่อน

      @@romanzhed7220 In the pseudo-random part, at 10:12

    • @romanzhed7220
      @romanzhed7220 8 หลายเดือนก่อน

      @@nadarith1044 thanks!

  • @vfrostbane225
    @vfrostbane225 9 หลายเดือนก่อน +13

    I actually really love these tutorial type videos. genuine concepts and factorio knowledge packed into a madness fueled project.

  • @LazerWolf21
    @LazerWolf21 9 หลายเดือนก่อน +6

    As someone who just got their undergraduate degree in computer engineering a few months ago, I really can appreciate all the effort that went in to making this. I think I can understand how this works for the most part, but I might have to download the blueprint and see. Awesome content, keep it up.

  • @wizzowsky9099
    @wizzowsky9099 9 หลายเดือนก่อน +15

    This is hands down the best and most follow-able advanced circuits video I have seen. Cheers for some amazing work and an impressive printer!

  • @markeroo9297
    @markeroo9297 9 หลายเดือนก่อน +57

    Love this kind of content, but as a computer engineering major just getting back to classes I feel like I could just as well be doing homework 😂

    • @chrisj4288
      @chrisj4288 9 หลายเดือนก่อน +2

      But this is fun homework!

    • @Benny_Boo___
      @Benny_Boo___ 9 หลายเดือนก่อน +3

      or you could do your homework in factorio!

  • @ch10r0phy11
    @ch10r0phy11 5 หลายเดือนก่อน +6

    Who else voluntarily turned this 40 minute video into a 3-hour study session?

  • @kslav492
    @kslav492 9 หลายเดือนก่อน +1

    I love this. It seems immensely complicated and the speed that you explain it along with the sped up gameplay feels like you are shooting information into my brain and very little is getting in. Your channel is amazing, and I appreciate you making long form videos. Thank you!

  • @tjep2670
    @tjep2670 9 หลายเดือนก่อน +18

    Everytime Dosh says "but thats easy" I think no, no its not..😢

  • @honordevs
    @honordevs 9 หลายเดือนก่อน +3

    This video was exactly what I wanted, last time I played Factorio. I tend to get lost in the sauce, trying to figure out my own uses for translating functions into game mechanics, but it takes a long stare to come up with these designs... Then, I forget what I did and stare at it for another 30 minutes; trying to remember why you connect X to Y. I'm just glad to have it all in one great reference video.

  • @eighttimesnine
    @eighttimesnine 9 หลายเดือนก่อน +3

    this is genuinely one of the most interesting videos ive seen on factorio and taught me a lot. i was considering complementing my programming degree with a computer science degree and now i am Very Heavily considering it

  • @bramfokke1460
    @bramfokke1460 9 หลายเดือนก่อน +1

    The detailed explanation of how to create a digit display in vanilla the brute force way and how to optimize it was very educational. Great work!

  • @KriegsverbrechenGaming
    @KriegsverbrechenGaming 9 หลายเดือนก่อน +2

    ok so i am a trained electrician from germany, focus on automisation. half of my training (3,5 years long) was literally logic and how to make working and efficient software, machines and assembly lines. i somehow understood next to nothing even though you wonderfully explained everything, ngl. the fact you got this to a point you built that printer, honestly, hats off to you, beautiful stuff. great vid as well.

  • @KillingTheMeta
    @KillingTheMeta 9 หลายเดือนก่อน +3

    Love the vid Dosh, I have previous looked into how memory cells and clocks work with circuits, but could never get my head around why they worked. This was exactly what I needed.

  • @BWwazup
    @BWwazup 9 หลายเดือนก่อน +5

    I am only 12 minutes in and my brain hurts.

    • @nadarith1044
      @nadarith1044 8 หลายเดือนก่อน

      Train the brain, train it hard! if don't skip brain day it will eventually stop hurting

  • @rajdeeppaul296
    @rajdeeppaul296 9 หลายเดือนก่อน +2

    i can't even express how awesome this is, last time I was this much excited when I saw someone played Portal's still alive song in factorio by using circuits and speakers, and now you made a practical printer inside the game, and boy isn't it majestic. please make this kind of awesome things more

  • @webbugt
    @webbugt 9 หลายเดือนก่อน +3

    You made this in a perfect time for me. I just got back into Factorio after about 6 months.
    Right now I'm working on a "smart" train dispatch computer, where any compatible train can go to any compatible station. All tracked via resource, station and train IDs. Which can also be dynamically assigned, bypassing the need to input a lot of values via constant combinators.
    My latest version is fully "analog" in a sense it processes each resource separately and is based on constant signals and processing of the same. The version I am working on right now has "digital" memory, task assignment and such all while keeping track of train length/config/wagons in order not to send a fluid train for an ore task or a 6 long train for a 2 wagon train task.
    I managed to assemble (still optimizing it) an addressable memory cell where (in a pulse) "I" signal determines the "ID" or the memory position while the rest of the signals (excluding R) get stored. On the other side you can send a pulse of Q=some_id and you recieve the signal set as a pulse on the next tick. R=some_id erases given memory position and frees ub the memory cells for new values (since we a re working with the space limit of how many memory cells are in a single module).
    I've already got a working POC of train dispatching with 1 frame delay. 3 trains with exactly the same schedule going to 3 identical stops (only difference is the id). From a perspective of a single train. On the same tick, the train recives the signal to go and the specific station I need the train to go to is enabled (with 1 train limit). The destination station stays enabled via latch until a train arrives. The train will "take" the single position in the station on the same tick, allowing you to send other trains via the same mechanism.
    The only issue I am currently trying to solve on the conceptual level is what to do about low-power states. I still need to test what happens with an electronic circuit when it works at 10% of power or if it completely loses signals if power is completely lost.

    • @A_Simple_Neurose
      @A_Simple_Neurose 9 หลายเดือนก่อน

      Just make it run of a battery that charges periodically from the main network with a switch. You could pipe steam into tons of tanks to act as a higher capacity battery too.

    • @Xahnel
      @Xahnel 9 หลายเดือนก่อน

      I have an idea: have a low power mode. No trains run on low power mode, except fuel trains. Have the network turn off if you lose power entirely, and only reactivate by hand. Make turning it on also reset the dynamic trains, so new trains can be assigned to new stops dynamically from zero.

  • @TheLoneWolfling
    @TheLoneWolfling 9 หลายเดือนก่อน +9

    IIRC you can single-step combinators by pulsing power to them. Useful for debug.
    (IIRC: a combinator with insufficient power in its internal buffer to update will simply not update that tick.)
    I wonder if you can use this for banked shift registers or memory cells. Definitely has its disadvantages, but may be interesting in some applications.

  • @bucketofnubbins8532
    @bucketofnubbins8532 9 หลายเดือนก่อน +5

    A small detail, but I think the OR gate condition at 7:09 should be "checkmark > 0" rather than "checkmark > 1". Doesn't matter much as it goes by fast, but it could confuse someone. (>= would also work).

  • @l4vash
    @l4vash 9 หลายเดือนก่อน +2

    i probably won't get noticed but i really liked this tutorial, thank you dosh (your printer is awesome(

  • @calyodelphi124
    @calyodelphi124 2 หลายเดือนก่อน +2

    At 23:55 the technique that you employ with the belts is a similar technique used in PCB design for timing-sensitive signals: meandering. For anyone else reading with a desktop PC, if you take a moment to closely examine the printed traces on something like your computer's motherboard, specifically between the memory sticks and the CPU, you'll find TONS of wiggly traces that go back and forth. Those are meanders and their sole purpose is to make the traces all exactly the same length so that the data signals arrive to the CPU's input buffers at _exactly_ the same time. You'll also see this in the differential pair traces on expansion cards like graphics cards and whatnot because PCI express is similarly timing-sensitive due to the extremely high bandwidth.

    • @Cdrsan
      @Cdrsan 2 หลายเดือนก่อน

      I took a look on the pcb for my mobo and it's true, cool :)

  • @minecraftwizz1
    @minecraftwizz1 9 หลายเดือนก่อน +3

    I am ungodly early to this video but I've been waiting for this

  • @dragonridertechnologies
    @dragonridertechnologies 9 หลายเดือนก่อน +9

    This was amazing. It's also a good insight into how Factorio processes data, which appears to be some cursed combination of digital and analog logic in a way that it keeps the most annoying components of each while somehow being even more cursed. Having to combine signal timing, additive values, and a relatively low ceiling for integer values is something I was not aware I'd have to do, seeing as I've never built anything this complex before.
    I have to ask if the end of the video was really when your randomizer went off, or if you had that timed to activate when you were done. I can't see you actually building this in that specific an amount of time, or being willing to accept a random explosion taking out your work-in-progress...?

    • @DoshDoshington
      @DoshDoshington  9 หลายเดือนก่อน +6

      I stood around waiting for it to go off naturally, but it crashing the game was unexpected

  • @calebmcleod4089
    @calebmcleod4089 9 หลายเดือนก่อน +1

    Thank you so much Dosh for tutorials like this. At times my lack of coding background (although I do know some logic) limits my ability to use the right terminology when asking for the answer to a question, this gives me a solid floor to at least start on, much appreciated.

  • @olivevento6478
    @olivevento6478 2 วันที่ผ่านมา

    It’s amazing how he was able to visually demonstrate and explain autism like that

  • @RTOmega
    @RTOmega 2 หลายเดือนก่อน +5

    I feel like I just had a 6 hour seminar on computer logistics...

  • @Bearly_Coping
    @Bearly_Coping 9 หลายเดือนก่อน +6

    I feel threatened by this man.

  • @CFHoneyBadger
    @CFHoneyBadger 9 หลายเดือนก่อน +2

    Whew. Amazing tutorial! Definitely one of the more helpful and advanced one's I've seen.

  • @wilbursoderberg9533
    @wilbursoderberg9533 9 หลายเดือนก่อน +1

    Suprising that a machine like this one becomes so managable after being skillfully explained. Well done.

  • @omerfarukaydn9281
    @omerfarukaydn9281 9 หลายเดือนก่อน +4

    HOW TO CIRCUIT: BASICS

  • @AFlyingBird702
    @AFlyingBird702 9 หลายเดือนก่อน +3

    LET'S GOOOO

  • @asdfasdf-dd9lk
    @asdfasdf-dd9lk 9 หลายเดือนก่อน +1

    I absolutely love this, good work man !

  • @ktay2918
    @ktay2918 9 หลายเดือนก่อน +2

    Logged in just to comment a big thanks. Explaining how the ticks behaved really helped. Good luck with the things.

  • @Wespdx
    @Wespdx 9 หลายเดือนก่อน +3

    NOT THE ORPHAN OXEGEN SUPPLY!!

  • @viktort9490
    @viktort9490 9 หลายเดือนก่อน +5

    To work with 16 colors, can you add 16 to every values with a constant combinator and add 16 to the "request" of every inserter ?

    • @livedandletdie
      @livedandletdie 9 หลายเดือนก่อน +1

      The biggest problem with that is you have to do more math each step of the way.

  • @fjiordor
    @fjiordor 9 หลายเดือนก่อน +1

    Chapeau!
    I am in awe how you manage to move from simple to complicated at an even pace this video while integrating previously introduced concepts into more complex systems.
    Many lecturers I had in university were significantly worse at this that you.

  • @benediktkraas8576
    @benediktkraas8576 8 หลายเดือนก่อน

    Holy fudge, this was amazing! I made it to the end and will now never be able look at something seemingly magic in Factorio again and take for granted that it works. And I feel like at this point I understood about 40% which given I had little to no idea about combinators etc. but only most of the theorhetic concepts behind I find to be a good percentage. The first half of the video was better, deeper, more comprehensible than any other tutorial, blueprint, trial and giveup I have ever watched, reverse engineered and nuked respectively. All of that complex stuff explained in a halfway bored and halfway sarcastic voice was the icing on the cake. Amazing this is available for free for me to consume and break my mind over. Thank you!

  • @CriticalCipher
    @CriticalCipher 2 หลายเดือนก่อน +1

    This guide is very similar to engineering textbooks as in it doesn't make sence at first look but once you go around and play with the concepts it becomes super clear

  • @sinyefendrich6360
    @sinyefendrich6360 9 หลายเดือนก่อน

    I am not sure what's more pleasing. Watching impressive creations get to work or this soothing voice.

  • @marv1373
    @marv1373 2 หลายเดือนก่อน

    This is absolutely insane. great job !

  • @frequencyoffun5159
    @frequencyoffun5159 9 หลายเดือนก่อน +1

    Dude, I work in cybersecurity and this vid legit helped me understand technical aspects of my job. Wtf is this.

  • @gawarwawar2481
    @gawarwawar2481 9 หลายเดือนก่อน

    I will need to watch that several times, so many insights, so many cool tweaks, that I cant fully understand after watching it only once :D

  • @dzuchun
    @dzuchun 9 หลายเดือนก่อน +1

    I'm really graceful anyway for you showing basics of Factorio combinators. I'm unlikely to start a new playthrough soon, but I feel that these ideas are kinda universal, and should have applications beyond Factorio

  • @Hamster_90901
    @Hamster_90901 9 หลายเดือนก่อน +1

    Your videos are always fascinating, informative and entertaining!

  • @Sgnolbo
    @Sgnolbo 9 หลายเดือนก่อน +2

    This video has me deeply concerned for my liver, as my drinking game for this channel involves drinking everytime I hear the phrases 'constant', 'combinator', or 'constant combinator'.

  • @maximilianseibert7851
    @maximilianseibert7851 9 หลายเดือนก่อน +1

    After two minutes in, I forgot how understanding works. There were words thrown at me but I couldn't process them. It just felt like I was beaten up with computer science in my favourite video game. Great video. I love it

  • @illich1010
    @illich1010 9 หลายเดือนก่อน +1

    It's a masterpiece. I couldn't stop watching

  • @vikenemesh
    @vikenemesh 9 หลายเดือนก่อน +1

    Oh my, a big video about circuits from dosh.
    You're actually right on time for me with this one: My Seablock base outgrew its own rail network and i need circuit fuckery to accelerate the existing junctions near the depot...
    I also wanted to dabble with Recursive Blueprints for extending the island automatically and need a programmable control unit for the deployer...
    Very much appreciated, dosh!

  • @Teneombre
    @Teneombre 4 หลายเดือนก่อน

    I'm happy to see I figured out a few of the trick there by myself. I always thank that the clock was a monstrosity to do in factorio and never actually tried to use it. Thanks to prove me wrong!

  • @Smertyuk
    @Smertyuk 9 หลายเดือนก่อน +1

    Thank you, this video helped me simplify my multiple ore input demand controlled smelting array logic. Seriously, it's way more helpful than the wiki page.

  • @felixfelicitus2411
    @felixfelicitus2411 7 หลายเดือนก่อน +1

    Currently making a fully automated loader/unloader train stop, which is turning out to be more complex circuitry than I've done before. Your data sanitization section gave me what I needed to make it work, ty ty. Such a simple concept, ultimately, but it's hard as fuck to figure it out when you're just experimenting around with combinators.

  • @jmpreiss
    @jmpreiss 9 หลายเดือนก่อน

    Watched the whole video despite not doing this kind of stuff with the game because as a Physicist, I just enjoy listening to it. Good work on it all.

  • @forban3738
    @forban3738 9 หลายเดือนก่อน +1

    I think I actually understood most of it and if that's the case it will realllllly help me and my friends for our space exploration game! Thanks you so much for those tutorial of yours!

  • @mmaikeru3396
    @mmaikeru3396 9 หลายเดือนก่อน

    This was the most entertaining and fascinating thing I have ever watched. Amazing content.

  • @jayrizzo1454
    @jayrizzo1454 9 หลายเดือนก่อน

    Wow... Your genius is... Wow... Phenomenal and Baffling.
    Epic job my man!!!!

  • @joaolucasvieira2979
    @joaolucasvieira2979 9 หลายเดือนก่อน +1

    Wow this popped up when I was rewatching space exploration (all three videos) for the fifth time, great timing!

  • @davebooks792
    @davebooks792 9 หลายเดือนก่อน +1

    This is gonna be a video I need to watch a few times to fully absorb everything, but it will probably be more effective than the last 3 years of me trying to understand circuits.

  • @wpshadow
    @wpshadow 9 หลายเดือนก่อน +1

    Thank you a lot for this examples... I managed to complete my basic logic for my new base through your tutorial... It is awesome, thank you so much!

  • @dungewar
    @dungewar 9 หลายเดือนก่อน +1

    O k. I'm giving up on trying to understand this wizardry.
    Literally the most brain melting Factorio content for me throughout my 1000h of playing.

  • @alexprill8956
    @alexprill8956 9 หลายเดือนก่อน

    Amazing video loved learning how the entire thing worked as a student studying computer science. Keep up the amazing work

  • @blunttongs9982
    @blunttongs9982 9 หลายเดือนก่อน

    This is the kind of content I love. Building some highly-specific contraption for an incredibly mundane and not particularly practical use in the name of fun.

  • @jettspyder
    @jettspyder 9 หลายเดือนก่อน +1

    a little vine boom sound effect plays in my brain every time you mention something I've studied as an ee major

  • @datman6266
    @datman6266 9 หลายเดือนก่อน +1

    I needed this!! Thank you!

  • @justinschumacher7811
    @justinschumacher7811 8 หลายเดือนก่อน

    Very nice tutorial, thank you Dosh. I appreciate the time you put into this.

  • @PeddlerOfSmiles
    @PeddlerOfSmiles 9 หลายเดือนก่อน

    Thank you for this in depth and informative video. I think. ...my brain melted about half way through.

  • @user-dn5lr6lp4k
    @user-dn5lr6lp4k 9 หลายเดือนก่อน +1

    33:57 One crossed wire, one wayward pinch of potassium chloride, one errant twitch... And kablooie!

  • @malte00
    @malte00 9 หลายเดือนก่อน

    I absolutly hate myself for watching AND enjoying this video. I have no idea what most of these magic words mean but I'm happy to see it work.
    Great video.

  • @martinleopard193
    @martinleopard193 9 หลายเดือนก่อน

    God tier content!!! Love you Dosh!

  • @Dancor99
    @Dancor99 9 หลายเดือนก่อน

    I was just about to decide which video I was gonna rewatch, now this makes today so much better!

    • @jmatya
      @jmatya 9 หลายเดือนก่อน

      Now you will re-watch this video multiple times 🤣

  • @catsdelesip6385
    @catsdelesip6385 9 หลายเดือนก่อน

    That's absolutely amazing and crazy. I loved it !

  • @mikeydflyingtoaster
    @mikeydflyingtoaster 9 หลายเดือนก่อน

    Please please please make more videos like this! I love your other videos too but I wanted to make sure you know how much videos like this are appreciated!

  • @Shadowyurix
    @Shadowyurix 7 หลายเดือนก่อน

    Absolutely loved this one ❤

  • @williamwhipple9745
    @williamwhipple9745 9 หลายเดือนก่อน

    I really appreciate this as a newer factorio player (thanks to your videos) very informative