#Impossible+ROS MAM

1 messages · Page 1 of 1 (latest)

nimble pasture
#

My very first MAM, capable of all Impossible-mode tasks/operator shapes, as well as ROS shapes

Zipped folder contains Sub-Blueprints in case your computer cannot handle the entire thing at once

  • Some wireless channel configuration is required if using the Sub-Blueprints
nimble pasture
#

recently found a minor issue with the last pin pusher module of the topmost segment - not all the outputs were connected properly

crude venture
#

I see what you mean about "if your computer can't handle the whole thing at once", wow it lags with this on the clipboard.

nimble pasture
nimble pasture
crude venture
#

So what should the inputs look like?

nimble pasture
#

for the trains?

#

oh - they were labeled at one point, and then I reworked the stations XD

crude venture
#

Yeah, so there's a ton of shape and colour inputs and no labels. I could experiment but also you answered like 10 minutes ago. 🙂

nimble pasture
#

yeah - color inputs are just one wagon of each color (order does not matter)

#

main shape inputs are, from left to right: {P-------}{Cu------}{----CuCu}{P-------}{Cu------}{Ru------}{Su------}{Wu------}

deep haloBOT
nimble pasture
#

secondary shape inputs are: {CuCu----}{P-P-----}

deep haloBOT
crude venture
#

Neat. Gonna have to do some preprocessing, I'm mostly set up for whole shape input. Thanks.

nimble pasture
#

yeah, this was my first one - i might rework the inputs to accept full shapes at a later date, but havent bothered yet because my factory is already set up for the way it is XD

crude venture
#

I was about to ask "one wagon of each, but then why are there 7? and then I figured out you meant one of EACH. 🙂

nimble pasture
crude venture
#

Still, this is very cool, and the wiring being separate and the non-optimised nature means it's a lot easier to follow. Thanks.

nimble pasture
#

if you wanted, you could replace the color selector with a smart mixer linked to the same logic

nimble pasture
#

oh - notable sections of the logic are these 3 platforms, which tell you if the shape was solved:

nimble pasture
deep haloBOT
crude venture
#

What are these 4-wide inputs supposed to be?

nimble pasture
crude venture
#

When I pasted your blueprint in, almost all the rail transitions between levels broke. I've been recreating them but clearly I missed those.

nimble pasture
#

check that there are 2 layers on the color selectors

crude venture
#

..... well, the good news is, if I just delete it and re-paste it, at least my inputs are safe. 🙂

#

They do have two layers, yeah.

nimble pasture
#

oh, then paste level wasnt the problem

#

not sure what happened with the rails then - the trains go to the outputs of each segment; the left one to the lower outputs, and the right to the upper ones

#

you can see them fairly easily in the screenshot of the original message

nimble pasture
#

although, those specific trains never change levels...

crude venture
#

AH! That would do it. The issue is, those trains just aren't connected to anything at the bottom end of the MAM.

nimble pasture
crude venture
#

I mean, they don't connect to any loading points.

#

So I assumed they were inputs.

nimble pasture
crude venture
#

Also, I have perhaps a very stupid question: What's the best way to turn it off, so it stops trying to produce random operator shapes while I'm tracing connections, configuring inputs, etc?

crude venture
nimble pasture
deep haloBOT
# nimble pasture now with off switch XD

Blueprint Infos :

Version : 1122 / 0.1.1, Blueprint type : Platform, Blueprint cost : 404, Platform unit cost : 1
Building count : 102, Building size : 12x15x3, Building tiles : 184
Platform count : 1, Platform size : 1x1x1, Platform tiles : 1
Icons : Platforms, <empty>, <empty>, {RuRuRuRu}
Actions :
[View in 3D]

nimble pasture
nimble pasture
crude venture
#

And you added an off switch for one side but not the other. 😛

nimble pasture
#

other side is not for production

#

other side is a signal that goes through the logic and sets all the wireless channels

crude venture
#

OK. I'm definitely confused about the logic. I'll keep digging in, thanks for sharing and thanks for the help!

nimble pasture
#

also, i just realized - the copy i edited had a wire missing, here is the fixed version:

deep haloBOT
nimble pasture
crude venture
#

What's the logic behind sticking one of these blocks behind every hopper? "If I don't need this shape, trash the supply of this shape instead of storing it for when I do need it"..... why?

