Separating Litharge at Top Speed

Separating Litharge at Top Speed

It’s been 4 days since Artem uploaded the Universal Solvent 38 cycle solution. Surely that was the exciting cycle record of the year, right? The first main campaign cycle record in 4 years. Well..

Villfuk got 23 cycles on Litharge Separation. This is, once again, a big deal. I will tell another story!

Lead Separation

Back in 2017, when the game was in early access, the first puzzle of chapter 4 was called Lead Separation.

Unlike most puzzles in the game that have you build a large molecule out of smaller atomic components, Lead Separation is a disassembly puzzle. The input is a chunk of litharge (a molecule made of lead and salt), and the outputs are single atoms of lead and salt.

After about a week, Starficz uploaded a 15 cycle solution to reddit, claiming the cycle record. Let’s look at it.

A few things are apparent. First, there are a lot of moving parts. This is typical in a cycles solution, yes, but it ramps up much more for disassembly puzzles. This comes from the difference between input and output tiles. An input tile can produce an input every 2 cycles. An output tile can receive an output every single cycle. Starficz’s solution quickly reaches the steady state doing just that. Higher speed forces more complex machinery and makes it harder to avoid crashing parts into each other. It’s a careful choreography challenge for a high skill puzzle.

I myself was too intimidated when I reached it the first time. I made a 30-ish cycle solution and moved on.

Grimmy’s approach

In addition to Starficz, another player who was not intimidated by Lead Separation was Grimmy. Unlike Starficz though, they didn’t try to make a solution that output every cycle indefinitely. The puzzle only needed you to make 6 of each output. Might as well get those 6 out and then reset. Here’s Grimmy’s 14 cycle solution from a couple weeks after Starficz’s 15:

Grimmy’s build resets by eventually putting all of its extra atoms in the holes where they belong, but doing this takes many extra cycles of downtime. This doesn’t impact the score, and at 14 cycles it became the record. They improved it a week later to 13:

Grimmy’s solutions only pull out 3 inputs to solve the puzzle, which is the minimum since 2 lead outputs * 6 atoms each = 12 lead atoms, and the inputs provide 4 lead.

Solutions like these were perhaps part of the decision made by Zachtronics to change the puzzle spec for full release. Which is how we ended up with Litharge Separation.

Litharge Separation

The difference is subtle but impactful. Instead of having two lead outputs, there is now a single lead output. And instead of requiring 6 atoms into each, it now requires 18. The “PRODUCTS” counter in the tray reads 0/36, indicating that the puzzle isn’t complete until you’ve output 18 salt and 18 lead.

You’ll have to pull a few more inputs out this time.

The theory for litharge separation is surprisingly simple. The earliest cycle you could possibly output a lead atom is 6. This would be done by grabbing one of the lead in the input, moving it 3 times to break its 3 bonds, and then outputting it. Grab on 1, move on 2, 3, 4, place onto output on 5, drop on 6. From that point onward, you can theoretically output lead every single cycle, leading to your 18th output on cycle 23.

Salt must also cooperate, and by grabbing lead you aren’t grabbing salt. However, the salt each have 2 bonds, so you trade one cycle of debonding for one cycle of regrabbing, and the salt too is output on cycles 6 and on.

24

The first solid solution to Litharge Separation came two days after the update. Made by Grimmy, they showed they can build a looping design too.

Compared to the 14 cycle solution they had to the Lead Separation puzzle, there are some clear similarities. The first set of bonds broken on the input cleanly separate a 3-atom and 4-atom section. The 4-atom section translates onto a diamond of two more debonders, held by a mess of arms so that each part can move immediately after bonds break. The next input arrives after 3 cycles.

At this speed, each input provides enough salt for an output every cycle, but there is one lead too many. 4 atoms of lead per input, with only 3 able to be output. We have to make waste. The only alternative is to slow down, which is unacceptable.

They shared a breakdown of the design process on reddit. They seemed pretty confident that 23 was doable as well.

Yes the universal solvent claim aged like milk, but the other 3 identified cycles were all still open questions as recently as yesterday.

New Ideas

There are so many different ways to build a 24 cycle solution. With the 23 cycle solution still undiscovered, players who were looking for it kept finding different 24s along the way. When I finally joined the fray on this puzzle in March 2018 I took a very different approach, which did have all its lead out by 23, but was unable to output salt quickly enough.

