Manufactorium--a logic game. (Kind of a turing machine programming game)

Well, I finally did Metatron. 99 parts. Now I have to go back and redo Ophanim, I suppose.

Heh - I just tested my incomplete metatron just to get the part count so far (112). It passed the test! For some reason the test set didn’t try anything that would require adding two ones and a carried one, which is the section I haven’t been able to squeeze in.

Yeah, the tests have really spotty coverage. I managed to pass Ophanim with a broken 41 parter and Metatron with a broken 75 parter, and now it keeps chiding me for no longer meeting those minimums (both ended up reaching 99 parts when fully fixed).

(Incidentally,

This worked like a charm, modulo some tedious layout re-arranging. The piece counts even ended up exactly the same, as you can see. Ophanim joins Generals as the solutions I’m proudest of, even though I did end up having to do Ophanim out of order, and even though there is probably a much more efficient way to do it.)

I went most of the game without noticing “shift-click to bridge” too. I spent most of my time being frustrated by topological constraints and even wishing I could cross paths.

But then when I found out about it, I felt like I ought to keep going the way I was, so I’ve kept all my designs 2D. Metatron is the only one I have left (though I “cheated” on Orphanim in the same way as Indistinguishable’s first solution), and I’m not sure if I can manage it, but I’ll give Metatron a try in 2D.

Rocketplanes was the hardest for me logically, since I failed to identify it as a sorting problem. My first run at Police was the hardest to fit, but I was forced to optimize it for Judiciary, and reduced it so it’s more reasonable (56 parts).

I’ve got my Metatron solution finished, with a total of 93 parts. I think it’s fully robust, as long as the input doesn’t have extra greens or yellows.


?lvl=31&code=c6:12f1;c6:11f1;c6:10f1;c6:9f1;c6:7f1;c6:6f1;c6:5f1;c6:4f1;c6:3f2;g12:2f2;c8:3f2;b8:4f1;r8:5f1;g8:6f2;q8:7f2;p8:8f4;q8:9f6;g8:10f2;r8:11f3;c8:12f0;c9:3f2;p9:5f1;c9:6f1;r9:7f3;c9:8f0;b9:9f1;b9:10f3;p9:11f7;c9:12f0;c10:3f2;r10:4f1;b10:5f1;c10:6f0;g10:8f0;b10:11f3;c10:12f0;c11:3f2;c11:6f0;b11:7f2;q11:8f1;c11:12f0;c12:3f2;r12:4f2;y12:5f3;i12:6f1;c12:7f3;p12:8f3;c12:12f0;p13:4f7;q13:5f5;c13:6f0;r13:7f0;q13:8f5;i13:12f6;y14:3f0;b14:4f0;g14:5f0;c14:6f0;g14:8f2;r14:11f3;c14:12f0;c15:6f0;b15:7f3;c15:8f2;r15:9f1;r15:10f3;p15:11f7;c15:12f0;g16:6f0;q16:7f4;p16:8f6;q16:9f0;g16:10f0;b16:11f3;c16:12f0;r14:2f3;c6:8f1;c7:12f0;c7:3f2;c7:8f1;c7:7f2;c17:8f3;c17:9f0;c13:2f2;q12:9f3;c14:9f1;c13:13f0;q13:9f6;q13:11f4;p13:10f7;b14:10f0;r12:10f2;c13:3f3;

My Ophanim and Metatron solutions, 99 pieces each, setting no records:


