▶Subscribe for more Shapez 2 and other factory games 🔴Watch more on Twitch.tv/nilaus 📄Support on Patreon to get access to Blueprints and Save Games: patreon.com/Nilaus ➡Full Shapez 2 Playlist: ua-cam.com/video/E6qntnB09YU/v-deo.html
The tile in the end of the video is "highlighted" because you have nothing build in it. So basically it is not highlighted and all the tiles around it are highlighted :D Great video and a good starting point into MAM.
One thing I would add is a conditional trash bin to the righ side passthrough of the shape select cells. Currently if you switch from the diamonds to circles it means you'll need to flush out a lot of diamonds with a shared belt. You'll be outputting the alternating pattern of circle/diamond/circle/diamond for quite a while
I like the shape selector; it's much more elegant than mine. I'm excited to see your solution for paint. I got my MaM painter up last night and it works well for 1 layer and is relatively compact. One thing I would recommend is putting the MaM close to the vortex so you don't have to do trains. The main advantage is you get to see the shapes fly in and check the output before you create 3000 and send it on a train. Also you don't have to deal with the Frankenstein shapes that happen during change over causing delays in the train loader. There are solutions to that, but I'm sure you can sort it out.
@@K-o-R The Vortex can work as a trasher too, what the OP meant, is efficiency. Frankenstein shapes happen because trains got loaded with it and do unnecessary trips. If you either just bring every basic shape in with trains close to the vortex or do proper shape filtering before the train loaders, you cut down on that wasted train time.
@@SolDizZo well you can easily set up quite a few MAMs somewhat around the vortex with short train routes. Ofc that might change when the game is developed further, then I guess you should have a filter setup ready.
That's neat design. Just unlocked the last operator level yesterday and look forward to playing with circuitry. I think the devs did a good job visualizing the signal.
It's so fun to see how many approaches there are to making a mam. I went the route of splitting everything into quarters first and then basically making valves on the space belts, so the entire belt is stopped before it enters the mam.
the problem with splitting it first is you use 4 times more paint as it uses the same amount of paint for a quarter as it does for a a whole, so you're beter off painting before splitting
I built a belt balancer for three levels coming out of the train unloader because the mams tend to only pull from one level of the unloader and can mess the trains up. It pulls from all the three levels equally which is very nice and makes my train engineers happier.
I'm liking this now, but will come back to watch the series, because I'm in hte middle of upgrading my prototype MAM to handle crystals, and I want to figure it out by myself first.
Ideally you need 2 MAMs. One for first shape, since you can stack it quickly. Second for shape with crystals, becouse handling crystals make it significantly slower.
You're literally brilliant and then you get stumped as to why a tile is "not" highlighted! Ah the beautiful balance of being human! Long time subscriber, newly joined Patreon supporter, wishing you nothing but the best! 🤑
15:12 i think the trashbins should be there, because you get uneven belts this way. On the other hand, uneven belts are probably not a problem, since unloaders use whatever lane is available (if i understand them correctly). So I take it back lol. Good design!
I should be finishing up my MAM today and it should be able to handle gaps, pins, and crystals. All the logic is done, but your video just made me realize the comparison gate has a drop down menu lol
Unrelated to this episode, I made a 1 block unit in my factory that takes RGB in (one per layer) and puts out one layer each of CYM. That makes sure that color mixing is conserved, and if I just stack two of them you get three layers of white.
I disagree because if you need the same shape but in different colors then you need to process the shape, paint again and stack etc. not worth at all just for some paint. just paint each corner and stack it if your corner input can be any shape then your layer is done
So something you’re going to want to account for is when you change the shape. There will still be leftovers from the last shape you were running through the MAM. So you’ll want to setup checks and if it needs something different it will trash the leftovers.
So I have a proposal, how about using the cut-swapper to get like half of them into halfway of the configuration you need? And if it's a blank could be diverted into a half-destroyer then merged further down via cut-swappers. So like, using your example, for the first two layers, the circle and the wedge. So with the swapper you could make a shape that's half circle, half wedge, rotate them a quarter turn then merge with a half spike, half square. You would need a channel in the event that you have a blank but since you would be merging one of your blocks, you could use 1x2 platforms and use the extra space to route the non-empty space into a half-destroyer, thereby making the blank once you make a cut-swap. If both are blank, then you would get a shape where the other side would effectively already be the complete shape.
Did a little napkin prototyping and unfortunately, for the 2nd swapping it would simply create one shape correctly, but the other would be mirrored incorrectly and need to be trashed I think... Or split up into quarters and two of them would have to be spun around 180 and reassembled... No wait, you could split the mirrored shape, rotate to north, swap the two halves, rotate them to the correct orientation, and then a swap again would merge the assembled halves with a blank and the corrected shape.
Do you think you would consider a video that is a bit of a high level walk through of some of the techniques you've used to organise your machines? For example, I like how you have zones labelled for each of the milestone shapes, but I'm curious how you get the required shapes and colours to and from those zones, how you arrange your "bus" to deliver shapes from their zones etc. I'm new to factory games so I've got a lot to learn about the metagame.
Oh, I learned something new. I had no idea you could switch the logic on the equals circuit. I also didn't know you could use the signal jumpers between platforms. I prefer to just use a global input instead, but I like the idea of making the whole mam without space belts, so I think I'll probably explore the signal jumpers more.
You said “It can have crystals in can have pins it can have holes it can have multiple layers” but the first random operator shape actually cannot have crystals or pins
This selector is nice, but the belts are pretty long. The longer the belt is after selection logic, the longer it will take for MAM to switch. It is important when switch takes 6 minutes, but production itself takes 2 What I did instead is routing of 3xCircle + 3xSquare + 3xSpike + 3xWedge + 3xPin to 1x1 platform per quadrant, and select right before the output. In that case, each shape has to travel < 20 blocks between selector and painter
Hey Nilaus, thanks for the video .... the game seems so quiet! I like factory games to be noisy - all the various belts, machines humming and clunking and all that, adds so much to immersion!
I would recomend to put a logic for filtering your belts before every platform exit so only needed shapes goes to next platform. Leftovers on belts from previous milestone should be trashed as soon as possible for an efficent MAM.
I know from twitch that you're much further along on the MAM project, so any suggestion here would be pointless. But: You mentioned how a programmer would start a sequence with 0 rather than 1 but 1 first is more readable. In my MAM I did 0 is the full item, channel 1 is layer 1 and so on. It's hand for purging rubbish to hae the layer I enjoy all of your content. Best wishes to you!
for programmers, stuff like. ie) layers, this is in arrays that start at 0 so, for programmers: 0, 1, 2, 3 IS more readable than 1, 2, 3, 4, but we can accept there's a translation for us to make so it's all good. that's why he said, "but for non-programmers, 1, 2, 3, 4 makes more sense" and used those channels to make it easier for them.
I'm confused about the number of levels in a shape. 1) a stacker will only stack to four levels, right?, but a code can stack to many more, right? so must a MAM decompose a max of four levels or many more. (ie, recursively decompose till empty shape code) ???
@Nilaus, great video! Please show how changing the configuration affects the factory in the next videos. This video could have been more straightforward in explaining why you did not need to identify which corner the quarter-piece needed to be rotated to.
on the right hand side of the screen, there's a "Home" icon. press this and your view will be set to the vortex. above that there's a rotate icon, idk what that does. above that, you see a "Marker" icon. click this and click where you want it to be on the map. if you give it a name, that name appears on the map. you can also give it a shape which will be added to the right side of the screen so you can press it to return to that place later. hope this helped
You were sharing the masterclass blueprints in Factorio normally, but why were you sharing the ones in shapez 2 exclusively for patreon members? Will the ones in Factorio 2.0 be Patreon-only from now on?
why do you cut all pieces into the top right corner? considering that you already got the 4 corners separated and the final shape might need any of the piecies in any of the corners you can separate in all 4 inputs per shape and merge from that? yes, the mam would be bigger but the logic wouldn't be more than just equal comparators
If you cut first, then paint, not only it is much bigger, requres you to deal with 12 belts vs 3, increases shape turnaround time, but you also are spending 4 times the paint compared to paint-then-cut method
If you are painting later, it is more efficient to paint before cutting as it saves paint. My MAM uses select->paint->cut for one layer which I think is the most resource efficient
no, I want 12 belts out. There is no reason to work with 12 belts until you have to. Cheaper to paint 3 belt and then cut than to cut first and then paint 12 belts
@@MichaelBelgium All resources may be infinite but time isn't. The more paint you use, the more paint you have to pipe in, which makes your MAM bigger, which makes your MAM slower.
if you have multiple loaders going to one unloader and the trains are all one color, they end up all going back to one loader - maybe the furthest loader, i'm not sure
2:30ish min in; day job on manage programmers, you are close to the fire but does not know the ability to look x steps ahead to not have issues. Its a fine art but you have people who will do whats on the ticket and then others will will look past the requirements on what may come in the near future based on the knowledge of the company they are in (or the full requirements up front which is very rare since waterfall methodology is close to dead). based on what i've seen, you are very good as doing mass building, but not in a way that is best for min maxing. Sadly in real live not in games, just getting to 50% of what they want and having it release (prod) is all they need and they are happy but it drives the ocd tendencies of majority of programmers as well as the ownership programmers who wish to ensure its bug free and they 'never' need to return to it until the owners wish to change their input/requirements.
This seems poorly optimized, or am I misunderstanding? A Cutter takes 4 machines to fill a belt and rotator takes 2. Your configuration takes a full belt and splits it into 4 groups of 3 cutters and 5 rotators. How did you figure out the math on this? Thanks
The labels and 3rd floor are unlocked with research points. Nilaus is at the end game with everything unlocked. The moving icons are an option when you zoom out on the map in the lower right hand corner.
also, on the right hand side of the screen, there's a "Home" icon. press this and your view will be set to the vortex. above that there's a rotate icon, idk what that does. above that, you see a "Marker" icon. click this and click where you want it to be on the map. if you give it a name, that name appears on the map. you can also give it a shape which will be added to the right side of the screen so you can press it to return to that place later. hope this helped
I think mam us kind of a pipe dream to make the 1% capable of programming it possible while everyone else scratches thier heads. Circuits are wholly unused to the end of the game. Kind of like with Factorio, noone wants to do a meaningful college education level course for free, so everyone ignores the feature.
while circuits aren't used till MaM making, the MaM gives programmers something to stretch the game out a bit longer. also there seem to be actually many people who actually do enjoy stretching their brains to figure out how to make a MaM. people like Nilaus who, while not a programmer, have been involved in designing programs (and herding cats (programmers)) and can learn a bit about logic gates and actually make the MaM. in shapez 1, i saw many designs (from people that may or may not have been programmers) to play simple games, make rotating billboards, a calculator, among other things. i expect when people get their MaMs 'perfected' there'll be stuff like that popping up for shapez 2. at the end of shapez 1, i was using circuits to learn and design low-level programming concepts such as half adders, full adders, etc.
▶Subscribe for more Shapez 2 and other factory games
🔴Watch more on Twitch.tv/nilaus
📄Support on Patreon to get access to Blueprints and Save Games: patreon.com/Nilaus
➡Full Shapez 2 Playlist: ua-cam.com/video/E6qntnB09YU/v-deo.html
The tile in the end of the video is "highlighted" because you have nothing build in it. So basically it is not highlighted and all the tiles around it are highlighted :D
Great video and a good starting point into MAM.
One thing I would add is a conditional trash bin to the righ side passthrough of the shape select cells.
Currently if you switch from the diamonds to circles it means you'll need to flush out a lot of diamonds with a shared belt. You'll be outputting the alternating pattern of circle/diamond/circle/diamond for quite a while
I like the shape selector; it's much more elegant than mine. I'm excited to see your solution for paint. I got my MaM painter up last night and it works well for 1 layer and is relatively compact. One thing I would recommend is putting the MaM close to the vortex so you don't have to do trains. The main advantage is you get to see the shapes fly in and check the output before you create 3000 and send it on a train. Also you don't have to deal with the Frankenstein shapes that happen during change over causing delays in the train loader. There are solutions to that, but I'm sure you can sort it out.
Scan the shapes immediately before the vortex and compare to what is requested, divert to trash if they don't match?
@@K-o-R There's no harm in sending bad shapes into the vortex. Comparing shape in process and trashing non-matching items before a train is important.
@@K-o-R The Vortex can work as a trasher too, what the OP meant, is efficiency. Frankenstein shapes happen because trains got loaded with it and do unnecessary trips. If you either just bring every basic shape in with trains close to the vortex or do proper shape filtering before the train loaders, you cut down on that wasted train time.
But what if you wanted Two MAM's ? 😂
@@SolDizZo well you can easily set up quite a few MAMs somewhat around the vortex with short train routes. Ofc that might change when the game is developed further, then I guess you should have a filter setup ready.
I was having the hardest time getting started with MaM. Your session here has really helped kickstart my though process. Thank you!
That's neat design. Just unlocked the last operator level yesterday and look forward to playing with circuitry. I think the devs did a good job visualizing the signal.
It's so fun to see how many approaches there are to making a mam. I went the route of splitting everything into quarters first and then basically making valves on the space belts, so the entire belt is stopped before it enters the mam.
the problem with splitting it first is you use 4 times more paint as it uses the same amount of paint for a quarter as it does for a a whole, so you're beter off painting before splitting
I built a belt balancer for three levels coming out of the train unloader because the mams tend to only pull from one level of the unloader and can mess the trains up. It pulls from all the three levels equally which is very nice and makes my train engineers happier.
I'm liking this now, but will come back to watch the series, because I'm in hte middle of upgrading my prototype MAM to handle crystals, and I want to figure it out by myself first.
Ideally you need 2 MAMs. One for first shape, since you can stack it quickly. Second for shape with crystals, becouse handling crystals make it significantly slower.
And then what if you need to get two different coloured crystals on the bottom layer?
@@malcolm_in_the_middle Impossible to get it on normal difficulty, and if I remember correctly on hard too
Thank you Nilaus for sharing your own MAM!
You're literally brilliant and then you get stumped as to why a tile is "not" highlighted! Ah the beautiful balance of being human! Long time subscriber, newly joined Patreon supporter, wishing you nothing but the best! 🤑
Fun fact, the tile in the end which was "highlighted" was in fact the only tile which was not highlighted, since you don't have any buildings on it ;)
So looking forward to the MAM build. I’m already seeing issues with mine that I should change.
This is next level Nilaus base-in-a-book! haha
15:12 i think the trashbins should be there, because you get uneven belts this way. On the other hand, uneven belts are probably not a problem, since unloaders use whatever lane is available (if i understand them correctly). So I take it back lol. Good design!
I should be finishing up my MAM today and it should be able to handle gaps, pins, and crystals. All the logic is done, but your video just made me realize the comparison gate has a drop down menu lol
Unrelated to this episode, I made a 1 block unit in my factory that takes RGB in (one per layer) and puts out one layer each of CYM. That makes sure that color mixing is conserved, and if I just stack two of them you get three layers of white.
when you move on to painting, make sure to paint before you cut the quarters to get 4 shapes for 1 paint.
I disagree because if you need the same shape but in different colors then you need to process the shape, paint again and stack etc. not worth at all just for some paint. just paint each corner and stack it if your corner input can be any shape then your layer is done
Mmmmm Love when things start at the real beginning, 0😍. Great series, thank you!
So something you’re going to want to account for is when you change the shape. There will still be leftovers from the last shape you were running through the MAM. So you’ll want to setup checks and if it needs something different it will trash the leftovers.
Excited for this new series!
So I have a proposal, how about using the cut-swapper to get like half of them into halfway of the configuration you need? And if it's a blank could be diverted into a half-destroyer then merged further down via cut-swappers. So like, using your example, for the first two layers, the circle and the wedge. So with the swapper you could make a shape that's half circle, half wedge, rotate them a quarter turn then merge with a half spike, half square. You would need a channel in the event that you have a blank but since you would be merging one of your blocks, you could use 1x2 platforms and use the extra space to route the non-empty space into a half-destroyer, thereby making the blank once you make a cut-swap. If both are blank, then you would get a shape where the other side would effectively already be the complete shape.
Did a little napkin prototyping and unfortunately, for the 2nd swapping it would simply create one shape correctly, but the other would be mirrored incorrectly and need to be trashed I think... Or split up into quarters and two of them would have to be spun around 180 and reassembled... No wait, you could split the mirrored shape, rotate to north, swap the two halves, rotate them to the correct orientation, and then a swap again would merge the assembled halves with a blank and the corrected shape.
25:30 the tile is not highlighted, it is the basic color for tiles with no buildings in it^^
"Why is this highlighted?"
He already used half the map so he forgot how an unused tile look like lol
This is great, thank you!
Do you think you would consider a video that is a bit of a high level walk through of some of the techniques you've used to organise your machines? For example, I like how you have zones labelled for each of the milestone shapes, but I'm curious how you get the required shapes and colours to and from those zones, how you arrange your "bus" to deliver shapes from their zones etc. I'm new to factory games so I've got a lot to learn about the metagame.
Oh, I learned something new. I had no idea you could switch the logic on the equals circuit.
I also didn't know you could use the signal jumpers between platforms. I prefer to just use a global input instead, but I like the idea of making the whole mam without space belts, so I think I'll probably explore the signal jumpers more.
You said “It can have crystals in can have pins it can have holes it can have multiple layers” but the first random operator shape actually cannot have crystals or pins
First one can have pins, but only second one can have crystals
And the second one can't have pins or holes, Nilaus is aware of that
He isn't saying the current shape can have all of those things. He's saying that a well made MAM can handle all of those things as they come up.
@@Charlie-kc6py I'm at operator level 364. I haven't seen the pins in the first picture yet. The first is level 68, the second is level 69.
@@GreatBAO2 I had to fix my MAM, because I got a layer of just pins. Also confirmed it on discord, pins start appearing at lvl 50
This selector is nice, but the belts are pretty long. The longer the belt is after selection logic, the longer it will take for MAM to switch. It is important when switch takes 6 minutes, but production itself takes 2
What I did instead is routing of 3xCircle + 3xSquare + 3xSpike + 3xWedge + 3xPin to 1x1 platform per quadrant, and select right before the output. In that case, each shape has to travel < 20 blocks between selector and painter
Hey Nilaus, thanks for the video .... the game seems so quiet! I like factory games to be noisy - all the various belts, machines humming and clunking and all that, adds so much to immersion!
I would recomend to put a logic for filtering your belts before every platform exit so only needed shapes goes to next platform. Leftovers on belts from previous milestone should be trashed as soon as possible for an efficent MAM.
That's impressive!
do it!!! show us how its done!
dang I didn't even know you could do all of this with wiring stuff. Guess I should keep playing the game huh?
when you need to design boolean logic circuits, chatgpt is a godsend
I would recormend colouring the full shape first, before cutting it up, as you will only need a quarter of the paint
I know from twitch that you're much further along on the MAM project, so any suggestion here would be pointless. But: You mentioned how a programmer would start a sequence with 0 rather than 1 but 1 first is more readable. In my MAM I did 0 is the full item, channel 1 is layer 1 and so on. It's hand for purging rubbish to hae the layer
I enjoy all of your content. Best wishes to you!
for programmers, stuff like. ie) layers, this is in arrays that start at 0 so, for programmers: 0, 1, 2, 3 IS more readable than 1, 2, 3, 4, but we can accept there's a translation for us to make so it's all good. that's why he said, "but for non-programmers, 1, 2, 3, 4 makes more sense" and used those channels to make it easier for them.
IC10 programming in Stationeers offers a wide variety of problems/solutions to practice coding.
está sub Español mil gracias!!!!! yujuuuuu
3:50 omg how could you 😭
MAM is molecular analysis machine in satisfactory
I'm confused about the number of levels in a shape. 1) a stacker will only stack to four levels, right?, but a code can stack to many more, right? so must a MAM decompose a max of four levels or many more. (ie, recursively decompose till empty shape code) ???
@Nilaus, great video! Please show how changing the configuration affects the factory in the next videos. This video could have been more straightforward in explaining why you did not need to identify which corner the quarter-piece needed to be rotated to.
At the beginning of the video. How did you get the labels with the icons for the Milestones to float above?
on the right hand side of the screen, there's a "Home" icon. press this and your view will be set to the vortex. above that there's a rotate icon, idk what that does. above that, you see a "Marker" icon. click this and click where you want it to be on the map. if you give it a name, that name appears on the map. you can also give it a shape which will be added to the right side of the screen so you can press it to return to that place later. hope this helped
You were sharing the masterclass blueprints in Factorio normally, but why were you sharing the ones in shapez 2 exclusively for patreon members? Will the ones in Factorio 2.0 be Patreon-only from now on?
How do you check if one of the quarters is empty? It looks like you will have a backup without adding a bin.
...coming soon
why do you cut all pieces into the top right corner? considering that you already got the 4 corners separated and the final shape might need any of the piecies in any of the corners you can separate in all 4 inputs per shape and merge from that? yes, the mam would be bigger but the logic wouldn't be more than just equal comparators
If you cut first, then paint, not only it is much bigger, requres you to deal with 12 belts vs 3, increases shape turnaround time, but you also are spending 4 times the paint compared to paint-then-cut method
Do you gain anything by building the shape that is based on what level you are (the one in the bottom left corner)?
No, it's decor
Do you have the idea of zahait?
i could be incorrect but wouldn't it be better to cut before you select?
that way you have 4 fully saturated belts of quarters to select from.
If you are painting later, it is more efficient to paint before cutting as it saves paint. My MAM uses select->paint->cut for one layer which I think is the most resource efficient
@@givani30There is no such thing as "saving paint" tho, paint is infinite, all resources are
no, I want 12 belts out. There is no reason to work with 12 belts until you have to. Cheaper to paint 3 belt and then cut than to cut first and then paint 12 belts
@@MichaelBelgium All resources may be infinite but time isn't. The more paint you use, the more paint you have to pipe in, which makes your MAM bigger, which makes your MAM slower.
Designing compact 4x belt filters is way harder than a single belt filter. But, it still has to be done 4x for the bypass before stacking.
can't you just hook up signal from the shape straight into the filter like in Shapez 1? rather than the comparator
Yeah same with paint
@@VoltronBuggz the one thing I was wondering is if the corner alone allows the full circle to pass
@PyroYeet I personally cut them up, then send them through the gate
@PyroYeet No but you can rebuild a complete shape signal using simulated stacking+rotating
I'm trying to build a rail network but after some time they all just bunch up together and start blocking at drop off points backing me up
if you have multiple loaders going to one unloader and the trains are all one color, they end up all going back to one loader - maybe the furthest loader, i'm not sure
2:30ish min in; day job on manage programmers, you are close to the fire but does not know the ability to look x steps ahead to not have issues. Its a fine art but you have people who will do whats on the ticket and then others will will look past the requirements on what may come in the near future based on the knowledge of the company they are in (or the full requirements up front which is very rare since waterfall methodology is close to dead).
based on what i've seen, you are very good as doing mass building, but not in a way that is best for min maxing. Sadly in real live not in games, just getting to 50% of what they want and having it release (prod) is all they need and they are happy but it drives the ocd tendencies of majority of programmers as well as the ownership programmers who wish to ensure its bug free and they 'never' need to return to it until the owners wish to change their input/requirements.
This seems poorly optimized, or am I misunderstanding? A Cutter takes 4 machines to fill a belt and rotator takes 2. Your configuration takes a full belt and splits it into 4 groups of 3 cutters and 5 rotators. How did you figure out the math on this? Thanks
Can you build a make make anything machine?
12 belts per MaM or 4 belts per much smaller MaM that's easier to feed? It's a hard decision.
Why does your game look completely different than mine? The labels? The moving icons? The 12 lane belts? What
The labels and 3rd floor are unlocked with research points. Nilaus is at the end game with everything unlocked. The moving icons are an option when you zoom out on the map in the lower right hand corner.
also, on the right hand side of the screen, there's a "Home" icon. press this and your view will be set to the vortex. above that there's a rotate icon, idk what that does. above that, you see a "Marker" icon. click this and click where you want it to be on the map. if you give it a name, that name appears on the map. you can also give it a shape which will be added to the right side of the screen so you can press it to return to that place later. hope this helped
I think mam us kind of a pipe dream to make the 1% capable of programming it possible while everyone else scratches thier heads. Circuits are wholly unused to the end of the game. Kind of like with Factorio, noone wants to do a meaningful college education level course for free, so everyone ignores the feature.
while circuits aren't used till MaM making, the MaM gives programmers something to stretch the game out a bit longer.
also there seem to be actually many people who actually do enjoy stretching their brains to figure out how to make a MaM. people like Nilaus who, while not a programmer, have been involved in designing programs (and herding cats (programmers)) and can learn a bit about logic gates and actually make the MaM.
in shapez 1, i saw many designs (from people that may or may not have been programmers) to play simple games, make rotating billboards, a calculator, among other things. i expect when people get their MaMs 'perfected' there'll be stuff like that popping up for shapez 2.
at the end of shapez 1, i was using circuits to learn and design low-level programming concepts such as half adders, full adders, etc.