This makes way more waste, since it takes inputs every 2 cycles instead of every 3.

The first salt output comes from the 2nd input. That input is grabbed by the salt for the earliest possible output timing, but is still a cycle too late for 23. In order to ever make a 23, one would need to output salt from the first input, first. Something to keep in mind for later.

Two other people had 24 cycle solutions in 2018. One was Jinyou, with their debut post (who it turns out just copied Grimmy’s solution, found a couple secondary improvements, and did not try to claim credit for it). The other was Lytebringr (who it turns out just copied Grimmy’s solution, worsened the secondaries, and then did try to claim credit for it). It took a little bit for other players to catch up and find other fresh designs.

By 2020 a player known as Vegiemist had made an independent 24 with much lower tiebreakers:

When the community found Mikura’s solutions, we got to see his 24 as well:

Near Miss

In 2021, I found a layout where if the atoms were slightly smaller, it would be a 23. This layout did process an input every 3 cycles, but it began with two different large swings on the first litharge. Ordinarily, this is incompatible with 3 cycle track loop, but because the input can be grabbed every 2, then all later inputs were handed off on the first set of bonders.

It’s hard to show this design, because it crashes with ordinary gameplay rules. But, we found some funny exploits that allow it to be showed:

In the above gif, one set of arms has been rotated several hundred thousand times using solution editing, so that the float calculation of the grabber position is off by a pixel. That avoids the collision. I modified my discord user to be a “new player” called “WordNerd” and tried to pass the gif off as legitimate as a joke once.

More recently, SpiritualShampoo found out that the entire solution could be translated several hundred thousand tiles into the “Far lands”, where there are pixel-wide gaps between certain tiles. This also avoids the collision.

However, this was reality:

Grimmy determined that this collision only needed to be avoided one time, and subsequent loops had an alternative (legal) way to not crash. But that was still not 23.

Villfuk

With the 2024 wave of cycles improvements, a few players toyed with Litharge 23 again. One such player was Villfuk, who had joined the community at around week 3 of the 2024 tournament. Their tournament performance was pretty typical of a dedicated newcomer, submitting to everything but struggling to land in the top 10. They even started calling themselves a “skill issue main”.

But, they made great strides, and on September 24th they created a fresh Litharge 24:

We have seen an input grabbed every 2 cycles in my 24. We saw every 3 cycles in the 24s of Grimmy, Vegiemist, and Mikura. Now Villfuk is grabbing every 4 cycles. Ish.

It has to harvest extra litharge molecules for that one extra salt. This is a tactic that has been done before in 25 cycle solutions such as this:

But it’s novel that Villfuk is able to do this while outputting lead at the speed needed for a 23.

The way that Villfuk tears apart the litharge is to rotate the input twice, then move two times on track using the arm that is holding lead to convey it to the output. That is exactly what my older 24 did (which had lead fast enough for 23), but with a different combination of debonders and track placements. It’s even what the cheaty 23 did, for the first input at least. It really seems like that is the best way to do enough to the input quickly enough.

Villfuk went further than anyone before though. Villfuk determined that there are 252 different ways to do that, and started listing them.

Approach #112

They were able to find a layout where salt output was way further right (in the orientation they were building). This meant that an arm could pass the salt from the second input into the output glyph quickly enough to actually saturate it. 23 was real.

But what the heck is that long track with arms sticking straight out on it? Well, the track “loop” that handled the initial grab, rotate, rotate, track move, track move, drop.. didn’t really have a path back to its starting point. At least not one that was internal to the machine. So, it became a track “river” instead. We’ve come full circle to solutions that don’t really loop. But this is the first ever litharge separation 23.

In the hours since, Grimmy and others have found a few improvements based on the same design. Here’s where the record stands at the moment:

2024 is a remarkable year

Between the surge of reddit-inspired interest in the game, the stellar 2024 tournament I still haven’t actually written a summary post about (sorry!), and now the huge list of cycles records falling, I think that 2024 is the craziest year in Opus Magnum history. We’ve really stepped up the standard and I’m thrilled at all the results. Machines I can watch that hit me with that dopamine. Strategies and persistence, and players who can see them through. Litharge 23 is another in a line of feats of the community, and Villfuk made their way onto a very exclusive list of people to take down an official cycle record after 2021.

Well done.