?lvl=30&code=q8:4f6;q8:6f2;c9:5f0;r10:2f3;p10:3f2;b10:4f1;g10:5f0;q11:3f3;b11:4f2;q11:5f1;g12:3f3;c12:4f3;p12:5f3;q13:3f7;r13:4f0;q13:5f5;r14:2f3;p14:3f4;b14:4f1;g14:5f2;b15:2f3;c15:3f0;c15:5f2;y16:2f0;i16:3f0;q16:4f0;q16:6f4;y16:7f2;c17:3f0;r17:7f2;c18:3f0;c18:4f1;c18:5f1;c18:6f1;c18:7f1;y12:2f3;y8:7f2;y9:7f3;q8:9f0;g8:10f3;p8:11f7;r7:11f2;b9:11f0;q8:12f5;g9:12f2;q17:8f1;y18:8f1;i11:9f2;c10:9f0;c10:12f1;c10:11f2;y8:3f2;b9:3f2;p8:5f0;p16:5f2;c7:5f3;c7:6f2;c17:5f1;c17:4f0;c16:11f1;c16:10f1;c14:13f0;c13:13f0;c11:11f1;c11:10f1;y12:12f1;y13:9f1;q13:10f6;q13:12f5;c14:9f3;c14:10f3;c14:11f3;p14:12f7;q15:12f1;c16:12f1;c11:8f2;c12:8f2;i13:8f3;c14:8f3;c13:7f0;c12:7f0;c11:7f0;c10:7f3;c10:8f3;b9:8f3;p9:9f0;r9:10f1;b12:11f1;r12:9f3;p12:10f2;r16:9f2;b18:9f0;p17:9f1;b9:4f3;r9:6f1;r15:4f3;b15:6f1;r13:11f2;b15:11f0;


?lvl=31&code=c7:4f2;c7:5f1;q8:4f6;p8:5f4;q8:6f2;r9:4f3;c9:5f0;b9:6f1;r10:2f3;p10:3f2;b10:4f1;g10:5f0;q11:3f3;b11:4f2;q11:5f1;b11:6f2;b11:8f2;g12:3f3;c12:4f3;p12:5f3;p12:6f3;q12:7f2;p12:8f3;q12:9f6;q13:3f7;r13:4f0;q13:5f5;r13:6f0;r13:8f0;r14:2f3;p14:3f4;b14:4f1;g14:5f2;b15:2f3;c15:3f0;b15:4f3;c15:5f2;r15:6f1;y16:2f0;i16:3f0;q16:4f0;p16:5f6;q16:6f4;y16:7f2;c17:3f0;c17:5f3;c17:6f0;r17:7f2;c18:3f0;c18:4f1;c18:5f1;c18:6f1;c18:7f1;y12:2f3;y8:7f2;y9:7f3;i12:11f5;i12:12f1;r9:8f3;b9:10f1;p9:9f4;q8:9f0;g8:10f3;p8:11f7;r7:11f2;b9:11f0;q8:12f5;g9:12f2;b15:12f1;c15:11f2;p16:11f2;r15:10f3;b16:9f2;p17:9f5;r18:9f0;q17:8f1;y18:8f1;y16:13f0;r15:13f0;p14:13f5;b13:13f2;q14:12f5;c11:12f1;i11:11f4;c11:10f1;c11:9f0;c10:9f0;y13:12f0;c10:12f1;c10:11f2;c13:11f2;c14:11f2;c12:10f3;c17:11f1;c17:10f0;q16:12f4;q16:10f0;y8:3f2;b9:3f2;

Make that 88:


?lvl=31&code=c6:12f1;c6:11f1;c6:10f1;c6:9f1;c6:7f1;c6:6f1;c6:5f1;c6:4f1;c6:3f2;c8:3f2;b8:4f1;r8:5f1;g8:6f2;q8:7f2;p8:8f4;q8:9f6;g8:10f2;c9:3f2;p9:5f1;c9:6f1;r9:7f3;c9:8f0;b9:9f1;b9:10f3;c10:3f2;r10:4f1;b10:5f1;c10:6f0;g10:8f0;c11:3f2;c11:6f0;b11:7f2;q11:8f1;c12:3f2;r12:4f2;y12:5f3;i12:6f1;c12:7f3;p12:8f3;p13:4f7;q13:5f5;c13:6f0;r13:7f0;q13:8f5;b14:4f0;g14:5f0;c14:6f0;g14:8f2;c15:6f0;b15:7f3;c15:8f2;r15:9f1;g16:6f0;q16:7f4;p16:8f6;q16:9f0;c6:8f1;c7:3f2;c7:8f1;c7:7f2;c17:8f3;c17:9f0;q12:9f3;c14:9f1;c13:13f0;q13:9f6;p13:10f7;b14:10f0;r12:10f2;c13:3f3;r7:10f0;p7:11f4;b7:12f0;c8:11f0;c9:11f0;c10:11f0;c11:11f0;c12:11f0;i13:11f6;c14:11f0;c15:11f0;q13:12f4;g16:10f3;r16:11f0;g12:2f2;r13:2f2;y14:2f3;c14:3f0;

