Factorio teaches you software engineering, seriously.

Поділитися
Вставка
  • Опубліковано 20 лис 2024

КОМЕНТАРІ • 6 тис.

  • @TonyZhu
    @TonyZhu  11 місяців тому +4024

    Man this is the best fking community ever, ya'll are too nice and so freaking wholesome

    • @itsjustrobby
      @itsjustrobby 11 місяців тому +14

      This is such a good video. Thank you!

    • @teknoid5878
      @teknoid5878 11 місяців тому +8

      And the game is like a decade old, but still great with DLC quality mods. Already a month on K2 + Space exploration, still half of the tech tree. :D

    • @Sunneyred
      @Sunneyred 11 місяців тому +17

      Great video youre gonna blow up dude keep uploading it will happen, you earned my sub

    • @teaser6089
      @teaser6089 11 місяців тому +7

      The Factory Must Grow

    • @santi_z48
      @santi_z48 11 місяців тому +3

      U da 🐐

  • @enyakstew7107
    @enyakstew7107 11 місяців тому +9386

    Playing factorio gave me the idea of pursuing software engineering. After 3 years as a Software engineer, I finally reached my goal, which is to get better at Factorio.

    • @chadwells7562
      @chadwells7562 11 місяців тому +64

      😂

    • @piemaster6512
      @piemaster6512 11 місяців тому +249

      The factory MUST grow.

    • @austin-poole
      @austin-poole 11 місяців тому +70

      Factorio > $500K package from Netflix 😂😂

    • @sailorjune2121
      @sailorjune2121 11 місяців тому +10

      Same but with bitburner

    • @kh4i2h4r3
      @kh4i2h4r3 11 місяців тому +19

      esport is a thing, now lets make Factorio a courses too....or maybe it already did....

  • @DoshDoshington
    @DoshDoshington 11 місяців тому +16813

    Being a software engineer turned me into a Factorio Player

    • @pyaehtetaung
      @pyaehtetaung 11 місяців тому +308

      I dream to be a game dev. I think I will turn into a Factorio player when dlc is released. 😅

    • @TonyZhu
      @TonyZhu  11 місяців тому +1082

      Dosh ooc have you had any success with talking to your fans' moms?
      Huge fan btw.

    • @TheCheese117
      @TheCheese117 11 місяців тому +71

      Teach me how to play space exploration Dosh 🙏

    • @mg-by7uu
      @mg-by7uu 11 місяців тому +16

      Me too but only when I don't have enough jobs to fill my brain to capacity.

    • @KreyMcKii
      @KreyMcKii 11 місяців тому +44

      Being a Factorio player will have turned me into a software engineer(if I can stop playing Factorio for long enough and actually pass my exams)

  • @Trupen
    @Trupen 11 місяців тому +5243

    Factorio is like the best part of programming turned into game
    Which literally makes it a crack for engineers...

    • @JeyDeee89
      @JeyDeee89 11 місяців тому +357

      You can never watch a Factorio Video in peace... everytime you find out TRUPEN WAS ALREADY HERE!

    • @kyand920
      @kyand920 11 місяців тому +82

      Trupen is everywhere.

    • @Jakub-vv2sc
      @Jakub-vv2sc 11 місяців тому +68

      He's like Big Brother who watching all factorio comiunity

    • @Trupen
      @Trupen 11 місяців тому +152

      @@JeyDeee89

    • @daze8410
      @daze8410 11 місяців тому +24

      I would like two cracks please

  • @Robin_Goodfellow
    @Robin_Goodfellow 4 місяці тому +243

    This is actually why I struggle with factory builder games. I'm drawn to them because they're like programming, but then I stop when it starts to feel too much like my actual job

    • @Rs-fg1rz
      @Rs-fg1rz 3 місяці тому +8

      I hate how real this is. specially when you almost every time debug the base to have good flow😂

    • @ismailjan2509
      @ismailjan2509 Місяць тому +6

      I was playing Oxygen Not Included a couple months ago and this is exactly what stopped me from continuing even though I was addicted. Keeping alive all my duplicants while optimizing every aspect started to feel like a job and became stressful lol

    • @lynic-0091
      @lynic-0091 5 днів тому +1

      Same lol, I game to relax, not to work even more

    • @kettelbe
      @kettelbe 2 дні тому

      Maybe same too

  • @Lithane97
    @Lithane97 11 місяців тому +1589

    If you really want to understand the sickness that is factorio, one of the recent changelog notes for the game mentioned the need to up the max save file time played from 2 ish years because someone hit that number awhile back and overflowed some variables, causing their save game to essentially be paused. The devs then decided to do the logical thing and increase the possible save file time played to over 2 million years. The factory must grow.

    • @TonyZhu
      @TonyZhu  11 місяців тому +232

      Good lord what a story lol, thanks for sharing

    • @iamjimgroth
      @iamjimgroth 11 місяців тому +39

      Nobody will ever need more than 2 years! 😁

    • @KatieDawson3636
      @KatieDawson3636 11 місяців тому +62

      Nothing has made me hope that humanity has a continuous computing ability for the next 2 million years before....

    • @toddstephenson9849
      @toddstephenson9849 11 місяців тому +29

      Steam says I have 16,000 hours playing Factorio. My big world is running all the time, I never shut it off.

    • @falconking9091
      @falconking9091 8 місяців тому

      ​@@toddstephenson9849ok you're closer to 2 million than I am. I think I'm gonna try your strategy.

  • @ОбразцовТимофей
    @ОбразцовТимофей 8 місяців тому +179

    You scale your factory, at some point something stops working, you invent a new design, you scale futher, repeat. Just like in software engineering.

    • @katuni08
      @katuni08 3 дні тому

      Do you scrap the whole thing and start again in software engineering? I’m currently learning Factorio and find myself destroying my factories and systems because I “good enough”’d too many times and now everything is clogged 🥲

  • @MuhsinFatih
    @MuhsinFatih 11 місяців тому +1704

    I'm a software engineer and you just convinced me to play factorio. Not even kidding

    • @TonyZhu
      @TonyZhu  11 місяців тому +406

      As I said in another comment, please consider carefully about this - especially if you have real life responsibilities like eating and sleeping! Half jokes aside, I'm happy to hear that I'm making an impact in the Factorio AND software engineering community. Thank you for commenting!!

    • @Spheraz
      @Spheraz 11 місяців тому +106

      just doing your job in another format without the part where you get paid lmao

    • @jmatya
      @jmatya 11 місяців тому +98

      It has been 14 hours now, please consider going to the toilet and get some sleep

    • @galfisk
      @galfisk 11 місяців тому +8

      Factorio is seriously fun, but I found it a bit limiting that there is a clear "best" way to do many things, just by figuring out the ratios of production and consumption. I enjoy the constrained freedom of the Zachtronics games even more, and have finished SpaceChem and started TIS-100 and Shenzhen IO so far. Kerbal Space Program is also a ton of fun, though it lacks consistent goals and challenges (I find many of the procedural contracts to be soulless) - but you can set your own or accept those set by others to infinity.

    • @dripthanos5595
      @dripthanos5595 11 місяців тому +11

      @@galfisk i mean sure there is the "best" way, but there are so many ways of achieving that "best" way.
      personally i like making my production into fractions of 900, since thats the normal belt speed per minute

  • @Tano_cci
    @Tano_cci 5 місяців тому +42

    The your mom jokes really tied everything together, I don't know if I would've understand all of it without them, great work!

  • @matthewhambacher8249
    @matthewhambacher8249 11 місяців тому +886

    Okay so first, I learned what it's like to play Factorio with friends. Then I learned how NOT to play Factorio with friends (by learning what it's really like). But now I'm learning that playing Factorio will make me a software engineer? Incredible, this truly is one of the games of all time.

    • @TonyZhu
      @TonyZhu  11 місяців тому +92

      Indeed, a game they will continue to speak of for at least a few weeks to come!

    • @LuaanTi
      @LuaanTi 11 місяців тому +51

      It's especially great in showing how software engineering works in multiplayer :P

    • @bartoszdobija2069
      @bartoszdobija2069 11 місяців тому +42

      playing factorio with friends is like constantly deploying to production without testing

    • @needs_more_dakka5774
      @needs_more_dakka5774 11 місяців тому +2

      The factory must grow.

    • @galfisk
      @galfisk 11 місяців тому +3

      The factorio must growio.

  • @michaelclifton2436
    @michaelclifton2436 11 місяців тому +1108

    Bros got some clean editing skills. This video must have taken forever.

    • @TonyZhu
      @TonyZhu  11 місяців тому +185

      It did lol, all I remember is blacking out and waking up 2 weeks later with those socks on and a finished video

    • @blackcitadel37
      @blackcitadel37 11 місяців тому +18

      Worth the effort

  • @Emanuel-sla-h5i
    @Emanuel-sla-h5i 11 місяців тому +393

    Change NOTHING to this format, it's brilliant!
    The pacing, the jokes, the knowledge break-down, everything just right! *chef's kiss*

    • @emreapaydn4064
      @emreapaydn4064 11 місяців тому +2

      Exactly!

    • @WhizPill
      @WhizPill 11 місяців тому

      @@emreapaydn4064instant subbed

    •  Місяць тому

      Agreed!

    •  Місяць тому

      @TonyZhu (If something, I'd personally recommend just playing jokes straight without resorting to self depreciation. At least not every time. Segways are efficient for being shaped in traffic and "your mom" will never become unfunny. You can even ask from the greatest technician that's ever lived!)

    •  Місяць тому

      (If something, I'd personally recommend just playing jokes straight without resorting to self depreciation. At least not every time. Segways are efficient for being shaped in traffic and "your mom" will never become unfunny. You can even ask from the greatest technician that's ever lived!)

  • @sergion2777
    @sergion2777 2 місяці тому +8

    1. The style and way this is done, is perfect. I wouldn't change a thing. 2. Giving me actual keywords I can put on my resume from hours of game time is AMAZING. More of this please! 3. This video also helps me better understand what careers would connect well with my gaming interests AND lets me justify my interests in gaming and translate them to real world use cases!! This is an INCREDIBLE thing you're doing, please do not stop!

  • @programmer437
    @programmer437 11 місяців тому +2108

    If you build city blocks, you’re heavily into object oriented languages. If you build main bus, you code procedurally. If you build spaghetti, you code in perl.

    • @angeldude101
      @angeldude101 11 місяців тому +41

      What style would be best suited for a functional programmer?

    • @programmer437
      @programmer437 11 місяців тому +171

      @@angeldude101 - functional and procedural are sortof two sides of the same coin in my opinion. But I think a functional programmer would lean slightly more towards city blocks, or at least dedicating certain areas of the base to certain things.
      A true Object oriented developer who understands things like super classes and inheritance might lean towards more generic blocks (mining block, chemical block) that can fit multiple needs while functional programming would be more specific (electric motor block, light oil block, etc).

    • @TonyZhu
      @TonyZhu  11 місяців тому +211

      Pretty solid analogy and interesting thoughts! Definitely am thinking more about functional programming after reading these comments :)

    • @angeldude101
      @angeldude101 11 місяців тому +43

      @@programmer437 Functional programming is largely about composing small pieces into larger blocks. This sounds more like creating blueprints for each individual recipe and then plugging the output of one directly into another before blueprinting the whole thing as another block.

    • @haraldbackfisch1981
      @haraldbackfisch1981 11 місяців тому +1

      But the train is the main bus, or is this Rust then?

  • @OnePlanetOneTribe
    @OnePlanetOneTribe 11 місяців тому +2445

    My mom really liked this video

    • @aa898246
      @aa898246 11 місяців тому +43

      your mother is a really nice person

    • @mattshu
      @mattshu 11 місяців тому +25

      she's a nice lady

    • @noname-dj7vj
      @noname-dj7vj 11 місяців тому +49

      Can confirm, I am his mother and I like this video

    • @IPutFishInAWashingMachine
      @IPutFishInAWashingMachine 11 місяців тому +3

      Cap

    • @s0kulite
      @s0kulite 11 місяців тому +20

      Can confirm, I am his brother and my mother liked this video.

  • @xaaf
    @xaaf 11 місяців тому +360

    I love how unhinged yet super solidly structured this video is
    As someone who loves factorio and also studies computer science, I relate to this and love this explanation

  • @LeoUli-qs3rk
    @LeoUli-qs3rk 5 місяців тому +45

    I played factorio like a mad man, then 10 years later I dropped my healthcare career to go back to uni and get a computer science bachelors degree. That itch is eternal.

    • @saki-chan5482
      @saki-chan5482 Місяць тому

      I dont like how relatable that feels..... if you predict my future career path istg

  • @rashkavar
    @rashkavar 6 місяців тому +1258

    One thing that's worth noting: a lot of these shared terms actually come from a third, much older discipline called industrial engineering. Which is pretty much playing Factorio for real. Say you're running a textile business in the early industrial revolution. You work with linen, so you buy flax, you have to break it down into fibres, you have to spin those fibers into thread, you have to run that thread through a loom to make fabric, and you need to bundle that fabric up into bolts to be sold. And to make things complicated, you also make bedsheets and tablecloths, so you also do some sewing using thread and fabric to make your sheets and tablecloths. (No idea if these were available off the shelf in those days, I know clothing generally wasn't, but this is just to make a point.
    Ok, so you've got a facility that produces thread and fabric. How many spinning jennies do you need? How many powered looms? What kind of steam engine do you need to run all that? And because the steam engine is noisy and disrupts the people who are sewing your sheets and tablecloths, you have them in a different facility - how often do you need to cart a shipment from your textile factory to your sewing people. The only facility available for this was across town, did you decide to transport your stuff all the way across town, or just pay some folks living nearby to make product for you in their own homes? If you did the latter, how are you managing your deliveries of materials and picking up of product?
    These are literal business decisions that have had to be made pretty much since the advent of the factory in its earliest form, and have been studied by actual engineers for a similar length of time. I still have my notes from that class!

    • @sergiod3v
      @sergiod3v 6 місяців тому +28

      great comment, very interesting, thank you!

    • @PhazerTech
      @PhazerTech 6 місяців тому +55

      You could compare Factorio to pretty much any process that humans do, some which have existed for thousands of years. For example, farming. People have been trying to optimize farming since the beginning of time. More food = good. But it's not that simple, it requires a bunch of little details and other smaller tasks to do. Someone could probably do a 1 hour video comparing all the similarities with Factorio and farming.
      Also there have been plenty of games before Factorio which are essentially the same thing. Off the top of my head Sim City and Roller Coaster Tycoon. At the end of the day it's just management. I think it's fun that people are comparing Factorio to software engineering but at the same time some people might be taking this too seriously.. the reality is learning Factorio doesn't make you a software engineer. There are a ton of other skills required to be a successful engineer.

    • @thad1v
      @thad1v 5 місяців тому +8

      Totally agree. The link I see from my background for example is with project management schedule management. When to start what task with how many resources that overall project duration is minimized while maximizing finishing date predictability

    • @Hacktheplanet_
      @Hacktheplanet_ 5 місяців тому +3

      好写的评论

    • @whitnbits2253
      @whitnbits2253 5 місяців тому +11

      I'm in Operations Management and it's made me such a good Factorio player. Everyday is just allocating resources and labor to certain tasks to produce X amount of finished goods in X amount of time. Code tracing is a term I've never used but it's a daily currency in manufacturing. Root cause analysis, traceability, reducing bottlenecks, law of the minimum, etc.

  • @colinwong1059
    @colinwong1059 11 місяців тому +625

    My love for factorio got me to start exploring software engineering at a really young age!
    I am now a psych major.

    • @TonyZhu
      @TonyZhu  11 місяців тому +136

      Lmao well done, I’m glad at least one of us is actually getting their problems solved

    • @smoove2303
      @smoove2303 11 місяців тому +73

      @@TonyZhuthat’s a funny assumption you think psychologists have there shit together

    • @djordje123king
      @djordje123king 11 місяців тому +43

      @@TonyZhu It's a cardinal sin for a psychologist to diagnose themselves, it's a treasure they guide others to

    • @yashaswikulshreshtha1588
      @yashaswikulshreshtha1588 11 місяців тому +1

      @@TonyZhu I didn't think I'd end up in a medicine program :(

    • @gogauze
      @gogauze 11 місяців тому +7

      I actually finished my psych programs and practiced for a while (disabled now, meh). Then I got interested in software for the fun, and now I'm about to download factorio. RIP

  • @sarthakdravid8405
    @sarthakdravid8405 6 місяців тому +763

    Back in school, for my final science exam, i had a question on how a nuclear reactor works, I didnt study that part, It was an 8 mark question out of a 60 mark paper, I wrote down how a reactor works in factorio, I got 6 marks out of 8

    • @galenc1606
      @galenc1606 5 місяців тому +124

      I can already hear North Korea frantically writing this down.

    • @Content_Deleted
      @Content_Deleted 5 місяців тому +19

      lmao, that's amazing

    • @_Dude_What
      @_Dude_What 5 місяців тому +10

      Sweet! What did you write?

    • @sergemarlon
      @sergemarlon 4 місяці тому +26

      He probably doesn't remember what he wrote. What I want to know is how a nuclear reactor works in Factario. Anyone care to explain?

    • @Rikokknd
      @Rikokknd 4 місяці тому +75

      @@sergemarlon in Factorio nuclear reactor burns uranium fuel, producing a lot of heat. Heat is then used to turn water into 500-degree-hot steam. Steam is then fed into turbines to generate electricity.

  • @xcelerate1000
    @xcelerate1000 3 місяці тому +8

    I will never think of software bugs the same: bad update = actual bugs destroying my furnace.

  • @eliucidate
    @eliucidate 11 місяців тому +760

    Train signals are probably a great way to talk about mutual exclusion and deadlocks when dealing with multi-threaded programs!

    • @aladeenzweipunktnull
      @aladeenzweipunktnull 11 місяців тому +49

      There is a reason why it is called semaphore ;)

    • @violatorut2003
      @violatorut2003 11 місяців тому +10

      I wish he would do a video about that because that's the part I struggle with. Train signals, I mean.

    • @NaoyaYami
      @NaoyaYami 11 місяців тому +20

      @@violatorut2003 Before intersection - chain signal. After intersection - regular signal.
      Since chain signals combine with regular signals to create single blocks (they are separate to the game but they function as one, so same thing) make sure that after every regular signal there's a space for the largest train you expect to travel through it (so that it's ass won't take space on block before, potentially causing dead lock on intersection).

    • @gameringdudeguy1126
      @gameringdudeguy1126 11 місяців тому +5

      after dealing with train signals very early and a lot, i feel like a godlike being for even understanding how city block rails work

    • @Koruvax
      @Koruvax 11 місяців тому +4

      Trains are the great divider in my experience. Up until them it's a lego set, mash it together and it works. Then you dip your toe into using train lines. You've been on trains, they just trundle along. You've balanced conveyors all day long, how hard can trains be? And BOOM, completely new puzzle. Completely new puzzle, with so few parts, yet so much fun to solve!

  • @heyitskae
    @heyitskae 11 місяців тому +958

    My experience in Factorio has led me to a singular conclusion: I am not fit to be a software engineer.

    • @birchcove8454
      @birchcove8454 11 місяців тому +16

      lol same, though this video makes me want to try again

    • @iCookCrystalMeth
      @iCookCrystalMeth 11 місяців тому +28

      @@birchcove8454likewise except i’ve never played it. pull me out if my brain grows too large brothers

    • @DexPlushy
      @DexPlushy 11 місяців тому +40

      You can be a professional software engineer and still suck at Factorio!

    • @kotzpenner
      @kotzpenner 11 місяців тому +6

      It’s all fine until wiring comes up

    • @prome3439
      @prome3439 11 місяців тому +30

      Played it with some friends. After first or second science i build myself a 4x4 belt and watched myself rotate. I couldnt comprehend it anymore.

  • @alexcrouse
    @alexcrouse 9 місяців тому +1314

    The new invention that blows my mind in this video is: a funny software engineer.

    • @nuisanceguru
      @nuisanceguru 8 місяців тому +25

      he's had the luck of not being an electrical or computer engineer

    • @tomchambers4537
      @tomchambers4537 7 місяців тому +11

      Yeah seriously this is like a different angle of micheal Reeves. If this guy keeps at it and improves he could actually do really well on here.

    • @carlosdartora9319
      @carlosdartora9319 5 місяців тому +2

      yeah and unpretensious too

    • @Fran-kc2gu
      @Fran-kc2gu 4 місяці тому

      lol this is what people consider funny now days? this is just a weirdo

  • @matteomontanari2960
    @matteomontanari2960 2 місяці тому +6

    I was thinking about that the other day. It's completely true, but not just for software engineers; it's how any engineering on a "high level" should be done. Everything in production (both in software and in a factory) is viewable as a square with something that goes in and something that goes out. Once you understand that you can write the code in between, design a production machine, set the controller... with something going in and something going out.

  • @CornusHolius
    @CornusHolius 11 місяців тому +330

    I came to learn a little about software engineering, I stayed to figure out who the hell has been talking to my mom on Facebook. This was highly entertaining, good work.

    • @TonyZhu
      @TonyZhu  11 місяців тому +11

      Lol great comment, thanks for the support!

  • @lvutodeath
    @lvutodeath 11 місяців тому +368

    "I know that this is cringe"
    This is what UA-cam supposed to be. You making videos that you like and share it with others that also might like.
    Keep making videos man! I love the content!

    • @TonyZhu
      @TonyZhu  11 місяців тому +33

      Man really appreciate it! It's really heartwarming to read comments like this, thank you!! Seeing all the positive responses really make me want to double down on this :)

    • @liliumbellsong8851
      @liliumbellsong8851 11 місяців тому +9

      you dropped this👑

  • @entangledatoms7153
    @entangledatoms7153 11 місяців тому +635

    Imagine taking a Software Engineering class and the teacher just gives you a computer that has Factorio on it.

    • @mistowasabi5443
      @mistowasabi5443 9 місяців тому +8

      Highschool freshman year, and the dots are just clicking softmore year of college 👍

  • @Puschit1
    @Puschit1 3 місяці тому +10

    And here I thought you would be talking about thinking in loops, dependencies, iterations, redundancies and all and foremost about Factorio's bot networks (requester chests are like events that are firing and calling robots that act like methods) and circuit networks. The latter are actually exactly like code one you use things like decider combinators. Train networks is also something I expected you to talk about.

  • @migillett
    @migillett 11 місяців тому +310

    I was a video editor for 15 years. I have 600+ hours in Factorio. I am now a software developer. You are correct.

    • @swazgaming420
      @swazgaming420 11 місяців тому +16

      I was a developing software. Played 1k hours in Factorio after taking a break from developing software. I am now trying to edit videos. xD

    • @migillett
      @migillett 11 місяців тому

      @@swazgaming420 hey, do both! I do a lot of work with ffmpeg at work. Automate those video edits.

  • @ThracianDataThief
    @ThracianDataThief 11 місяців тому +295

    I'm a SE who was emotionally stunted by my parents in early childhood, and I need another video of you explaining how a monolithic program, relates to Factorio, and how they both enable you to talk to my mom.

    • @seeexy
      @seeexy 11 місяців тому

      this and yes i kinDa agRee. .

    • @ToyKeeper
      @ToyKeeper 11 місяців тому +12

      Factorio is very similar to low-level circuit design and high-level service architecture. It's not very similar to all the stuff in-between though.

    • @rawgames1579
      @rawgames1579 2 місяці тому

      fun fact, in Factrio SE stands for the Space Exploration mod if (in case some outsider randomly reads this comment)

  • @Sorter43
    @Sorter43 8 днів тому +2

    The chart at 11:40 could've been:
    1. Vertical scaling
    2. Horizontal scaling
    3. Optimization
    3 is using mostly the same resources but somewhat modified to increase output.
    Speed module's effect is just waaaaaay more quantifiable benefit than what one can realistically expect out of most optimization.
    Great video though.

  • @GigaCraft-420
    @GigaCraft-420 11 місяців тому +641

    I'm so jealous there is a guy that has played Factorio 12k hours more than me

    • @TonyZhu
      @TonyZhu  11 місяців тому +156

      Idk man, maybe god stays in the sky because he fears he’ll be the only one to remember the sun once we all get +12k hrs in Factorio

    • @owholypwner3548
      @owholypwner3548 11 місяців тому +35

      i was playing Factorio with mods (krastorio, space exploration) and ow boi, the systems get so bananas that i have to play for one hour just to rediscover what i was doing haha

    • @userisamonkey
      @userisamonkey 11 місяців тому +8

      Modded players man, they're on a different level. Bob's and Angel's runs can go for an eternity

    • @Soken50
      @Soken50 11 місяців тому

      @@owholypwner3548 As a Pyanodon's mods player, ToDoList and Foreman2 are my best friends

    • @-minushyphen1two379
      @-minushyphen1two379 11 місяців тому +1

      @@owholypwner3548 I modularized my Nullius base with trains, so it’s easier to keep some things in mind, but building the whole factory after physics science packs took a long time, with all the intermediates, so I stopped doing it

  • @ElPolaia
    @ElPolaia 11 місяців тому +232

    I'm a Software Engineer working as DevOps. I just noticed my last Factorio game is completely containerized and I made a Kubernetes control plane with train logic.

    • @dangerousflyer4485
      @dangerousflyer4485 11 місяців тому +17

      I strive to learn programming as my second language lmao

    • @kyripa777
      @kyripa777 6 місяців тому +4

      Just for your information. Grafana has a dashboard for factorio.

    • @Byku010
      @Byku010 Місяць тому

      Could you elaborate how you recreated k8s in factories?

  • @EndertheWhite
    @EndertheWhite 11 місяців тому +290

    Not a cringe video. Really creative, I enjoyed the topic and the way you presented it. Pretty funny too! Good work.

    • @TonyZhu
      @TonyZhu  11 місяців тому +18

      Thank you for the really nice comment!! Will definitely consider working on a sequel

  • @PvtDavid111OOO
    @PvtDavid111OOO 3 місяці тому +1

    this was actually the best video I've watched in a while. perfect balance between entertainment and learning. I'm definitely interested in another video. love your vibe, literally nothing in this video that I found to be uninteresting or boring. I'm not a software engineer but I always loves games like factorio that allow for micro management and making things run as efficiently as possible, never did I realize those games had a semblance with software engineering. you might of sparked a inspiration in me.

  • @natewilburn301
    @natewilburn301 11 місяців тому +316

    Excellent video, this was brilliant! One thing I’ve always noticed is when looking at CPU Architecture under a microscope, it looks like an extremely optimized and monumental Factorio plant. If in your next video you could include things like buses transporting data, smelters caching data, Assemblers being Logic, and so on it would make for a highly interesting video in my opinion. Great stuff!

  • @avi7278
    @avi7278 11 місяців тому +106

    God I would love to see someone put 4,000 hours of Factorio on their resume.

    • @ecogreen123
      @ecogreen123 11 місяців тому +10

      "best i can do is 1000 hours of factorio" "your fired"

    • @showtun1_655
      @showtun1_655 8 місяців тому +4

      “Work or factorio, you can only have one”

  • @delxiv
    @delxiv 11 місяців тому +89

    As a CS and IT person with a few decades of experience, your vid was accurate, insightful, fantastically presented and pretty damm funny. Whatever your 2nd topic is, DO IT.
    Enjoy your well earned and deserved new subscription.

    • @TonyZhu
      @TonyZhu  11 місяців тому

      Thank you!! This is very nice, appreciate the kind words

  • @limehuzki
    @limehuzki 7 днів тому +2

    Biters are bugs......
    Bugs are bugs
    The first computer bug was a stink beetle that wandered onto the motherboard of an old computer

    • @awesomebawesome
      @awesomebawesome 7 днів тому

      That wouldn’t have happened if they upgraded to uranium bullets😂

  • @garandman34
    @garandman34 11 місяців тому +292

    I’ve been trying to voice this to my friends for years that never give this game a shot. But I could not do it with this Intellectual prowess. Hopefully sharing this video with them will show them the magic for inspiration.

    • @TonyZhu
      @TonyZhu  11 місяців тому +34

      I am extremely pleased to hear this lol. You have no idea how many (literal) years I've spent thinking about this and finally have found the time and motivation to put this video together - glad to hear I could provide some catharsis to you as well!!

    • @-sleepy-
      @-sleepy- 11 місяців тому +1

      you've been trying to tell your friends that this game will make you a "software engineer"?

    • @garandman34
      @garandman34 11 місяців тому +3

      @@-sleepy- no, that it mimics many of the concepts used networking and circuitry as he describes here. Also tying straight in to your motherboard provides much more broadband to allow higher throughputs than through a remote mounted device running through a sata cable. General things of that nature

    • @Dextrome
      @Dextrome 9 днів тому +1

      @@garandman34 but why does that make it a good game though?

  • @philipbeauford
    @philipbeauford 11 місяців тому +250

    7:30ish in on readability: YES!.. Ive been saying this to agency after agency for years. Literally the milliseconds in performance you gain from making any maintained code less readable is just going to screw you later when that code needs to be updated bc now that everythings been oddly tucked together or just generally obfuscated in some way, you'll need to go back through all of this 'optimized' code and basically make it readable again just to complete the update. TIME WASTED in the end so.. learn to think ahead and always lean towards readable code!

    • @geneanthony3421
      @geneanthony3421 9 місяців тому +14

      One of my biggest issues with some coders. Build around maintenance. If you optimize something, stick it in a wrapper that's easy to work with.

    • @SnakebitSTI
      @SnakebitSTI 8 місяців тому +3

      Personally, I'm much more familiar with the issue of having to convince people that poorly optimized, unreadable code is a problem.

    • @TPAKTOPsp
      @TPAKTOPsp 7 місяців тому +3

      +1000 I almost sent this to my boss. Best explanation for readability. Some people just think that saving 5$ on aws bill is way better than hours wasted in debugging and understanding the mess later.

    • @geneanthony3421
      @geneanthony3421 7 місяців тому +3

      @@TPAKTOPsp I usually show people Indian telephone poles to give people a visual representation of what's it's like trying to maintain spaghetti code.

    • @ForgBorger
      @ForgBorger 7 місяців тому +3

      I can’t remember who it was attributed to, but i once read “debugging code is more difficult than writing code. if you are always as clever as possible when writing your code, by definition you are not smart enough to debug it”

  • @JaveyJenkins
    @JaveyJenkins 11 місяців тому +152

    One of my former coworkers used his factorio game to get a job as a warehouse planner during his interview. As a player I would love to here your take on combinators and such. I find they frustrating at first but after a thousand hours, they are indispensable.

    • @TonyZhu
      @TonyZhu  11 місяців тому +34

      Man that’s actually awesome to hear that (1) factorio helped someone get a job and (2) the interviewer was cool enough to understand / “get it.”
      I was actually looking into combinators during the creation of this vid but they still terrify me and I have much to learn. Will definitely give it another look now that you’ve mentioned it!!

    • @salce_with_onion
      @salce_with_onion 11 місяців тому +19

      @@TonyZhu DoshDoshington made a 3 minute video followed by 46 minute insanity bonus about combinators

    • @lovalmidas
      @lovalmidas 11 місяців тому +12

      If factorio belts are your software bus, then circuit networks are where software moves into hardware. The core idea is that you are implementing *sensors* (both binary and counters) and transforming them into I/O signals, and they are effectively used as relays into other areas of your 'factory/software' bus.
      If circuit networks are hardware signals, then it follows that combinators are effectively hardware drivers, the 'black boxes' of software engineering.
      It helps me to move off the analogy from web/cloud-based software industry (where CPUs are the main hardware involved), and into an area with greater hardware contribution - Access interlock systems, reader devices (barcode, QR, RFID), sensing devices (thermocouples, pressure sensors, pizeoelectric sensors, Hall effect sensors), signal/protocol converters (USBRS232GPIOEthernet), hardware relays/switches, circuit breakers/fuses/alarm systems, human interface devices (buttons, keypads, keyboards, mouse) and robotics. Congrats, you are closer to real engineering where automation moves physical things in real life! :D

    • @JaveyJenkins
      @JaveyJenkins 11 місяців тому

      @@TonyZhu , If i remeber right he got the job with fedex. And to see a truly amazing use of combinators look up " JOSIF " or self expanding factory :)

    • @erfarkrasnobay
      @erfarkrasnobay 11 місяців тому +4

      @@TonyZhu If you want to check some combinators shenanigans you might check DoshDoshington youtube channel and his "Welcome to Factorio City" Or "Building Circuit Abominations in Factorio" videos.

  • @cipshadow
    @cipshadow 5 місяців тому +2

    my hat off to you sir, very fun way to break down these engineering concepts! please make more videos, the internet (and aspiring engineers) need you

  • @ssmallishplague
    @ssmallishplague 11 місяців тому +184

    I don’t code or play that game but sat through the whole video cuz I found it’s interesting and your presentation appealing. When I got to the end of the video and you were saying you were unsure if you’d make a the second video I thought to my self “well if I’m seeing this, it must have gotten a lot of views and gotten picked up by the algorithm” Lo and behold it’s got a half a million views. Good job 👍😮🎉

  • @Rahapallo
    @Rahapallo 11 місяців тому +172

    I had a kind of similar experience as a kid with the old Sierra citybuilder games like Pharaoh and Caesar 3. Only realized it after I studied software engineering for a couple of years. Parents, let your kids play.

    • @zackyoung6504
      @zackyoung6504 10 місяців тому +6

      Or for those really in the loop, Zeus: Master of Olympus.
      God, I’m old. 😂

    • @ludvig3242
      @ludvig3242 9 місяців тому

      They tend to

    • @mirjanbouma
      @mirjanbouma Місяць тому

      My people!

  • @privatesocialhandle
    @privatesocialhandle 7 місяців тому +396

    Bro is so charismatic I only caught that he's wearing socks mid vid.

    • @SUpeREleCtRoSTaLIN
      @SUpeREleCtRoSTaLIN 6 місяців тому

      My eyes was on hes cool socks. Video stats ending and i realize he is cool asian guy.

    • @SUpeREleCtRoSTaLIN
      @SUpeREleCtRoSTaLIN 6 місяців тому +2

      My comment here was deleted. Did i say something wrong? I just make reverse socks joke :(

    • @robertdracosu8115
      @robertdracosu8115 6 місяців тому

      me too

    • @c1borgen
      @c1borgen 6 місяців тому +3

      @@SUpeREleCtRoSTaLIN my comments are being deleted all over the place, it's just youtube being youtube i guess

    • @VaIIy
      @VaIIy 6 місяців тому

      @@robertdracosu8115

  • @_..-.._..-.._
    @_..-.._..-.._ 4 місяці тому

    Those ghost images in the beginning are my favorite thing of all time 😂

  • @johnfast8674
    @johnfast8674 11 місяців тому +99

    I loved this format, please don't change it. You've blown me away with the quality that you put out compared to your subscriber count and the fact that I've never heard of you before. As someone who enjoys messing with and building programs for fun, I understood how much effort you put into making your analogies digestible by everyone. Watching this I got some junferno vibes but you seemed to keep this much calmer and focused which was a format that I loved as well. Please keep up the great videos and I'd love to see a second follow up video. I also plan to get into factorio as soon as I figure out how to not worry about that whole "eating and sleeping" thing.

    • @TonyZhu
      @TonyZhu  11 місяців тому +11

      Feedback heard! Also these are really flattering compliments thank you for the kind words!!

    • @theob1712
      @theob1712 11 місяців тому +3

      First time here and I agree with this guy^

    • @pocket-logic1154
      @pocket-logic1154 11 місяців тому +1

      @@TonyZhu I see a million subs in your future.. I was here at 11k ;-)

  • @cyance2029
    @cyance2029 11 місяців тому +156

    As someone who has spent of lot of time playing factorio and generally doesn't know what to do with their life this just motivated me to go down the route of software engineering, Thank you, can't wait to see the next video

    • @zaks7
      @zaks7 11 місяців тому +9

      Best of luck!!! I love it when gamers find purpose in life :D Also maybe you can consider emsy/computer engineering! It's more in line with such games than even software engg.

    • @lukebogsdil9176
      @lukebogsdil9176 11 місяців тому +1

      Do it! I learned after playing factorio, if you played correctly then you already know how to program. (not kidding)

    • @certaindeath7776
      @certaindeath7776 11 місяців тому +6

      i was dissatisfied with work in different sectors and companies for a decade, then had no job for almost a decade. someday i started playing factorio. now im a software engineer. real story. totally not far fedged and simplified cause and effects. ;)

    • @sloppyy
      @sloppyy 11 місяців тому +10

      as a software engineer who doesn't know what to do with their life, this just motivated me to go down the route of factorio

    • @TonyZhu
      @TonyZhu  11 місяців тому +1

      I support three out of the four replies in this thread. In unrelated news I am considering starting a Factorio addiction support group.

  • @MrShadow2x
    @MrShadow2x 11 місяців тому +389

    Dude, your sense of humor and comedic timimg are incredible. I was laughing out loud so many times, even while enjoying and learning from your essay.

    • @dowesschule
      @dowesschule 9 місяців тому

      And that‘s his 3rd video?? Incredible!

    • @coachjoe5595
      @coachjoe5595 8 місяців тому

      I'm two months late to the party, but i read this comment right as he said, "heroin just wasn't addictive enough." The pair together, chef's kiss. I ACTUALLY laughed out loud.

  • @vazzaroth
    @vazzaroth 10 днів тому

    "Other computers somewhere else, underground, wherever". SUCH a better explanation than a series of tubes honestly.

  • @richsalazme
    @richsalazme 11 місяців тому +170

    As a software engineer, I don't know why I haven't known about factorio until just a month ago. I just fell in love almost immediately, to the point that I spent hours only in the tutorial, just to optimize everything before achieving the actual goal 😂It is the perfect game for the field because first and foremost, it is a game, so it washes the stress away. Second, I still use the same type of mental process when approaching a certain task. Planning and picturing how everything would run before placing all the components, making it more efficient and easier to upgrade later on. If I'm being honest here.. I feel like the game made me better at work. I think it has something to do with keeping the mental exercise going even at home playing a game. It makes me think like a software engineer without tiring or stressing me out like work does.

    • @666Tomato666
      @666Tomato666 11 місяців тому +7

      you think optimising in tutorial is nice.. wait till you go full beacon setup and want to have setups that take a full blue belt and output a fully compressed blue belt... It's like programming golf, or writing a haiku

    • @Smitten702
      @Smitten702 11 місяців тому +1

      When I started playing the game they didn't have a tut yet took 6 months just learning the basics

    • @Dextrome
      @Dextrome 9 днів тому +1

      @@Smitten702 lmfao 🤣🤣

  • @chriswaller8780
    @chriswaller8780 11 місяців тому +331

    This video is a masterpiece of art. You have so completely compared the two subjects into identicality that it has bridged gaps that were already obvious into deep rooted bonds of nuance around each corner. Your shit was funny and engaging from the very first 15 seconds and you kept that energy going for the entire 21 minutes. Your channel is about to explode in popularity, I hope you're ready for it, because you just won the internet. I applaud you.

    • @developerjustin6306
      @developerjustin6306 11 місяців тому +2

      Called it.

    • @williambultman6817
      @williambultman6817 11 місяців тому +3

      well-put

    • @TenpennyTower
      @TenpennyTower 11 місяців тому +3

      Real

    • @TonyZhu
      @TonyZhu  11 місяців тому +2

      God idk why I didn't respond to this comment earlier but this is one of the nicest, most beautiful comments I've received! Thanks for your kind words

  • @shadowflamers9049
    @shadowflamers9049 11 місяців тому +132

    As a super nerd that sucked at school, who is teaching myself software engineering to stop getting paid hourly as a onsite IT guy... This video was hilariously entertaining, and suprisingly educational. Please do more. You did a very good job at explaining these concepts, in an entertaining yet educational manner.
    Future content doesn't necessarily have to be a videogame analogy. I'd just love to hear you talk about comp sci concepts more. I feel like I'd pick up some good info whilst also being entertained. (I'm 22 btw, not a boomer, so like, I for real mean it lol. You caught my age group as an audience here)

    • @TonyZhu
      @TonyZhu  11 місяців тому +2

      lol great to hear, thanks for the detailed feedback man!

    • @huantran1755
      @huantran1755 11 місяців тому +1

      Same here as the age group.

  • @sgtstens1274
    @sgtstens1274 10 днів тому

    I love that this video exists! How about a follow-up featuring Space Age content, some of the new mechanics (Fulgora scrap recycling, Gleba item spoilage) narrow the difference gap even more between SE and Factorio by requiring time-dependent and constant flowing systems! Keep up the great work!

  • @tjmethven2074
    @tjmethven2074 11 місяців тому +59

    Okay I cook for a ton of software engineers at “insert tech company here” and you just kinda made them seem so much more relatable. I have asked them what they do for work and for the life of me I couldn’t understand.

    • @TonyZhu
      @TonyZhu  11 місяців тому +32

      Haha honestly having eaten for two years at a "insert tech company here" cafeteria, I can almost guarantee you that your job is both more important and way more noble! Also we don't understand what we do either.

    • @tjmethven2074
      @tjmethven2074 11 місяців тому +16

      @@TonyZhu I do love to cook, you guys give me UA-cam or Xbox or steam, whatever you program for and I feed you. And that sounds fair to me.

  • @ATwiz02
    @ATwiz02 11 місяців тому +37

    I'm a graduate student, and I'm in the middle of writing a research proposal about using Factorio to teach Industrial Engineering. This video has brought up some perspectives i didn't consider. Thank you!

    • @TonyZhu
      @TonyZhu  11 місяців тому +3

      Super cool proposal idea! I hope it works out, you gotta let me know if you end up getting anything published!!!

    • @tuftela
      @tuftela 2 місяці тому +1

      How is it going?

    • @ATwiz02
      @ATwiz02 2 місяці тому

      @@tuftela The proposal was just for an assignment, and that got good marks. I'm currently doing personal research on knowledge transfer with recreational video games, and might be submitting an abstract for a conference soon 🤞

    • @tuftela
      @tuftela 2 місяці тому +1

      @@ATwiz02 That is so cool! Thank you so much for answering even though it's been so long since your original comment. Wishing you the very best of luck with your abstract as well!

    • @Dextrome
      @Dextrome 9 днів тому +1

      This may be a bit far fetched, but maybe you could use industrial engineering to teach industrial engineering?
      Instead of a silly little game...

  • @drakanion
    @drakanion 11 місяців тому +197

    As a software engineer of more than 20 years and a factorio enjoyer, this was great.
    It's amazing how fitting the Factorio analogy is...
    The bigger your code base, the more and stronger, the bugs (biters) are that come attack your base, causing all kinds of other slow downs and interruptions.
    Also, if you want to have your mind blown, look up some of the older factorio vids where people build fully functional displays that actually encode/decode video and play it in game - Factorio is Turing Complete and an incredible video game.

    • @djosh3237
      @djosh3237 11 місяців тому +4

      "bugs" hehe

    • @sponge1234ify
      @sponge1234ify 11 місяців тому +4

      As a web dev (still intern), I'd like to think that the biters spoke Russian or Chinese.

    • @jackmalcolm
      @jackmalcolm 11 місяців тому +3

      I’d suggest DoshDoshington’s “Building circuit abominations in Factorio” he’s a fun watch.

    • @detaaditya6237
      @detaaditya6237 11 місяців тому +2

      I swear factorio developers made biters to look like bugs on purpose

    • @spellablename6099
      @spellablename6099 11 місяців тому +1

      There was one about a year ago, I believe. A dude made a Turing complete calculator out of a rail system. He said it took like 20 days to run though

  • @ohboiherewego6831
    @ohboiherewego6831 5 місяців тому +1

    This is fantastic. I think you did an excellent job of explaining incredibly complex concepts in a way that even those of us who were new to the concepts could understand!

  • @Magumbaa
    @Magumbaa 9 місяців тому +126

    Stylistically....don't change a thing, I was absolutely hooked all the way through and LOVE this format. (Thank you for the "attention" videos during story time 6:24 )
    As someone about to embark on their software engineering journey, I hope you continue to make this kind of content!

  • @AtraxX98
    @AtraxX98 9 місяців тому +49

    I was confused when you told that story that I didn’t see the cutting soap video first. But when I saw it and red the subtitles I laughed SO HARD. You’re probably becoming one of those UA-camrs who rarely upload but when you upload it’s something unique and a lot of fun to watch.

  • @Vanguard.
    @Vanguard. 7 місяців тому +27

    I'm a software guy and I have a buddy who is interesting in the trade and always picking my brain on it.
    He sent me this video in his excitement of drawing parallels into what we do everyday into a game he knows fairly well.
    This effort to bridge technological patterns (in this case dev) with more widely familiar concepts such as gaming is great. I enjoyed your video and it was doubly good in that you made my friends brain tick just a bit faster. Really good job man.

  • @plebisMaximus
    @plebisMaximus 6 днів тому +2

    Seems to check out, I play Factorio exactly like I code. Rarely and very poorly, but for 5 day binges every time.

  • @gabrielp.40
    @gabrielp.40 11 місяців тому +62

    Watching this, I was expecting some big youtuber, not 600 views. This video has quite an impressive quality, keep up the good work, I really hope you get the attention you deserve!

    • @TonyZhu
      @TonyZhu  11 місяців тому +8

      Those kind words mean a lot to me, thanks for commenting

    • @simonwillover4175
      @simonwillover4175 11 місяців тому +1

      @@TonyZhu Yeah, it's a great video!

    • @TonyZhu
      @TonyZhu  11 місяців тому +5

      @@simonwillover4175 Thank you!! Really appreciate these comments

    • @GHOST25938
      @GHOST25938 11 місяців тому +5

      We are at 10k already...
      "In the business, we call this foreshadowing"

    • @cloaker7139
      @cloaker7139 11 місяців тому +1

      ​@@TonyZhuWhat you put out is amazing, honestly. This Video was a blast to watch!

  • @Stasisdrone4827
    @Stasisdrone4827 11 місяців тому +12

    I think it's really worth mentioning trains as well. At the end of the video, you mentioned the differences between monolithic and microservice based architectures, and I think the best the to show that difference/similarity is in trains. If you consider your entire factorio base as a distributed service, trains exactly represent packet flow and more importantly packet delay and packet loss if you get a biter attack.
    If you consider your factorio base as a single monolith, then trains turn into interfaces. The train doesn't care how you actually insert the cargo, and how you process the items at the station. All it cares about is that it needs to drop of Item X and wants to go pick up item Y. This represents component design and individual classes and functions as well.

    • @TonyZhu
      @TonyZhu  11 місяців тому +3

      Yes 100%!! You've articulated the idea very well and this is most definitely something I already had in mind for video #2. As I start to read these comments though, I think there's a lot more I wouldn't have thought of otherwise so I really appreciate people like you commenting this stuff!!

  • @ajschwartz3924
    @ajschwartz3924 26 днів тому +3

    0:40 It's that last one. It has to be.

  • @Hyperbaric_Lyric
    @Hyperbaric_Lyric 8 місяців тому +17

    Thank you for this. Obviously im addicted to Factorio and always felt so dumb when it comes to computers. Your casual approach to teaching is SO helpful when setting up an emotional openness to new knowledge. I understood ever part of this video and had a GREAT time watching it. Amazing job!

  • @nateg876
    @nateg876 11 місяців тому +186

    As a software engineer, I can confirm that I am the problem in both worlds.

    • @clearskyy
      @clearskyy 11 місяців тому +6

      there are two wolves inside all of us: "I don't need it to look pretty, I just need it to work" followed by "omg why is this a mess I have to make this the most beautiful thing ever or my brain will explode"

    • @lmaoded7505
      @lmaoded7505 11 місяців тому

      Fucking my jira stories because the code isn't pretty definitely makes me a software engineer

  • @GordonWrigley
    @GordonWrigley 11 місяців тому +31

    I think you need more on the spaghetti. I think it's worth getting into maintenance and refactoring and the trade off between living with your past decisions, often by making the mess a lil worse or taking the time to do a big cleanup. And also how a layout that works fine for a small amount of things at a small scale just inevitably becomes a mess as you add to it.

    • @TonyZhu
      @TonyZhu  11 місяців тому +5

      That's a great point! Will jot this down in my notes for the next video and see if I can find a good spot for it :)

  • @MattSoave
    @MattSoave 2 місяці тому

    One thing I've always liked with Factorio (which you didn't quite touch on here) is modularity and interfaces. Ideally (IMO) you are building your factory such that the inner-workings of the upstream source(s) do not matter; you simply need to know that you'll be receiving iron plates (and that your smelters, however they are configured, will be outputting iron plates). Later, when you build more things that require iron plates, you can reconfigure/scale/move/etc. your smelting; but as long as you keep a stream going to the original consumer of iron plates, it does not matter that the source has changed. To me this is like an API changing how it works internally without changing what it returns for the same request.
    Nice video man, enjoyed it!

  • @benjaminmiddaugh2729
    @benjaminmiddaugh2729 11 місяців тому +32

    Factorio helped me clarify the two different methods of improving throughput. Optimization (gotta have perfect ratios) and scaling (gotta get bigger). You can, of course, do both, but I prefer the big corporation method (why be efficient when you can be inefficient at scale?)
    Edit: This is not meant to imply that big corporations don't care about optimization. It's more of a commentary that they have the resources to be able to not care about it quite so much.

    • @toddstephenson9849
      @toddstephenson9849 11 місяців тому

      Yeah that's like my big worlds. I am probably intermediate at circuit networks at best, but I'm pretty good at scaling and automation... I don't have the skills like some guys out there to maximize efficiency... Just make more!!! That's the fun part anyway.

    • @clesastodor
      @clesastodor 9 місяців тому +1

      why do you have to call me out for playing like a big corpo QwQ

    • @user-ho9fq7bm7v
      @user-ho9fq7bm7v 9 місяців тому

      dude, stop lying. Don't lie to yourself

  • @Warkrunner
    @Warkrunner 9 місяців тому +13

    In manufacturing: a bottleneck is a process that holds up production somewhere in the assembly line. Sometimes a bottleneck's root cause is due to a spaghetti-like flow of materials through the facility since the layout was planned beforehand for a smaller quantity throughput. We scale up or scale down by adding or removing machines, workers and materials. When scaling up, the load on parallel processes is balanced for a steady flow of materials, and we use logic controls with sensors set limits for detecting problems. Similar to tracing, we do a root cause analysis to figure out what's holding the whole thing up. Delays all depend on our upstream suppliers, and trickle down to our downstream customers.

  • @achillesa5894
    @achillesa5894 11 місяців тому +72

    The other big thing they have in common is stealing code from strangers on the internet lmao. Blueprints are basically that, right? And the crazy thing is, you can design/steal a blueprint and treat it as just a closed system that takes an input and makes an output. I'm currently working on a "coal to plastic" blueprint, which is a design that you just build, supply it with water and coal and it spits out plastic, and you don't have to care about the specifics of how inside the blueprint the coal is turned into oil and processed into exact amounts of oil byproducts, how boilers make steam for the process, how heavy oil is routed from the output back to the input, and how petroleum is mixed with more coal to make plastic. All you care about is the input and output.

    • @TonyZhu
      @TonyZhu  11 місяців тому +18

      This is actually a great point that I totally forgot about over the past few years lol. Had written in my script about black box processing but the idea of copy pasting functions from the internet is great, thanks for this!

    • @Hellbending
      @Hellbending 11 місяців тому +3

      Mmmm tasty open closed principles 🤣🤣

    • @detaaditya6237
      @detaaditya6237 11 місяців тому +6

      Yesss, blueprint websites are basically stack overflow lmao

    • @dalouma-1
      @dalouma-1 11 місяців тому

      Is this abstraction?

  • @thestargazingkirin6729
    @thestargazingkirin6729 4 місяці тому

    It is pure joy to watch him get more and more excited as he explains his analogy. It is very cool

  • @tylersolomon6341
    @tylersolomon6341 11 місяців тому +10

    I’ve been telling my one friend factorio has transferable skills to the real world for a while now. Thank you for laying it out so beautifully

  • @LilArquebus
    @LilArquebus 11 місяців тому +16

    HELL YES! this is genuinely creative, smart and makes me more excited to code and play factorio. Thanks for making this. Can’t wait to see what other cool creations and essays you’ll come up with.

    • @TonyZhu
      @TonyZhu  11 місяців тому +1

      Thank you!! Really appreciate such kind words and compliments :)

  • @JFrieds12
    @JFrieds12 11 місяців тому +74

    This is really excellent. You've found a niche here, man. Funny, smart, original content, and I think there's a huge audience out there that you could capture. Please keep it up! I'm already convinced you're gonna be a big big deal.

  • @nikkehtine
    @nikkehtine 5 місяців тому

    Unironically the best video to explain software engineering, especially vertical vs horizontal scaling

  • @Hamc2811
    @Hamc2811 11 місяців тому +33

    As someone who has neither played factorio, nor is a software engineer, i found the video surprisingly entertaining and would be interested on seeing your take on the other video, it was a very pleasant ratio of information and humour

  • @runelt99
    @runelt99 11 місяців тому +11

    Big thing I learned from factorio is a thing I don't remember the name of. But basically that buffers are not good, except for train unloading stations (so that it can keep your base full supplied and doesn't run out by time next train arrives). Maybe it was JIT or something? Something about producing as much as you can use and if you cannot use enough science then that means that.... The factory must grow!

    • @RealPotatoStudios
      @RealPotatoStudios 11 місяців тому +1

      That is JIT! And is a concept used on industrial engineering to plan the logistics at actual manufacturing plants :D

    • @Jason.Goldstriker
      @Jason.Goldstriker 11 місяців тому

      For sure I find having a buffer that doubles as a mechanical mass sorter after it comes off your train lines chests is a good unit to have to get through the early game and is really good once you up grade it to use logistics bots.

  • @elkaki123
    @elkaki123 11 місяців тому +25

    Instantly subscribed, not because you make me feel good about putting thousand of hours into a game, but because your video style is absurdly good, you have a good flow and get your points across with a nice sense of humor to boot.
    And all this by the 8th video? It's insane

  • @Derpyinch
    @Derpyinch 3 місяці тому

    Late to the vid, but I love your style of video essays! You're able to balance engineering with humor (mostly improv and ramblings which is like intellectual improv when you think about it) and that gives us breaks between long explanations. Heck you could talk about high-level subjects I don't even understand and I'd still watch because you explain things beautifully!

  • @lowkeyproducktvt2101
    @lowkeyproducktvt2101 11 місяців тому +9

    4:30 as a person who doesn't know much about Pokemon and just started learning AWS i completely accepted those names 😂

  • @mbg8733
    @mbg8733 11 місяців тому +4

    This isn't just software engineering and factorio.
    It's the study of systems; it's used in nearly every discipline.
    For example:
    Chemisty for complex chemical reactions.
    Biology for reaction pathways.
    Economics for analysis of supply chains and such
    and it can become even more niche.

    • @samu_2822
      @samu_2822 11 місяців тому +1

      Not quite, since what the other disciplines study some specific system to their problems, usually they try to frame this interaction in a model already studied and proven, now software engineering and factorio for this matter, is this sort of study of the study of systems, the job is to design better ways to meet the requirements, while keeping your sanity check.
      A chemist, will use their knowledge on chemical reactions, modifying this reactions, adding and compounding different materials to yield better results, in control manner.
      A biologist, will use their knowledge on biology to change the conditions on the bio compounds and the agents to get safer and useful goods.
      A economist, will use their knowledge of basic geometry to put the square in the square hole
      on the other hand,
      A software engineer, will study what are the chemist, biologist, and some common sense to try to englobe all the later and put it through some none-sense it works system, on which will make it regulate itself by proven or field tested way, hopping that something doesn't goes up in flames the moment that you want to gtfo at 5pm on a friday
      A factorio player, will do the later willingly, on a videogame while creating the next framework to grow the factory that this time will indeed solve the other problems and be the one to use after repairing some nonsense problem caused by an edge case in their work that took their whole friday afternoon to solve

    • @mbg8733
      @mbg8733 11 місяців тому

      @@samu_2822when generalizing, it is possible that two categories are more like each other, than a third, but it still being possible to generalise all three.
      A factory is more analogous to a whole economy’s supply web, yet it is stil generalizable as a complex system along with a software system.

  • @matthewhambacher8249
    @matthewhambacher8249 11 місяців тому +28

    Awesome video with a great sense of humor, and this was clearly inspired by great passion for both topics discussed here! Would love to see more video-essay type stuff, especially that monolithic vs. microservices thing. ❤

    • @TonyZhu
      @TonyZhu  11 місяців тому +1

      Ur a goated friend

    • @KeithOlson
      @KeithOlson 11 місяців тому +1

      @@TonyZhu If you want the *_PERFECT_* game for showing SOA, I can't think of a better one than Autonauts, where you need to program cute bots to do _everything._ The catch is that the Tier 0 bots only have room for 12 instructions. (...which really puts the 'micro' in 'microservices'!) That means you have to have *LOTS* of bots--each doing only one thing--and they all have to work together. ...but don't worry; as you advance to different tiers, you can add modules to increase their capabilities, so you can, for example, have a Tier 3 bot with a 'Super Bot Brain Upgrade' that can handle 64 (32+32) instructions! Here is the trailer to give you an idea of what's ahead of you: ua-cam.com/video/TtOjoEV0ooE/v-deo.html
      (The devs have also released 'Autonauts vs Piratebots', which takes the basic premise Autonauts and adds PvE, which you could use to Segway into security issues.)
      Cheers!
      P.S. You could also go the more traditional route and take a look at Screeps, where each bot needs to be programming in JS.

  • @SimonClarkstone
    @SimonClarkstone 3 дні тому

    You can also discuss: deadlocks (trains); load shedding (using combinators that automatically cut power to the main factory to prevent a Power Death Spiral)

  • @xxmsp91
    @xxmsp91 11 місяців тому +5

    This one is gonna blow up. Great hooking first 30 seconds. Subscribed.

    • @TonyZhu
      @TonyZhu  11 місяців тому

      Thank you!! Appreciate the kind words and sub

  • @dr.goodmorning9103
    @dr.goodmorning9103 11 місяців тому +23

    I'm learning software engineering in uni right now and im a Factorio player. I was actually doing one of my biggest assignments while watching this. Ironic. Loved it.

  • @dylanj.domachowski5369
    @dylanj.domachowski5369 11 місяців тому +28

    You're fucking awesome bro. distilling complex or not understood information and making it understandable to the masses is literally the most important thing anybody can do. thank you.

  • @NathanJacobson-l5o
    @NathanJacobson-l5o 5 місяців тому

    Dude coming from a software engineer this video is actually incredible. You know someone is smart when they can explain something in such a simple and digestable way. Cheers to you man

  • @oliverherss
    @oliverherss 11 місяців тому +9

    How does this video only have 35 views?? So good

    • @TonyZhu
      @TonyZhu  11 місяців тому +4

      Haha appreciate the sentiment, thank you for supporting the channel!!

  • @akafriend-9264
    @akafriend-9264 11 місяців тому +4

    i played factorio when i was young (no seriously) and with my dad and I had a grand time playing the game with him, I learned so much.

    • @TonyZhu
      @TonyZhu  11 місяців тому

      Aw that sounds like an awesome childhood experience to have! Just imagining this makes me happy, thanks for sharing

  • @erlouwer
    @erlouwer 11 місяців тому +5

    This feels like content a youtuber with 500k+ subscribers, a very unique kind of humor and a really strong fanbase would produce.
    The editing has the kind of endeering and intentional amateurish feel to it - but executed in a way someone who actually isnt even close to an amateur - and a very distinct (really good imo) kind of humor, somwhat like
    like michael reeves concept-wise. (while the content is obviously completely different)
    But seriously, the execution of humor and editing style is great. I cant remember when i laughed this much at a video.

    • @TonyZhu
      @TonyZhu  11 місяців тому

      Thank you so much!! Really appreciate the thorough feedback and it's so flattering! Appreciate the support

  • @Mell0nballer
    @Mell0nballer 2 місяці тому

    Love the green screen format. Stay confident in your decisions because they come across as genuine.
    Knowing nothing about software engineering, I imagine there are other parallels present between these types of games and SE. For example in Satisfactory, you can choose to process raw materials closer to where you collect them, or for a challenge you can try to run all of the raw materials back to your main base and just create a colossal singular structure where all of the processing occurs. I wonder what the software engineering equivalent of that would be? Or is that highly emblematic of just a specific market within SE? Interesting stuff.

  • @AsherVale
    @AsherVale 11 місяців тому +48

    You're basically just the software engineer version of NileRed. Good shit keep it up.

  • @BlueNEXUSGaming
    @BlueNEXUSGaming 11 місяців тому +8

    The Monolithic Code in Factorio Terms is one of those Bus Builds, where you collect all the belts over into one place, and then just hook into the resources that you require; also, it is called hooking into code, so that's handy; speaking of handy, I was on Facebook talking to your mom… 😜

  • @piyerus1153
    @piyerus1153 11 місяців тому +18

    In factorio I've really come to love the sorts of things I can do with trains, and I think it fits into the whole comparison with software engineering. Because when you first start with trains it tends to be really simple, you probably have a few dedicated trains going between specific stations, only going to and from the same spot each time, probably even on separate rail lines. Then as you learn how rail signals work you can combine things into one rail line with several different trains running on it, but each train is still just going between their normal spots. And THEN you start learning more advanced stuff, like how if you have two stations with the same name trains will be able to choose which one to go to, so instead of having "Iron Mine A", "Iron Mine B", etc you can just have several stations named "Iron Mine" and your train goes to the first available one. After that you can start going into circuit conditions and making it so that stations will only accept trains when there's something to pick up, or when there's something that needs to be delivered, so that the trains move around more efficiently. Now when you want to set up a new mine, or make a new smelting array, you can just slap down the same blueprint and the trains will automatically start rolling in without you needing to set up new schedules.
    Wow I kinda rambled there.

  • @gregl6415
    @gregl6415 6 місяців тому

    Glad theres still room on this app for a guy to make an absolute gem of a video and have it find its way through all of the algos and moderation into my feed

  • @AudaciousForest
    @AudaciousForest 11 місяців тому +19

    As a small up-and-coming creator, your intro alone already tells me you're going to go far. Please keep the amazing work up