#

Why not just.... stop?

nimble pasture
#

look closely at the signal producer on it

#

that should tell you what it is expecting

nimble pasture
nimble pasture
crude venture
#

..... Right. And looking at it, gave the inputs as left -> right, which is how I set up the train, and then it DELIVERS right to left. Because I missed that extremely basic thing.

#

SO MUCH MORE MAKES SENSE NOW.

#

I set up the inputs in the right order, and then picked them up on a westbound train to deliver to east-facing hoppers.

nimble pasture
crude venture
#

Exactly, and I just completely brainfarted on my trains facing the opposite direction on delivery.

#

User error!

nimble pasture
#

yeah - those modules should theoretically do nothing but act as a space belt, aside from when the train bug happens

#

originally it did not have them, but then i discovered the train bug when a mis-delivery locked up the entire MAM XD

crude venture
#

Yup, and here I was thinking "what a weird design decision" and not "No, John, you're doing it wrong"

nimble pasture
#

The only place things are typically trashed is a few purge points for clearing buffers when changing to a new shape

crude venture
#

So, I think I finally got it all hooked up, but I asked it to make {cmcccccc} and it's getting stuck at the bottom makers, looks like this:

deep haloBOT
crude venture
#

All three are getting directed off the edge of the board?

#

I don't see what that's supposed to have been connected to, none of the other shape pipes broke when I pasted it in, just the rail connections (because you have the Supporter Edition and I don't)

#

I can't see what they're supposed to connect to on your screenshot. 🙂

#

Anyway. It made the four corner crystals, but it's directing them off the map, not actually doing anything with them.

nimble pasture
#

let me take a look, that should not happen

#

it must be a wireless setup issue, since it solves just fine

#

can you get me a screenshot of your input platform?

nimble pasture
crude venture
nimble pasture
#

this one

#

oh! i just thought!

#

are you on insane mode?

crude venture
#

No, Hard.

#

I replaced with "ROS 1/2" receivers with a flat signal.

nimble pasture
nimble pasture
#

let me take a quick look for you

crude venture
#

OK, let me revert to the previous model and turn on the manual input instead. 🙂

nimble pasture
#

so, i will give you a few steps to set it up for hard

#

first, remove one layer of the white 3/4 shape on the input platform

#

then, remove the bottom-most row of 1x2s in the logic block

#

actually, wait one sec - might be an easier way

crude venture
#

It's just that I'm on a mode where there aren't as many layers as it wants?

#

That's funny, I didn't think of that.

nimble pasture
nimble pasture
crude venture
#

I live to troubleshoot!

nimble pasture
#

then it should all work

crude venture
#

"Every receiver in the factory" oi. It would have been way esier to just build the weird crystal shapes. 🙂

nimble pasture
#

lol

#

there is a shortcut if you cut out the topmost layer of the factory modules - then you only need to change IDs for the layer-independent recievers

crude venture
#

OK, so. I change the input board symbol to this, then scratch this line of platforms, then change the platforms in the MAM to match that new symbol?

nimble pasture
#

but dont change to match - just remove a single layer (any ID that is only one layer can be discarded)

#

actually, since it may be easier...

crude venture
#

So A becomes B on every platform?

#

(essentially)

#

The way you've done the signals is really, really neat.

nimble pasture
#

wait, i think i just realized

#

can you check a specific signal for me?

crude venture
#

Sure!

nimble pasture
#

actually, i dont need you to check - since it made the right corners

#

i just realized, it is not as badly broken as i thought it was

#

you can undo all your changes to the logic block

#

the issue only affects a few signals

crude venture
#

OK, so what do I need to do?

nimble pasture
deep haloBOT
nimble pasture
deep haloBOT
crude venture
#

Trying that now....

nimble pasture
#

for it to have produced the correct corners, that means that almost all the channels did work

#

i never thought twice about using simulated swappers to manipulate that signal - they do layer truncation, so only those signals broke

crude venture
#

Heh. OK, so, it's kind of all jammed up now, I'm looking around to see if anything's moving. I can just highlight the bits and whack "I" to clear the chaff, though.

nimble pasture
#

it should unjam itself

crude venture
#

I'm not seeing any motion at all.

#

But I might have broken something else along the way?

nimble pasture
#

can you send me a screenshot?

#

actually, i can join a voice chat if you would prefer

crude venture
#

I can't do voice right now, but maybe in an hour or so?

nimble pasture
#

will be asleep then, unfortunately

crude venture
#

Understood. Don't worry about it, I'll troubleshoot the setup, clear the inputs manually, make sure I did/undid all the changes we talked about, and worry about it tomorrow.

nimble pasture
#

are shapes making it onto the trains?

crude venture
#

Some, yes, but it jammed up earlier. I cleared it, it's moving again now.

#

So I think the problem was just it got into a bad state mid-changes.

#

Clearing it seems to be processing now, it'll be a few more minutes before I get output.

nimble pasture
#

possibly - i cannot think of what would have jammed though

#

adding a trash onto the dead-ends of the segments (where the items were going when the signals were broken) might prevent future jams

crude venture
#

Possibly, but it's not stuck there. Now what's happening is the blocks are producing the crystals in the right colour (3 blue, 1 purple), all stopping at the same point in the chain.

nimble pasture
#

back to 5 layers?

crude venture
#

I don't think so, but let me see!

nimble pasture
#

because that is what would happen if it was offset by one layer due to that

crude venture
#

That was exactly it.

#

Progress!

nimble pasture
#

yeah, so basically the 5th "top layer" module was getting no signal, so it would be in an invalid state

crude venture
#

Still going to take another few minutes until I see if I get results, but it's definitely progressing, and the logic (and the use of wireless settings) is very cool.

nimble pasture
crude venture
#

Definite progress:

#

Am I reading this correctly, and it basically builds 1/4 of the target shape regardless of what kind of thing it is, then Swappers them together because Swappers can't break anything?

#

Definitely working.

#

Victory!

nimble pasture
#

that is what the upper segment at the very top is for

crude venture
#

Yup. Gonna throw a bunch of other shapes at it and watch. Thanks a ton for the help!

nimble pasture
nimble pasture
deep haloBOT
crude venture
#

I've just been changing the targets and seeing how it handles it, and comparing it to the OTHER MAM that didn't handle crystals correctly.

nimble pasture
#

taking the shortcuts in crystal handling lets ROS MAMs be much smaller than CMAMs

crude venture
#

True, but I meant it failed on some specific Hard tasks, and yeah, clearly. Again, the differences are very neat.

nimble pasture
#

yeah - that other one was optimized entirely for the simple rules of ROS shape generation

#

although, fun fact - it would be possible to wire 4 ROS MAMs together to make the functionality of this one XD

crude venture
#

I can definitely see how yours is less efficient but it's REALLY interesting watching how it handles things compared to how the other MAM did and to how I did a manual factory. I never built "stack of 3/4 garbage, 1/4 correct, merge" as a plan but I can see how that's a robust algorithm.

nimble pasture
nimble pasture
#

you could make something equivalent to this MAM with 4 ROS MAMs plus the scaffold builders and final swapper

#

the circled part can literally be replaced by a ROS MAM (and i might do that at some point, since i think my most recent ROS MAMs are smaller than those segments XD)

crude venture
#

Found a shape your MAM can't handle:
{RyCy----:Cr------:CwCw----:cbcb----}

It makes {Cy--CuCu:----CuCu:Cw--CuCu:cb--CuCu}, swaps it with {CuCu--Ry:CuCu--Cr:CuCu--Cw:CuCu--cb}, and that breaks the blue crystal on the top level.

(I don't think it SHOULD break the crystal?)

deep haloBOT
crude venture
crude venture
#

Not a bug: The white circle falls, and that breaks the crystal. {RyCyCyRy:Cr----Cr:CwCwCwCw:cbcbcbcb} has the same issue, BTW.

deep haloBOT
nimble pasture
#

There is logic that is supposed to detect this, not sure what went wrong

nimble pasture
#

facepalm
the logic solves just fine, but the two receivers on the factory to select which train/merge to send it to are back-to-front, so it gets sent to the wrong merge XD

#

swap these two platforms on each segment and it should work XD

#

(I'm still churning through the impossible tasks at max goal multiplier on my save, and while I tested the logic with swap-order shapes, I had not run any through the factory yet XD)

crude venture
#

That's awesome.

#

Is this another case of Hard vs Insane, or a more general bug?

#

I could put together and save/post a "hard mode" version with all your bugfixes here, and with the non-special rail connectors. Would you want that?

nimble pasture
nimble pasture
crude venture
#

I won't be able to check and test for another few hours, but I'll confirm. Those are the very last shapes in Hard Mode Research for me - anything the CROS MAMs couldn't handle, yours could.

nimble pasture
#

I will probably rework the channel setup to be more drop-in compatible with non-insane games

nimble pasture
#

by doing the merge in a different order, it keeps the overhang supported at all times

#

(this is one of the cases where the extra supporting corners are needed)

crude venture
#

Yeah, I mean, the solution is clear,

Watching the various channels react to changing target shapes is really interesting. Also worth noting for your documentation: You need more circle pieces than you think, like, at least 3x as many as any other if you want to keep processing from slowing down.

I also changed your supply train paths a little: instead of 5 sets of 5 trains splitting up to deliver a single platform from each colour of train, I have it running a set of trains through all platforms directly. This makes it slower to refill platform 5 if its empty, but during normal use most of the supply trains are full most of the time so they just zip through, and this means that if one platform is running through a LOT of a shape, it gets 4-5 resupplies in quick succession.

#

(instead of "red trains fill the leftmost platform, blue trains fill the second-leftmost, etc" I have "all trains fill all platforms")

#

If I were TRULY optimising supply, I'd reverse the direction of the trains and feed from the right - the rightmost platforms use more shapes faster, so they would be closest to my feed. I'd also add a couple of dedicated trains for the stuff that gets used up fastest.

nimble pasture
#

Yeah - the train logistics is not the most optimal

#

Yeah, it uses a lot of circles for scaffolds - it can technically use any shape for them, but would require tweaking some of the constants in the logic block - I might update it for each quadrant to use a different shape as scaffold, for more even draw

#

I had a ton of readily available circles in my world XD

crude venture
#

I mean, I just noticed that the circles were running low when everything else was fine, and added more circles.

nimble pasture
crude venture
#

But the base shape is (often, where I was using it) a crystal, and even without that, pulling only one other shape per layer and also lots of circles runs through more circles. Which is fine, just noting that my original thought of "equal amounts of all items in the big trains" was way short.

nimble pasture
#

The reason for the trains not going through all stations is more of a personal/aesthetic choice on my part

crude venture
#

Sure. Like using the smoother raise/lowers.

nimble pasture
crude venture
#

Yup! This is not saying anything's wrong, just suggesting updates for the documentation.

Multiple wagons of the affected shapes is likely overkill, I just needed to make sure the supply-side filled them up faster and that the trains were running often enough.

nimble pasture
crude venture
#

Seriously, this is an AMAZING MAM, not just in terms of what you can build, but in terms of it being easy to understand. Even obvious places for throughput improvement (eg paint mixer + colour selector so you don't have big belts full of an old colour, you deliver the right colour almost instantly) are small.

nimble pasture
crude venture
#

And the logic being completely separated and handled wirelessly is very handy, too, especially with the OBJECT LESSON in how wireless channel selection works, which I really didn't understand before.

nimble pasture
#

as my very first MAM, there are several thing I would improve if I were to build it again, like using smart mixers and full shape inputs

#

in fact, I might start a re-build of it soon, in my test world

nimble pasture
crude venture
#

Yuuuup. Replacing the paint bins with a smart mixer that outputs the desired colour is easy, since you're already sending the desired colour. "Give me a cheeseburger" doesn't care HOW the cheeseburger is made.

nimble pasture
#

yep - and that is why I labelled every transmitter in the logic section - so others could build their own factories off the logic if they wanted

#

there are even outputs that simply give the final desired base shape for each quadrant (which I simply use for flushing belts on shape change), which can be plugged into a ROS MAM to produce the desired output

crude venture
#

Made the swap, it's working now.

nimble pasture
#

I made a mini version lol

crude venture
#

OK, every time I look too close at the current version as it finishes THE VERY LAST RESEARCH Task, it crashes. 🙂

#

I'm going to move to insane. 🙂

nimble pasture
#

your game crashes?

crude venture
#

Yeah.

nimble pasture
#

oh my XD

crude venture
#

But! I'm happy to test your new version. 🙂

nimble pasture
#

yeah, i can send you the mini version - it has some improved logic, and probably wont lag you as much XD

crude venture
#

I just started Insane, I won't be ready for a MAM for a while.

nimble pasture
#

the new brain is not quite compatible with the old factory, since i implemented a different version of swap order handling

#

here is the mini version - can output 8 belts of stackable (simple) shapes, or 1 belt of swappable (more complex) shapes

#

and I made sure all inputs are labelled this time 🙂

crude venture
#

I'll try it once I unlock a couple of upgrades.

nimble pasture
#

let me see which ones are necessary for basic functionality

#

you need:

  • 3rd floor
  • all logic (except operator shape receivers)
  • swappers and cutters
  • both alternate rotators
  • bent stacker
  • trash
  • 3x3, rectangular, and straight foundations
crude venture
#

Yeah, exactly.

nimble pasture
#

mixers, pin pushers, and crystals can be left out until they are unlocked without preventing it from functioning

#

also, although it wont matter since you moved to insane, all the logic should be compatible with normal/hard now 🙂

#

and I made the input module slightly more intuitive (it at least gives you an indicator of if the logic was able to solve the shape)

crude venture
#

I look forward to trying 2.0

#

Should be tonight.

nimble pasture
crude venture
#

I mean, absolutely!

nimble pasture
crude venture
#

Yup. Your MAM is probably the easiest I've ever seen to iterate on. It's extremely neat.

nimble pasture
#

in fact, I added entire new logic modules a few times while designing it

#

and, with the mini version, I only tap off the "final output" transmitters and just feed that into some ROS MAMs, ignoring most of the internal logic of how it builds those shapes

crude venture
#

Also, I want to say: Your output thingy of "start a train AT THE DROP-OFF, send it to collect stuff, have it return on the bottom and then drop stuff off immediately after coming topside" is counterintuitive but also really pretty.

nimble pasture
#

mostly because for outposts and such it is really inelegant due to needing manual routing, rather than them all funneling to the unload and then backtracking to the outposts

crude venture
#

I think if I was redesigning your inputs I would definitely want to run cycles left-right-right-left back and forth in an S pattern for the trains, rather than wanting 5 separate inputs for each of 5 layers.

#

But I'll build it on Insane and show you what I mean.

crude venture
nimble pasture
crude venture
#

Yup, just figured it seemed like something you might want to know. Testing it now on Insane!

#

LOL ACTUAL bug: Your output goes directly to trash, never actually gets loaded on the train.

#

replacing the final 1x1 platform with a pipe solves it.

nimble pasture
crude venture
#

Very small QOL adjustment: If you move the top wire over the shape inputter JUST A BIT, it's easier to click on .

nimble pasture
timid wagon
#

what are all the inputs

#

and what do i input

nimble pasture
#

if you have the old version: read the chat
if you have the new version: they are labelled

fierce remnant
#

Am i missing something please? The new version posted is a .txt file and not a bp file, how do i add it to my game to use it please?

deep haloBOT
#

Easiest way to share a blueprint :

  • Select the structure you want to share and copy it with ctrl+C
  • If you have the 'Copy Blueprint to Clipboard' setting enabled, the blueprint code should be in your clipboard, otherwise, press the 'Copy to clipboard' button in the blueprint tooltip
  • Paste the blueprint code in the Discord text box
  • If your blueprint is long enough, it will automatically convert to a file, otherwise, click the plus button on the left and click 'Upload your message as a file'
  • Add any additional text info and/or screenshots and send the message
    Note : blueprints can be shared in #1270779062490497044 and https://community-vortex.shapez2.com/
    To get a shared blueprint :
  • If it's in a .txt file :
    • Triple click the blueprint code inside the file and copy the text with ctrl+C
    • Paste the blueprint code ingame with ctrl+V
    • Note : copying a file's content within Discord won't work with too large blueprints, in this case you will have to download the file and open it to copy the text
  • If it's in a .spz2bp file :
    • Open the blueprint library ingame and click the 'open folder' button
    • Download the blueprint file and put it in the folder that opened
      Note : if the file isn't in the format you prefer, right click the message and under 'apps' > 'ShapeBot 2', click 'access-blueprint'
fierce remnant
#

Thanks

rough chasm
#

For hard mode, is it fine to delete the last row of the input blocks and mam?

#

I fixed all the simulated stackers cuz 1.0 changed them but not sure if any other parts that needs to be changed as well

crude venture
# rough chasm For hard mode, is it fine to delete the last row of the input blocks and mam?

The 5th layer maker isn't required for 4-layer difficulties. Earlier versions of this had problems with the signals in Hard/Normal mode - the transmitter/receiver signals were 5 layers, which broke them if you weren't in a 5-layer mode - but I believe he updated the blueprints to fix that.

I suggest: Run it, make sure it works, then delete the 5th-layer assemblies and check again to make sure it still works.

rough chasm
#

i fixed that and the output comparison matches the input, but the mam wont run so im trying to figure out where it got stuck

#

some global receivers are showing yellow so im not sure where it got wrong

crude venture
# rough chasm some global receivers are showing yellow so im not sure where it got wrong

In the earlier versions, Dragonheart used 5-layer shapes for his Global Transmitter/Receiver channels and it broke when it was placed in a less-than-5-layer game.

I suggest: Create an Insane-difficulty sandbox game (create a normal game, enable cheats, run "god"), paste the blueprint in there, see if the Globals are still showing an error? And if they're not, look at the channel markers? If the channel markers are 5-layer, that's the problem.

#

Because it sounds like you fixed the logic, but the problem is that the signals aren't getting from the brain to the body.

rough chasm
rough chasm
#

so good news is that i got it to work, its the same as what you guys talked about above (change the 5 layer signals to 4 layers)

#

changed the 5 layer on the ros/manual input platform to 4 layer, deleted the leftmost sections of each row so there are only 4 sections per row, then just manually change all the remaining signals to 4 if there are still 5 layer signal inputs

#

also added some station spacers for all the red trains to be compatible for 1.0

#

last row of input blocks can be deleted too

nimble pasture
#

the MAM factory itself is quite unoptimized, but the brain is still good - I still use an upgraded version of this brain in my current Corner MAMs, just modified to support double-corner construction

fair sierra
#

@nimble pasture or @crude venture , could you explain your MAM's strategy? I've tried a MAM that is building up each quadrant only to have collapsing issues when swapping the quadrants together. I was thinking of changing to layer by layer building, but I don't see how I could create a multi-color crystal layer.

crude venture
# fair sierra <@289879711214206986> or <@111549163870699520> , could you explain your MAM's st...

For multiple colours of crystal per level, you need to swap together. For shapes with overhangs, you usually want to stack. A true MAM needs to be able to tell which is which and to determine whether to swap or stack (or something even more complicated).

The important first question is: what are you trying to make with your MAM? If all you want are random operator shapes, the infinite changing shapes the game asks for? You want a stacking MAM, because those shapes will never produce an unstackable shape or a shape with multiple colours of crystal on the same level, or gaps under a crystal.

Every Random Operator shape can be make by building layers and stacking, and every Crystal Random Operator shape can be made with a single crystallisation pass after each layer is stacked on. That's a much easier set of things to automate.

fair sierra
#

I started with a ROS MAM, but the collapsing inspired me to try and accomplish the A in MAM. So, I've been thinking about refactoring it. Your guidance on swapping OR stacking is very helpful! Although, I'm wondering what that logic is... How often do you make that decision? Each layer? Do you use one as a default and switch to the other when it won't work?

crude venture
#

You can't do it "each layer" because there's no real way for a layer to understand the need to swap etc. A true MAM brain needs to be able to detect that the shape must be assembled in a certain way, and then direct the machines to assemble it that way. One of the simplest ways to get an almost-true-MAM is to use 4 stacking MAMs with a controller. If the shape can be made by stacking, you just make 4x the final. If the shape must be swapped, you use each of the 4 stacking MAMs to produce 1/4 of the final shape and swap them together. With a little cleverness around gaps under crystals, that will produce about 99% of all possible shapes. But then you're left with the shapes that cannot be stacked or swapped together.

#🎰make-anything-machine is a good place to start, and from there there are TMAM discussion channels, with some of the people who've made them. An actual true TMAM is something only a few people have ever built.