Here’s my entirely flat Metatron solution, 110 pieces. I think it’s rather nice-looking as it’s almost symmetrical.


?lvl=31&code=c14:8f2;b14:11f3;r14:12f2;c15:3f0;r15:4f1;r15:5f1;r15:7f3;c15:8f2;b15:9f1;c15:10f3;p15:11f3;c15:12f2;c16:3f0;p16:5f1;y16:6f1;q16:7f0;p16:8f2;q16:9f4;y16:10f0;r16:11f2;c16:12f2;c17:3f0;b17:4f1;r17:5f1;b17:11f2;c17:12f2;c18:3f0;c18:4f1;c18:5f1;c18:6f1;c18:7f1;c18:8f1;c18:9f1;c18:10f1;c18:11f1;c18:12f1;y12:4f3;c12:5f3;p12:6f3;r12:3f3;y12:2f3;c17:8f1;c17:7f0;c13:4f0;r13:5f0;q13:6f5;b14:2f3;p14:3f0;r14:4f1;g14:6f3;c11:4f2;q11:6f1;b10:2f3;p10:3f6;r10:4f1;g10:6f3;c10:8f0;c9:3f2;r9:5f1;r9:7f3;c9:8f0;b9:9f1;c9:10f3;p9:11f7;c9:12f0;c8:3f2;p8:5f5;y8:6f1;q8:7f6;p8:8f4;q8:9f2;y8:10f2;c8:12f0;c7:3f2;c7:7f2;c7:8f1;c7:12f0;c6:3f2;c6:4f1;c6:5f1;c6:6f1;c6:7f1;c6:8f1;c6:9f1;c6:10f1;c6:11f1;c6:12f1;b11:5f2;b9:4f1;b7:5f1;r7:4f1;b8:11f0;r7:11f0;b10:12f0;q11:3f2;q13:3f4;c10:7f3;c14:7f3;q12:7f3;c11:7f2;b11:11f2;p12:11f3;q12:12f4;r13:11f0;c12:10f3;q13:7f3;g13:8f2;c12:8f3;c12:9f3;b10:11f3;


The general plan of it :

Each number’s lowest bit is read off, keeping track of what it was in both A & B by heading to four different branches, which each determine what the result of summing those values are.

The current result is stored at the end of the string, between yellow marks. The ‘carry bit’ is thus simply the MSB of this value, and conveniently is the first bit read after the yellow. When finished with the addition, the result can be read directly from between the yellows. (This will introduce leading zeros - those could easily be stripped at the end, but I didn’t include it.)

Once the head of the new result is written, the rest of the result is copied, and the numbers are read again. If there are no values between the yellow marks (Y-G-Y pattern), the addition is finished. This is the one bit that breaks the near-symmetry of the design. If the first value has no bits left, it must be interpreted as a zero if the second value still has bits to read. I simply threw in a detector to shunt it to the zero side. I think maybe this could be handled by explicitly putting in a red mark, but I like it well enough the way it is, and it’s likely much faster anyway.

That is very pretty. I’m impressed.

My Metatron is down to 71 parts now, with a time of 1:22. It’s not as symmetrical as it once was, but it’s smaller and faster.


?lvl=31&code=c6:7f2;c6:8f1;c7:6f2;q7:7f2;p7:8f4;q7:9f6;g7:10f2;c8:4f2;c8:5f1;g8:6f1;r8:7f3;c8:8f0;b8:9f1;b8:10f2;b9:3f2;p9:4f6;r9:5f2;c9:6f0;g9:8f0;c9:10f2;r10:3f3;p10:4f2;b10:5f1;c10:6f0;b10:7f2;q10:8f1;c10:10f2;g11:3f3;q11:4f4;y11:5f3;i11:6f1;c11:7f3;p11:8f3;q11:9f3;c11:10f2;r11:11f2;g12:2f3;r12:3f3;i12:4f1;c12:5f0;c12:6f0;r12:7f0;q12:8f5;q12:9f6;i12:10f5;p12:11f7;q12:12f2;c13:4f0;i13:6f2;i13:9f4;b13:11f0;c15:6f0;b15:7f3;c15:8f2;r15:9f1;r15:10f0;c16:6f0;q16:7f4;p16:8f6;q16:9f0;g16:10f0;c17:8f3;c17:9f0;c13:10f1;i13:8f4;c13:7f1;c13:5f1;c14:6f0;g14:8f2;c14:9f1;c14:10f0;

