Assembling Assembly in an Assembler. Awesome. Consider supporting me on Ko-fi! ko-fi.com/docjade Join the discord! discord.docjade... Have a video idea? Let me know! forms.gle/uEcJ...
I wanted to put more work into the explainer animation to make it more understandable, but I'd been working on that animation for over 2 days straight and I didn't want to delay the video too much :P
Every Doc video is him playing the game in the most unoptimal way ever then he just pulls out assembly code to automate crafting like damn didn't know you were like that
6:28 I think the first 'cursed technique' for Factorio I ever saw was a mega-base that used cars on conveyor belts to move items. Pretty sure using that technique summons eldritch beings.
It's a great way to make cheap high throughput belts and compact multi crafting setups though! I use cars and wagons extensively to make nice ratios of crafts that inserters couldn't reach otherwise.
Anyone remember on reddit for a while when someone said the maximum output of a miner was half a bluebelt and people started finding ridiculous to move ore from a miner to increase throughput?
Assuming you minimize the engine assemblers and electricity and liquids etc, there's a video calculating the _absolute minimum_ you would need to send a rocket in ideal conditions. It's about 7 full days of non-stop playing and crafting. "How long does it take to beat Factorio without automations"
@@sigstackfault True. Could make the things that cant be handcrafted in a 1x speed assembler while not crafting anything else by yourself at the same time.
This video is actually so cool. I’m a computer science person and haven’t touched assembly in a while so it’s nice to see it again. Didn’t realize it was relevant to factorio lol
Wube mentioned in their blog, how factorio was made. it uses a fully custom engine based on C++. Some parts of the code which are highly optimized are written in assembly.
One idea to let the system have more storage capacity: track the amounts of stuff in the train wagons and if anything is over a certain amount, move it out of the train car into a chest with filter inserters. Then if something is in the extra storage, and there is below X amount of it in the wagons, move that item back to the wagons with filter inserters.
A brief suggestion on how to automate fluid inputs: 1. Make a shared fluid bus even though the game doesn't like it 2. Different fluids are connected via circuit-controlled pumps 3. The excess is dumped via another pump to one more pump which leads to storage tank 4. This tank is then deconstructed by robots via recursive blueprints mod 5. And immediately built again
This run will be so interesting when 2.0 drops because you could wire a huge logistics network that dynamically changes the recipe in the assembler. Fully automated 1 assembler factory
Iirc you can rotate buildings by pasting a blueprint over them, even without bots. With recursive blueprints, you could use this to rotate the assembly machine between different fluid inputs without sushi fluids.
Having city blocks change what they craft based on what's in high demand is a super cool thought (that I wish I had thought of myself). I'm totally gonna need to try that out myself at some point.
Pro tip for the Lazy Bastard achievement: Type /permissions in chat and disable hand crafting in that menu. Now you can't hand craft even if you wanted to! Oh, nice! You do it in the video!
As a software developer, that fCPU sound like a lot of fun to work with. Thanks for kinda showcasing it. I now want to use it for some crazy methode too.
i built my own cpu not too long ago and recently got into factorio - so that assembly and the fcpu really scratched that itch in my brain, thank you kind stranger
Definitely a usefull blueprint for modded gameplay. It would need changes if intermediates are crafted in different machines or you need different fluid input so taking the unused fluid and training it away would be needed. Since new machines could be automated too it would only need circuit controlled train stations for fluids and input/output to other machines that craft the items not craftable in the assembler
The captions are always fantastic to see. I appreciate the effort you go through to add them! I look forward to the next challenge, but please go easy on yourself. Your sanity is important
I did something similar to this, but with the idea of recipe preprocessing before being thrown to a distributed array of generic crafters, my storage and my requests were also the same feed. Basically If itemsignal 0 Else, remove itemsignal, add ingredients to requests and this was cascaded to an identical circuit. I had a second set that routed the item types to the correct assember. Then each assembler had enough logic to "take" one resource request, then remove that item and pass it to the next assembler. This caused the assemblers to scale based on how many items where needed, If I had 100 assemblers, and needed 50 copper wire, 50 of the assemblers would assemble copper wire, while the other 50 did not craft. With logistics bots, this worked pretty decently, but fell apart for overly complex recipes.(It would overflow if it had to expand 20 recipies) If you adjusted your fcpu to not use a stack, but a memory register as a "table of all needed craftable items" that might do something similar, then loop over your storage input every 160 or so ticks.
developing an entire system to recursively dig backwards through crafting recipes to automate the crafting process in assembly, building your own stack system in the process is fucking insane well done, from someone who studied assembly and computer architecture in college
Up until the moment you revealed the Crafting Combinator mod, I'd had an increasing sense of dread for your sanity. I still have a sense of dread, but it's no longer increasing. Automation may be possible!
to complicate things there a several kinds of stacks: LIFO, FIFO - the one you described, FILO, LILO Last-In First-Out, First-In First-Out, First-In Last-Out, Last-In Last-Out. If you really want to bend your brain the stack in a computer grows up towards low memory and the heap grows down towards high memory. let me know if I got that wrong.
I have learned so much in the last few minutes. So much about a truly beautiful language and about how hard it is to translate to and from it. I love you, DocJade
I had an idea for another challenge. Beat the game, but you are never allowed to generate more power than you use. You must always be at a power deficit. Probably too easy as is, but there's probably some additional limitations you could add.
@@raizors1331 That's part of why it's challenging :) You have to really make sure the system works in a predictable enough way that it doesn't drop below the max power capacity.
5:14 there is no reason you can't use the assembler to make another assembler. I understand that you can only have 1 assembler placed at a time, but there is nothing wrong with having an extra assembler in your inventory.
since there has already been a video on beating the game without any automation except for mandatory things (1 furnace, 1 assembler, 1 refinery and 1 chem lab)... yes, yes you can
The domain of Bighters once slain. Without abstain, brought was pain. Craned above, a head, so... plain i see, and seized, a river's wane traverse these roads we've built, ordained wa wa heart is staind roses thorns against my brain these prickly things taught in vain the blood is spilt they're quite insane patrolling again these lands pertain a certain lacking, wisdom reign the faulty ones approach, they pang ACROSS THE POND YOU LOST YOUR THANG BUT HERE WE ARE AMERITAME.
I wanted to put more work into the explainer animation to make it more understandable, but I'd been working on that animation for over 2 days straight and I didn't want to delay the video too much :P
oh speaking of editing time, I kept track for this video, take a look:
- ??:??:?? :circuit design time (24h+ for sure)
- ~26:00:00 :playtime-ish (speedup mods used), 16.5 hours of footage produced
- 00:14:30 :setting up editing workspace (moving footage)
- 02:23:28 :generating proxy footage
- System crash, instant shut off, PSU trip style, but theres no way im hitting the power limits.
- 01:19:05 :generating proxy footage (resumed)
- 00:01:45 :proxy setup
- 00:02:15 :first editing pass
- 00:00:02 :realized i forgot to remux to mp4 before creating proxies, which makes resolve freak out and output stuttery footage.
- 02:27:27 :make new proxy
- Another crash? cannot be a coincidence. too close to the same timeframe.
- 00:25:00 :generating proxy footage (resumed)
- ANOTHER CRASH??? what the hell
- 01:03:00 :generating proxy footage (resumed) (again)
- 00:01:00 :proxy setup
- 08:00:08 :first editing pass (for real this time)
- 00:20:00 :set up Manim
- 04:18:38 :work on Manim
- 00:58:28 :final Manim attempt, move to Resolve instead.
- 02:47:57 :write script for code explainer
- 00:11:15 :read explainer script
- 00:05:21 :audio editing
- 02:24:55 :visuals
- 08:29:43 :back to manim because resolve has problems with my text
- 07:12:38 :more Manim debugging
- 01:13:16 :start keyframing the movements
- 01:33:06 :more keyframing
- 00:37:52 :wait for Manim to render
- 00:02:23 :render failure, fix cause
- 00:24:16 :wait for Manim to render
- 00:21:46 :QA (fail), fix some things
- 00:40:56 :wait for Manim to render
- 00:02:13 :QA (pass)
- 00:53:52 :Full quality Manim render
- 00:03:17 :QA (FAIL) another bug
- 00:08:23 :Full quality Manim render
- 00:00:05 :BUG!!!!
- 00:04:09 :Full quality Manim render
- 00:00:05 :ANOTHER BUG!!!!!
- 00:01:15 :Full quality Manim render
- 00:01:40 :another one
- 00:01:17 :Full quality Manim render
- 00:02:13 : >:(
- 00:31:29 :more bugfixes
- 00:40:40 :Full quality Manim render
- 04:38:56 :Bring animation into resolve, explainer editing.
- 02:08:41 :start Script video
- 04:32:50 :finish script
- 00:59:31 :record voiceover
- 02:52:09 :voiceover cleanup
- 07:21:19 :align voiceover and aditional editng
- 02:35:41 :Thumbnail design
- 03:03:29 :Subtitles
- 00:04:18 :rendering
- RENDERING ERROR! YAY!
- 00:44:55 :fix and re-render (Optimized media fixed it)
- 02:18:12 :Upload video file (~2GB) (really terrible ISP throttling)
times are in hour:minute:second
@@DocJade Really impressive how much effort you put in your videos. I really love them.
Don't feel pressured, but it would be cool to get a followup that goes more in depth on the control stuff
So this run is the Cube mod in reverse, instead of moving a cube around the base you hook everything to the only assembler in existence
you can do that in ultracube too!
This was weirdly environmentally friendly for a Factorio video
If time has no value.
Every Doc video is him playing the game in the most unoptimal way ever then he just pulls out assembly code to automate crafting like damn didn't know you were like that
The funny thing is that in 2.0 he would be able to do this with circuits in game.
@@axeleverttv It will still need a lot of circuits to be that advanced.
@@lorrdy7640 don't tempt me to blueprint a programmable controller, aah my free time and sanity whyy
"After slightly less belts than my dad used on me"
Jesus christ man... it's *fewer* belts.
"could of" "should of" energy
@@MinkSquared "should have" (just doing this to play into the bit)
@@datasneeze6211 you mean greater or fewer correct?
@@Cenitopius
*sounds of belt buckle*
*sound of leather violently being ripped through denim loops*
Language is what ever you want it to be, as long as you're understood it, do whatever
I low how the "lazy bastard" achievement actually requires a lot more thought and work. imo.
There are two kinds of laziness
Ah yes, just hit them with a gigabyte of RAM lmao. What a great movie Under Siege 2 is.
Imagine what you can hack with 16 gigabytes of RAM!
@@HatsMcHats It's a lot easier if you stick some kind of blade on the RAM stick.
@@timothymclean is that a reference to the knife from Titanfall 2?
@@Aurora.Astralis Not intentionally!
Wait, that's from a serious movie? Even for the time period suggested I thought that was a joke!
6:28 I think the first 'cursed technique' for Factorio I ever saw was a mega-base that used cars on conveyor belts to move items.
Pretty sure using that technique summons eldritch beings.
It's a great way to make cheap high throughput belts and compact multi crafting setups though! I use cars and wagons extensively to make nice ratios of crafts that inserters couldn't reach otherwise.
have you seen the guy who built a base that had no belts, only traincars? cause thats quite the base ;3
@@Aliceintraining ah doshdosh
Anyone remember on reddit for a while when someone said the maximum output of a miner was half a bluebelt and people started finding ridiculous to move ore from a miner to increase throughput?
They only let him use 1 assembler, so he invented assembly.
So when is "Beating factorio by handcrafting"?
can't be done on account of engine units
Assuming you minimize the engine assemblers and electricity and liquids etc, there's a video calculating the _absolute minimum_ you would need to send a rocket in ideal conditions. It's about 7 full days of non-stop playing and crafting.
"How long does it take to beat Factorio without automations"
@@sigstackfault True. Could make the things that cant be handcrafted in a 1x speed assembler while not crafting anything else by yourself at the same time.
@@sigstackfault Beating factorio using as little automation as possible
Someone has done that already
This video is actually so cool. I’m a computer science person and haven’t touched assembly in a while so it’s nice to see it again. Didn’t realize it was relevant to factorio lol
This is the only true Assembly machine
Wube mentioned in their blog, how factorio was made. it uses a fully custom engine based on C++. Some parts of the code which are highly optimized are written in assembly.
the fCPU making Regirock noises is very fitting since computers are just rock we tricked into thinking
@@GameCyborgCh technically computers are sand that is cursed with the capability to think
You forgot to electrocute it first, rookie mistake
You take a rock, electrocute it, and THEN you can trick it into thinking 😊😊😊
@@cyberkraken1606 electronic cyber rock?
With how long these challenges are taking, I'm almost convinced you're playing multiple instances of factorio at the same time.
Tbh this one seemed like a lot of waiting, you could easily multibox with another run 😂
This challenge is "small" enough to simply run in the background.
He did use speedup mods this time. I don't know how often he does that.
One idea to let the system have more storage capacity: track the amounts of stuff in the train wagons and if anything is over a certain amount, move it out of the train car into a chest with filter inserters. Then if something is in the extra storage, and there is below X amount of it in the wagons, move that item back to the wagons with filter inserters.
Absolute fantastic work on the animations, hard to tell if you're a legend or a fucking crackhead after you got adhd meds
Amphetamines will turn a motherfucker into a wall street-fucker
what about both 😄
A brief suggestion on how to automate fluid inputs:
1. Make a shared fluid bus even though the game doesn't like it
2. Different fluids are connected via circuit-controlled pumps
3. The excess is dumped via another pump to one more pump which leads to storage tank
4. This tank is then deconstructed by robots via recursive blueprints mod
5. And immediately built again
Maybe just an array of pumps that pump the liquids to the according storage tanks?
@@AbsoluteHuman you can't filter their input before 2.0, and their input fluid box can be clocked with wrong fluid type
@@PeterZaitcev possibly not if you ensure that the receiving tanks are always not full?
@@AbsoluteHuman No, their INPUT will have the wrong fluid kind, not output.
@@PeterZaitcev Oh, you mean even if it leads to a wrong fluid tank? Ok, sad then.
This run will be so interesting when 2.0 drops because you could wire a huge logistics network that dynamically changes the recipe in the assembler. Fully automated 1 assembler factory
Factorio without the "factori" part!
O
O
O
O
O
4:25 You can't just say "perchance"!
I was looking for this comment
Iirc you can rotate buildings by pasting a blueprint over them, even without bots. With recursive blueprints, you could use this to rotate the assembly machine between different fluid inputs without sushi fluids.
Having city blocks change what they craft based on what's in high demand is a super cool thought (that I wish I had thought of myself).
I'm totally gonna need to try that out myself at some point.
Tip: you can disable crafting in the Controls settings. Just unset the "Craft 1" "Craft 5" and "Craft all" controls
4:27 PERCHANCE LOL
Pro tip for the Lazy Bastard achievement:
Type /permissions in chat and disable hand crafting in that menu. Now you can't hand craft even if you wanted to!
Oh, nice! You do it in the video!
Your factory needs a hand
This Assembled has never felt this loved
Factorio is more than a game. it's like a canvas that allows people to create/draw whatever they want. However, they want
And it's getting even way more awesome ❤
As a software developer, that fCPU sound like a lot of fun to work with. Thanks for kinda showcasing it. I now want to use it for some crazy methode too.
you have to redo this challenge when space age is here with the changable recipes with circuits
I was thinking that this should have waited to be a 2.0 version run.
That explains why I thought changing recipes would be vanilla. It was just a 2.0 factorio friday fact.
Survey says...
WE HAVE THE INGREDIENTS!
i built my own cpu not too long ago and recently got into factorio - so that assembly and the fcpu really scratched that itch in my brain, thank you kind stranger
Definitely a usefull blueprint for modded gameplay. It would need changes if intermediates are crafted in different machines or you need different fluid input so taking the unused fluid and training it away would be needed. Since new machines could be automated too it would only need circuit controlled train stations for fluids and input/output to other machines that craft the items not craftable in the assembler
2:33 So how many belts did you dad use to assemble you?
Comparing Doc's tendency to exaggerate with words like "slightly" I'd estimate at least a hundred belts
What is this absolute gem of a channel I have found?
I always wanted to try automating recipes, turns out there's already a mod for it. And this looks way better than using recursive recipes
"it didn't have a stack built in so I made my own" you fkn madman you
This made me actually go and start learning assembly, thank ya
The captions are always fantastic to see. I appreciate the effort you go through to add them! I look forward to the next challenge, but please go easy on yourself. Your sanity is important
I did something similar to this, but with the idea of recipe preprocessing before being thrown to a distributed array of generic crafters, my storage and my requests were also the same feed.
Basically
If itemsignal 0
Else, remove itemsignal, add ingredients to requests
and this was cascaded to an identical circuit.
I had a second set that routed the item types to the correct assember.
Then each assembler had enough logic to "take" one resource request, then remove that item and pass it to the next assembler.
This caused the assemblers to scale based on how many items where needed, If I had 100 assemblers, and needed 50 copper wire, 50 of the assemblers would assemble copper wire, while the other 50 did not craft.
With logistics bots, this worked pretty decently, but fell apart for overly complex recipes.(It would overflow if it had to expand 20 recipies)
If you adjusted your fcpu to not use a stack, but a memory register as a "table of all needed craftable items" that might do something similar, then loop over your storage input every 160 or so ticks.
developing an entire system to recursively dig backwards through crafting recipes to automate the crafting process in assembly, building your own stack system in the process is fucking insane
well done, from someone who studied assembly and computer architecture in college
gotta say, waffles is now my favourite explaination of the stack lol
The amount of effort needed to add these sound effects to the cpu running example is probably insane
I really enjoyed the small ping towards Factorio 2.0 where we'll be able to set recipes with the circuit network! :)
Hints of zisteau with all the alliteration and jumpcuts but still retaining enough of docjade, - i love your style!
i actually haven't seen a single zisteau video lol
@@DocJade that makes it an even bigger deal! I love it :)
I don’t care what they say about you, DocJade. You’re a very mentally sound individual. A stable genius.
When you paused after "doing a line of coal" I was expecting a snort noise.
appreciated this xkcd's 221
I LOVE THE BAJA BLAST MOD‼️‼️‼️‼️‼️ GIVE THE BITTERS HEART PALPITATIONS‼️‼️‼️‼️‼️‼️
Yes, but I do not wish to suffer that much. Thanks for doing it for us Doc!
And in 2.0 coming soon we should be able to set recipes with circuits in vanilla. Gonna love it.
I'd love to see a run without any damage to trees (both cutting and pollution)
Every time he points out how long it took to make a new science I feel attacked.
I can imagine Doc being so happy while editing with all the memes and references (yes I know still tedious task but still ❤)
Now this, this is completely insane.
lol With only one assembler you still launched the rocket faster than me in my first play through
Michael Hendricks approved handfeeding run
1:46 oh that's smart
Up until the moment you revealed the Crafting Combinator mod, I'd had an increasing sense of dread for your sanity.
I still have a sense of dread, but it's no longer increasing. Automation may be possible!
At first i thought he would hand craft most stuff but then he just used the assembler man thats just torture at this point
Subscribed 10 minutes into the video - keep it up. Great content.
This run would’ve benefited a lot with the ability to use combinators to automatically change recipes coming in the factorio 2.0 update.
Can you? - yes
Should you? - no
Every time I see one of these challenge videos, I just say to myself: "Yes...by why would you..."
4:15 “After doing a like of coal” lmao, I think I see where you’re going with that
Saw a topic post awhile ago about beating factorio with the minimum number of resources used. You should do that next
Next challenge: beat factorio without forgetting anything.
now try pyanodons!
Love the toki pona easter eggs. I found 3 of them
Loved the animation, the discord noises drove me insane though.
I feel like making a huge base that can craft anything would be fun
that took surprisingly much less time than I thought it would
24:25 Excellent editing there :)
to complicate things there a several kinds of stacks:
LIFO, FIFO - the one you described, FILO, LILO
Last-In First-Out, First-In First-Out, First-In Last-Out, Last-In Last-Out.
If you really want to bend your brain the stack in a computer grows up towards low memory and the heap grows down towards high memory.
let me know if I got that wrong.
3:52 I guess you'd need to do at least one line of "coal" to complete these challenges
it's funny how you programmed your Assembler in Assembly
Writing assembly for Factorio is WILD lol
The DocJade ARG fascinates me so much because I notice it in every single video but I also know that I am far too stupid and/or lazy to figure it out
I have learned so much in the last few minutes. So much about a truly beautiful language and about how hard it is to translate to and from it. I love you, DocJade
I wasn't expecting to see Assembly automating an Assembler in Factorio, but I shouldn't be surprised.
He completed the game faster than I can setup bots lmao
I love toki pona easter eggs
I can't actually read toki pona
but I like that they're there
Solar power : I WILL TAKE YOUR BITS !
I love the humor, good shit
Maybe the pollution that appeared where the pumpjacks were wasn't from them, maybe it was because of the car?
This is basically 1 step above hand crafting everything
Howard Nemerov might be proud of you.
Excited for the car video you mentioned, they are a underated storage unit
this has me so excited for 2.0
It's like The Cube mod, except there is no cube.
I am pretty sure one of the Factorio devs looked at this video and they were like "why in the f... would you do that ???"
Now do it getting "There is no spoon"
My favorite channel to watch someone else suffer for my enjoyment
I had an idea for another challenge. Beat the game, but you are never allowed to generate more power than you use. You must always be at a power deficit. Probably too easy as is, but there's probably some additional limitations you could add.
Quite a problem when machines go idle though
@@raizors1331 That's part of why it's challenging :) You have to really make sure the system works in a predictable enough way that it doesn't drop below the max power capacity.
loved the explanation, I may have had no clue at all what was happening, but I liked seein it
one miner challenge incoming
Doc, you should try and beat factorio in your very first box
5:14 there is no reason you can't use the assembler to make another assembler. I understand that you can only have 1 assembler placed at a time, but there is nothing wrong with having an extra assembler in your inventory.
since there has already been a video on beating the game without any automation except for mandatory things (1 furnace, 1 assembler, 1 refinery and 1 chem lab)... yes, yes you can
The domain of Bighters once slain.
Without abstain, brought was pain.
Craned above, a head, so... plain
i see, and seized, a river's wane
traverse these roads we've built, ordained
wa wa heart is staind
roses thorns against my brain
these prickly things taught in vain
the blood is spilt they're quite insane
patrolling again these lands pertain
a certain lacking, wisdom reign
the faulty ones approach, they pang
ACROSS THE POND YOU LOST YOUR THANG
BUT HERE WE ARE AMERITAME.
🐗
it should be against youtube TOS to use discord sound effects thanks for the jumpscares doctor "docjaden (docjade)" jaden lmao
With space age it would be possible to make a base that make everything with one assembler it would be very slow but still cool