I often use the eviscerator to destroy excess blocks, assuming I’ve got an overflow problem. Sometimes just putting up a simple dead-end works as well. It depends on whether the chain of dead-ends forces the input to stop, or if it just pushes the overflow back up the assembly line.

My solution to the block sculptor’s lack of internal conveyor belts was to weld together 3 blocks before sending them through. That way, the 3rd block is out of the machine when the 1st block enters, which means a conveyor belt at the exit can grab the entire assembly and move it out.

I generally prefer to focus on getting solutions and moving forward before going back and optimizing (almost always for speed). Re-visiting a puzzle later means it doesn’t feel stale when I’m going for speed instead of just a workable answer.

I found getting speed out of Small Excavator rough, period. The segments that go through the sculptor for the undercarriage ended up back-tracking, because I couldn’t fit a solution in the short space between the input and the sculptor. It feels inefficient.

One of the related videos Youtube put up was this one where a guy deals with the overflow problem of only allowing exactly enough blocks to complete the product to enter the assembly line at one time, using one sensor connected to a large set of pistons. It seems like a widely applicable method and you never have to deal with one part of your product being oversupplied, but it’s very numbers-intensive.

Also, I seem to have encountered a weird bug in Cargo Uplifter. I’ve connected a piston directly to a sensor, and it’s responsible for pushing part of the product out of the welding area. But when it triggers, the product isn’t carried away by the conveyor belt, and instead it gets stuck to the piston while it oscillates back and forth. If I attach a conduit to its side, connecting it with nothing but a block on the output teleporter, this doesn’t happen. Very strange.

I completed the rest of Production Zone 2 pretty satisfactorily, I was very happy with completing Drone Maintenance using an AND gate and a NOT gate and only needing to keep the drone on the assembly line for three extra cycles before letting it move on. It can’t handle max speed though, the logic circuit is too slow for that. Oversight Terminal and Studio Apartment didn’t need any fancy tricks, they pretty much solved themselves once I moved the components into place. Guided Javelin Type 2… now there I foresee some problems.

Hey, I found Studio Apartment very difficult when I first did it, so you should congratulate yourself on finding it easy. Eventually I revisited it and optimized it, but my first encounter with it drove me crazy due to the number of awkward welding issues. I think it’s a pretty good puzzle, really.

You’re correct, one solution to the overflow problem is to calculate precisely how many blocks you need of each completed product, create a buffer platform, and push all the blocks off the platform simultaneously when the buffer fills. As long as you set up the buffer in a straight line in front of the input area, overflow’s not a problem, since a buffer filling just blocks further input. Buffer platforms are generally good practice for optimization in any case.

The only thing I can think of in connection with your Uplifter problem is that conveyor belts cannot move floating items. From your description, that may not be what you’re seeing.

Nope, I did some testing and it turns out that if a pusher is diagonally adjacent to two welders which are adjacent to the output teleporter blocks, components will actually become welded to a pusher arm. It’s an incredibly specific set of circumstances and if any of those criteria aren’t met, it works properly. Oh, and there also need to be two empty spaces between the diagonals of the pusher and the welder, if not, it works properly, so I just stuck a conduit in there and it was fixed. Actually diagnosing the issue made me realise I was using too many welders anyway, and further optimisation let me trim the number of blocks to 44.

In fact, I quickly realised the value in this one simple trick: half-assing welds! Who cares if the product you’ve assembled is only held together by the bare minimum of weldpoints? The overlords don’t, and I sure won’t shed tears for whoever has to use these cargo lifters or fly these shuttles and find that it only takes a single fault for the entire engine block to fall off. And whoever is going to be imprisoned in these cells I’m building, I’m thinking they’ll find it much easier to pry the bed or the sink off the floor with just one weldpoint, hopefully aiding in their escape.

The reason I found Studio Apartment easy is that if you place the floorspace one block from the output teleporter, and carry the other components to where they need to go, the timing works out exactly so that the bed and screen drop into place at the same time, two cycles after the sink. Plus, the screen and the frame come out in such a way that they can be immediately nestled together, and then the two pass by a welder on the way to the floorspace. Both the corners of the bed and sink can be welded easily to the floor without getting in the way of any moving parts, which isn’t the case for the screen-frame assembly, but I solved that by pushing them both past a welder on the way to the output teleporter. Total requirements: Four welder pairs, three pusher-sensor pairs, and a bunch of conveyor belts. I wouldn’t be surprised if it was designed to work out this way.

Now, what I would really like to know is: How do you do Shuttle Maintenance without setting up blockers every four blocks to keep those things separated? Once two shuttles are pushed up against each other there’s no way of pushing them apart, at least not without pushing them off the pregenerated assembly line. And since the engine blocks stick out on the back, whenever that happens two shuttles get welded together and you’re totally screwed. Do I just have to separate each and every one of them, or speed up mounting the engines so they’re completed before the next one arrives?

I was able to mount the engines before the next shuttle arrives. There’s probably another, more creative way to do it, but fast mounting works. And from the in-game scores, it seems like you were able to solve it:) (I just re-ran it at +1 and was able to beat Gus’s score.)

If you really feel the need to optimize before moving on, Alms currently has the fastest solution. It probably involves welding the engines on as the shuttles go by, no stopping. There’s 1 space between shuttles at max input, so I’m guessing it can be done.

My solution - which is 6 cycles slower than Matt’s - involves pushing the waiting shuttle off the assembly line while the current shuttle gets serviced. When that’s done, it moves back on. This is a single push-pull blocker mechanism, activated by the presence of a shuttle in the engine-welding area.