I might be misunderstanding you, but if I’m not, you’ll be happy to know that no input ever has any greens or yellows!

There are three bonus levels (Seraphim, Orphanim and Metatron) that use two numbers,separated by a green, as the input.

Ah… didn’t know that.

You people with all that damn time on your hands…

I’ll get there eventually.

Finally defeated Metatron:


?lvl=31&code=g12:2f3;r12:3f3;g12:4f3;c6:7f1;c6:8f1;c6:9f1;c6:10f1;c6:11f1;c6:12f1;c6:13f1;c7:8f2;c7:9f1;r7:11f0;b7:12f1;c7:13f0;q8:8f2;p8:9f4;q8:10f6;g8:11f3;p8:12f3;c8:13f0;r9:8f3;c9:9f0;b9:10f1;r9:12f3;b9:13f0;c10:8f3;g10:9f0;r11:7f2;q11:8f1;c11:9f0;c11:10f1;b11:11f2;c12:7f3;p12:8f7;q12:9f6;q12:10f0;p12:11f3;q12:12f0;b13:7f0;q13:8f5;r13:11f0;c14:8f3;g14:9f2;c15:9f2;g16:7f1;q16:8f4;q16:10f0;g16:11f3;c17:8f0;c17:9f1;c6:5f1;c6:6f1;c12:5f3;c12:6f3;q11:4f5;p10:4f2;b10:5f1;r10:3f3;c6:4f2;c7:4f2;c8:4f2;c9:4f2;p16:12f3;b15:12f3;c16:13f2;c17:13f2;c18:13f1;c18:12f1;c18:11f1;c18:10f1;c18:9f1;c18:8f1;c18:7f1;c18:6f1;c18:5f1;c18:4f0;c17:4f0;c16:4f0;c15:4f0;q13:4f1;p14:4f4;r14:3f3;b14:5f1;p16:9f6;r15:10f1;b15:8f3;b15:5f1;r17:5f1;r15:13f2;r17:12f1;b17:11f2;p16:5f5;b16:6f1;r7:5f1;p8:5f1;b9:5f1;r8:6f1;g8:7f1;


I had to abandon my original algorithm, which accumulated the sum in number B while consuming number A. Instead, now I accumulate the sum in a third number that I initialize to zero. That meant I no longer had to keep track of whether there was a carry or not, and because I was always adding to the leftmost digit of the sum I didn’t need to search for the digit to add to, which simplified the branching considerably. 99 pieces with no crossovers, and almost symmetrical.

I didn’t want to spoilerize myself by looking at other people’s solutions, so I hadn’t looked at them until now. Now that I have, it looks like Grumman, panamajack, and I are using the same basic algorithm, but I am in awe of Grumman’s packing skills :slight_smile:

I used the “accumulate sum in number B while consuming number A” method, incidentally, so it can be made to work. In fact, I am somewhat the reverse of you: my original mind’s plan was to have a third accumulator initialized to 0, and then I realized, or rather it seemed to me, it was easier to do things using number B as the accumulator itself.

And, yes, Grumman is impressively concise. Does anyone know what the least number of pieces anyone has managed to achieve Metatron with is?

Fifty

Now that is impressive. Unnecessarily opaque (it uses sorters where they could have used conveyor belts, making it harder to follow the circuit logic), but impressive.

That was terrifically fun, Frylock. Thanks for the link. It made my round trip flight LAX-ORD-LAX go by very fast.

I haven’t read most of this thread but in reference to Metatron: I also used the second number as the accumulator while consuming the first number. It was a large machine, though.

How are folks looking at other’s solutions without clobbering their own? I know you can copy/paste codes, but are you just saving your own solution as text and clobbering the level with the outsider code, or is there a “sandbox” level somewhere? (Since I’m now done with all of them, I’d like to peruse the solutions in this thread, but I don’t know if I can be bothered to copy/paste all my own solution out first. Or maybe that’s what registering would do for me?)

When you go to the Save/Load screen where you can copy or paste a code, there’s a toggle at the bottom-right, set to “Yes” by default, I believe. Press that, then paste in the new code, and it will show you the new solution without deleting the original.