I was able to mount the engines before the next shuttle arrives. There’s probably another, more creative way to do it, but fast mounting works. And from the in-game scores, it seems like you were able to solve it:) (I just re-ran it at +1 and was able to beat Gus’s score.)

I did solve it a while ago, but compared to all of my other solutions on that level, it’s incredibly inelegant and inefficient. I just set up checkpoints that toggled a pusher if a sensor detected that there was a shuttle ahead of it, and even that didn’t work completely, because sometimes the next shuttle would already be in front of the pusher when the previous one arrived at the sensor, leading to it being pushed to the side of the conveyor belts. So I had to install additional pushers and sensors to push them back whenever they’d go out of alignment. It was a mess.

Yesterday I tried to redo it, experimenting with conveyor belts attached to pushers, which were really useful because you can activate a pusher without worrying about whether it’s going to activate too early. But eventually I ran into the same problem, that I couldn’t mount engines fast enough without shuttles building up on the back.

I did complete Guided Javelin Type 2 though, that was interesting. It’s useful that conduits don’t block the force from lifters. I also employed a neat trick where I put an unattached conveyor belt in as a part of the engine block carrier, so that once it dropped into place, I could push that loose part momentarily out of place with the completed javelin to allow it to exit the assembly. It made an otherwise impossible solution possible, because there was no way for the javelin to exit otherwise, save for maybe using another lifter on a pusher to move it up even higher once it was completed.

Spacechem’s tutorial was just a basic walkthrough, you had to do exactly what the game told you. Infinifactory’s Proving Grounds are true to their name, the tutorial came before them. Don’t worry, some of them had me scratching my head as well and my solutions aren’t the best, but with a bit of persistence you can do it.

Sure hope so. (Actually, i peeked at a solution for exercise 5, and I’m now certain i can).

For now, I’m restricting myself to TIS-100. It’s a slightly better fit to my current brain layout Of course, none of y’all seem to be playing it yet. Not sure whether that’s a good thing.

It’s not possible to do Shuttle Repair using just-in-time engine mounting on Max input. The shuttles come in every 6 cycles, so you get exactly 6 engine pieces during that time. If you could be 100% efficient, no input delays, in getting the engine pieces off the initial input line, you could do it. Because any perpendicular move - horizontal or vertical - involves a 1 or 2 cycle hold up in the input line, inevitably the shuttles will outpace the engine assembly.

I tried for an unstable solution, using an oversized input buffer of 12 engine pieces, assembling 4 per run. I used falling instead of pushing, which entails a 1 cycle delay instead of 2. I ended up running out of engine pieces after 8 shuttles.

So traffic control is required for Max input. I had a brainstorm and realized I could use leave the damaged engines on the shuttle until the last moment, and use them to control flow.

Note that the eviscerator controller uses a Helio-style AND gate - the presence of an assembled engine in the ready area pushes the sensor forward, where it can activate the eviscerators if a shuttle is fully in place.

There’s another sensor on a pusher. The sequence is shuttle arrives -> sensor 1 detects shuttle and pushes engines into place -> simultaneously sensor 2 detects the shuttle and begins retracting sensor 1 -> sensor 1 is now disabled, the engine pushers retract, and allow the next engine to fall into place.

Without this mechanism, the pushers for the engines stay in place as long as the shuttle is moving past, delaying the entry of the next engine piece. It converts a rising-edge event (off->on) to a single pulse.

Impressive! That double-speed engine assembler is beautiful. I didn’t know pulling the blocks out from under the components was faster. I think you can use two eviscerators per engine though. The third engine part moves into the second eviscerator on its own accord.

Using the damaged engines is so obvious in hindsight. I just stuck four eviscerators at the input and forgot about them. There’s that convenient two-block gap where you could activate a pusher to prevent the next shuttle from moving in even if there’s no distance between the shuttle bodies. Your solution doesn’t use that though, what exactly is preventing the shuttles from moving through too quickly?

Just now I unlocked Meat Product 57. What the fuck. Also, how the fuck.

Pushers and blockers take 1 cycle to extend, and 1 cycle to retract. The 1 cycle to retract only matters if the pusher is blocking additional parts as long as it’s extended. When you drop items instead, it takes 1 cycle for the items to drop, and then they’re out of the way. The big drop/push assembly still takes 2 cycles to retract / extend, but the second cycle doesn’t block movement.

There are blocks which prevent the shuttles from moving forward as long as the damaged engines are intact. The assembly line only moves the eviscerators in if there’s a set of engines ready. If there’s a delay and the engines aren’t ready, the eviscerators stay retracted, and the shuttle waits. After the eviscerators destroy the damaged engines, they immediately retract, and don’t touch the next shuttle in line even if there’s no gap between them.

About meat product 57: the key thing is that you have to push the moles over when they pop out of the holes. If you don’t, they go back in their holes. Once you know that, it’s very straightforward.

Damn it, how did I forget about that? I just used the same method for Gneiss Chair. Although I wasn’t happy with it so I redid it, this time using conveyor belt toggles, which I’ve grown quite fond of. It took double the time but it did save a few blocks.

Well, here’s my chance to earn the subversive engineering achievement by herding these critters. I’ve had my F key weighed down for the last 15 minutes.

Edit: 10010 cycles! Thank you RNGsus.

I also e-mailed Zach about that bug I mentioned earlier and he says that if a pusher is not connected to the ground, when its arm passes into a welding beam it can become welded to another block. Only, this is true whether it’s the pusher or the welder that’s floating, and a welder attached to the outputter is considered to be floating by the game, which doesn’t seem right. I guess I know how to avoid that now.

So I took a look at Shuttle Propulsion Unit and stopped playing. It seems a good fit to those eviscerators mentioned upstream, but of course I don’t have access to those yet. Guess I’ll actually have to think.