Zachtronics, maker of such classic programming-like puzzle games as SpaceChem and Opus Magnum is back with a game… honestly a lot like both those games.

Released: Steam
Type: Single-player
Genre: Puzzle, Programming
Developer: Zachtronics
Publisher: Zachtronics
Release date: 19 November, 2019


Zachtronics is one of those developers that seems to get a lot more love from actual programmers who then go on to produce smash-hit games based upon his work than actual players of his titles that often wind up being quite niche. (See also, Tarn Adams’s Dwarf Fortress.) It’s honestly a shame, because Zachtronics has either directly or indirectly created whole genres and sub-genres, including his Infiniminer prototype being a clear inspiration for Minecraft, and “Zach-Like” (besides being a free autobiography of his history of programming) is becoming a sub-genre of games expressly based upon his work.

That said, I can open up one of my existing “good enough to pass the level” solutions, and see that to get to the top percentile, I need to shave two cycles from an already-complex solution, and wind up banging my head on the desk after an hour before deciding to go play that darn solitaire minigame, instead. (I swear, I’ll get a deal that makes non-“cheating” possible, sometime!) Somewhat like Getting Over It with Bennet Foddy, Zachtronics games are almost exercises in masochism where you wallow in stress just for the release of accomplishment… Except the release here makes you feel smart for outsmarting nearly the entire world, rather than just managing a really fiddly physics puzzle. Regardless, it’s pretty plainly understandable why Zachtronics games are ludicrously niche, and drive even those “hard game” fans running for the hills.

Gaming History Doesn’t Repeat, But It Does Rhyme

So having compared this game to both SpaceChem and Opus Magnum, I have to say this game is far more similar to a stripped-down version of Opus Magnum in all ways but the mere absurd pretense that what you’re doing has anything to do with real chemistry. (In some ways, pretending that water, air, and salt atoms make sleeping gas makes for something more forgivable than that you have a machine that can perform chemistry using robots whose components must be sub-atomic in scale that somehow can fire hydrogen atoms from its little cannon on one side while activating its tractor beam on the other. It still makes as little sense that individual atoms will perfectly remain still in their little imaginary hex grid while you fire your hydrogen cannons at them, but at least this game doesn’t feature easy no-net-energy fusion like SpaceChem or atom-sized annihilation engines that look like pencil sharpeners and send up smoke for some reason. While it’s getting pedantic, if I’m talking about realism, I would be remiss were I not to mention how infeasible building sub-atomic robots to craft individual molecules by robo-hand would be, even aside from the “sub-atomic” part. To understand the scale we’re talking about, you need several 10^21 or sextillion molecules to fill a single milliliter. About 33.4 sextillion water molecules to add up to 1ml of water, for example.)

I guess it’s possible that, seeing SpaceChem came closest to indie fame and sold better than Opus Magnum (a game about an actual genius who was insufferably arrogant because he knew it, a bit of winking self-reference to both creator and audience, there), Zachtronics felt he might need to scale things back a bit from his opus magnum. The hex-based grid, the input molecule spawning system, and the widgets that use a limited programming language will all seem familiar to Opus Magnum players, but you are limited to 6 widgets maximum, the grid is bounded and finite, and you can only program 16 instructions at a time. In many ways, this makes the game simpler. No longer is the parts-optimal solution invariably a single simple arm that needs over a hundred distinct instructions and takes an hour to program for a single puzzle, while the time-optimal solution invariably require over fifty swing arms flying with a mad clockwork piston urgency. (Although the time-optimal solutions flinging elements around were always the most mesmerizing to watch.) With a limit of 16 instructions, a single widget cannot perform every operation required to create any but the simplest molecules. Since parts-optimal was always what I was most competitive at (since it’s easy to conceptualize the optimal solution, it’s just a matter of programming it), this is at once both slightly disappointing, as I lost what I could most ably compete over, but at the same time energizing, because the new module-optimal goals are more dynamic targets. (Do I aim for using less widgets or using less precursors I would then need to push further to hit optimal?)

And look, the ability to export animated .gifs of your solutions is back. Revel in the looks of revulsion as you show friends and family the sorts of games you enjoy playing! (Suboptimal solution.)

Baby’s First Chemistry Set

So, for those of you who aren’t familiar with previous Zachtronics games yet don’t know what this game is, the basics are that you are given a target molecule to produce. Unlike SpaceChem (to the intense frustration of some players), arrangement does matter, even in the nearly-ubiquitous benzene ring. Which carbons are double-bonded make a difference.

The blank programming canvas.

You are given up to six widgets (the hexagonal robots that sit at the edge of the field) to program, and they can be rearranged on their track on the walls of the field as you see fit. The left-hand numbered columns represent the instructions you can program to each widget (which are hotkeyed to the left-hand keys). The right side of the screen has a target molecule you must produce, and the “precursors” button gives you a list of potential ingredients you can use to create your target molecule recipe.

Also note, there is no ability to rebind keys, but at least Zachtronics aknolwedges that not everyone uses QWERTY, so there are keyboard layout options.

Molecules are primarily manipulated through hydrogen, which unlike SpaceChem does not occupy space, and you can freely blast around to add or subtract charges to the other atoms.

List of main game precursors – you are given a different batch for the bonus missions. You will use so much methanol, propene, and benzene, you may forget the bottom row exists at times.

I’ll go over the first puzzle’s optimal solutions just to give a basic example:

My first solution to the first puzzle, Hydrogen Peroxide.

In action, it looks like this:

Hydrogen Peroxide animated .gif

This, however, is not an optimal solution by any of the three factors the game judges. Any valid solution is enough to continue progressing through the game, but you are shown graphs for the global bests for every puzzle, and functionally challenged to at least match the best. (There are absolute limits to optimization, so you would have to be an early adopter to actually be the first to get an optimal score in nearly any puzzle, as players are relentless in finding these.)

While I often rail against global leaderboards for trying to make players compete over completely unenjoyable nonsense diversions (one game I played actually ranked players for how many times they play through the whole game in consecutive new game+s, which basically means trying to competitively sit through already-watched cutscenes before curb-stomping the enemy), not only do the scores in the leaderboards align with what you are trying to do and enjoy doing in this game, it basically is the only thing to enjoy in playing the game, outside of simply being able to pass the puzzles at all.

The global leaderboards for the first puzzle. (I didn’t think to screenshot it the first time, so I’m already listed as having top-percentile scores for the other metrics on the right, but you can see the arrows on the graph say different numbers.)

In the above image, you can see that this solution is tied with the first percentile for least symbols (instructions for the widgets), but it takes up twice as many cycles (takes twice as much time) as the time-optimal solution, while it uses three widgets and has two precursors, for a total of five “modules” (which are parts of any kind). The module-optimal solution would be to use just a single widget and a single precursor, like so:

Module-optimal hydrogen peroxide solution.

Then, we can make a time-optimal solution by actually creating two molecules at the same time. We need to produce 120 of a molecule in this game, so when the optimal solution isn’t divisible by 120 (or just a cycle or two shy of it if some cycles are spent resetting widget positions), we know that there is more than one molecule being made at a time.

Time-optimal double-hydrogen peroxide solution.

You can save multiple solutions to each puzzle, and best scores for each individual category can come from different solutions to the same puzzle. Given the nature of the requirements to be optimal in each category, they nearly always must be three different solutions that focus upon optimizing a specific metric at a time, effectively giving you three puzzles for the price of one.

More Complex From There

I specifically showed the most basic puzzle, the one everyone will easily be able to optimize with a little bit of thinking just to avoid the real “spoilers” of this game – it’s a puzzle game, so discovering the optimal solution for a given puzzle is the real point of the game. Hence, I’ll only show non-optimal solutions in practice from here on.

But I still want to prove I can do it… Woohoo! Beat the first percentile for symbols!

Since the game focuses exclusively on organic compounds, stripping atoms of bonds with hydrogen turns them into negatively-charged ions that will bond with other negatively-charged ions. Adding hydrogen breaks existing bonds to instead bond with the hydrogen, and it is impossible to push more hydrogen onto an atom than it will tolerate. (Carbon, for example, will form up to four bonds, although it can form more than one bond with the same atom. Four hydrogens can bond to a single carbon atom (CH4 – methane), which makes for an easy way to eliminate it.)

A silly suboptimal solution for Mescaline. Note that precursors spawn as fast as their home tiles are cleared.

A major stickler is the order of operations and the order in which you are allowed to set up the bonding – you can’t directly control which atom another atom will bond with, there’s an arcane order of operations at play.

I am in despair! Mebicar’s carbon atoms bonding in the wrong order has filled me with despair!

In fact, there’s an arcane order of operations at play for which of the order in which operations such as pulling or pushing or rotating molecules plays out with relation to adding or subtracting hydrogen, as well. You will cry tears of blood in frustration that if only you could push first and add hydrogen to the target later. (The homing hydrogens will arc mid-flight to land on the wrong target as it moves past!)

Of course, you can look for optimal solutions online (at least, the ones that people will post), which can technically get you to the top of the scoreboards, but then you’ve defeated the purpose of the whole game. That said, I do still recommend watching at least a few videos after you’ve completed a molecule at least in the top ten percentile for something. Often times, there’s some sort of technique you’ve never even considered. (I didn’t even consider having two output target commands to allow widgets to move right while creating odd-numbered molecules then moving back to the left on the even-numbered ones until I broke down and looked at a video for one right as I was about to write this review.) Your ideas and techniques are the biggest tool in your toolbox, so there’s a fine line to tread between equipping yourself with new techniques by learning from how someone else plays, and letting someone else’s YouTube channel play the whole game for you.

Not optimal, but beats the tenth percentile, Sertaline.

“Cheater’s” Solitaire

Each of these Zachtronics puzzle games has a “cool-down game”. The idea is probably that when you try something that turns out not to work, and you have no idea how to fix it and you get really frustrated, you can hit escape, and go play the cool-down game to relax for a bit. It may not strictly be necessary if you just have your phone at your desk, and you could play your zen-mode puzzle game of choice, but I guess it’s a smart developer strategy to keep players at least in your program, rather than running to another one they might not return from when they need to cool down. That’s how people stop playing Zachtronics games before they finish.

The “Cheater’s Solitaire” game in progress.

In this game, the chool-down game is “Solitaire”. I put quotes around it because it’s not the kind of Solitaire you’re probably familiar with, and I tend to call it “Cheater’s Solitaire”, because the game has a built-in method to allow you to “cheat”. The thing is, however, that the rules for how you can “cheat” are rather strictly limited, as well, so it takes a degree of strategy to win even when you are “cheating”. The kicker, however, is that unlike Opus Magnum’s Solomon’s Garden, it’s entirely possible there is no valid non-cheating solution, and for some deals, there may even be no solution when you “cheat”!

Zero valid moves off of the deal – screw you, too, game!

This is why I put “cheating” in quotes – the developer absolutely expects you to “cheat” as the only real way to play the game. It’s kind of a cruel joke that it’s even called “cheating”, made to make you use it as little as possible and feel dirty about it, instead of endlessly redealing until you get lucky.

Redealing until you get lucky, by the way, is the only way to stand a prayer of completing a game without “cheating”, by the way. As you play more, you start to acclimate to the game’s logic, and it becomes more and more apparent what kind of deals force you into impossible situations (as a hint, sixes are useless deadweight that cannot move other cards, while the Ace-like “T” cards can only move to empty columns, so both are best dealt out early and on the bottom of a pile in a column), and trying to get that elusive “Moralist” achievement is basically a game of knowing what to savescum the dealing to achieve. (To give you an idea of how unlikely the developer saw it as being to get a no-“cheating” win, the developer made the achievement for 100 wins of any kind have the King card icon, while the higher-ranked Ace-like “T” card was for winning a single no-“cheating” game.)

Once you get into the zone and forget about the Moralist achievement, the game is a relaxing zen-like trance just to get to that 100 games for the Charlatan cheevo, but that nagging need to figure out the way to get that blasted Moralist achievement is, again, kind of a sick joke that undermines the whole purpose of a relaxation game to cool down between sessions of frustration when you can’t manage a certain puzzle.

Plot, Graphics, Music, Sound

They’re as bare-bones as can be. This is going for a very deliberate minimalist/retro aesthetic. The “music” is mostly ambient noise, although when you boot the game up, it sounds like an old 80s-era computer complete with DOS-like booting screen every time you load the game. The widgets firing their hydrogen cannons are mostly bloops and blorps like an archaic 8-bit sound card would make.

At the same time, the game is set in 2090s Romania. I won’t “spoil” the plot (inasmuch as anyone cares about the plot of a game that puts mechanics over all else as much as this one), but the only reason to care is to unravel the mystery of why someone is using a computer that would be out of date 100 years before the plot takes place while at the same time having at least hypothetically super-advanced hardware hooked up to it. (Or maybe it’s not, and we’re supposed to believe this atom-shooting tech is a stand-in for regular chemistry equipment – this is the problem with this kind of abstract soft science.)

The plot, naturally, is all text, overly bleak, and features an antisocial, chain-smoking unreliable narrator.

It’s kind of hard to love, especially in comparison to the colorful steampunk beauty of Opus Magnum, but the purpose of the bleakness is clear with relation to the plot… although given that the plot may just be an excuse to justify the old 80’s mainframe aesthetic, I get the sense this is just the developer waxing nostalgic for whatever brand of computer he first learned to program upon. To those who grew up in the generation that had an Apple II-e to learn on or later, this is just going for a brand of retro-ness that most players won’t be able to appreciate. (But then, going for something only a niche audience would appreciate is largely on-brand at this point…)


Well, this is pretty much a “classic” Zachtronics game at this point. If you loved Opus Magnum, or maybe even if you liked SpaceChum but thought Opus Magnum was a little too unforgiving, it’s nearly inconceivable you won’t love this. If seeing all those monocrhome images of molecules flying around while being told you have to use a rudimentary programming language fills you with dread, you’re in the vast majority of the gaming public that this game is adamantly not for.

A poorly-optimized but pretty modafinil solution.

(Now if you’ll excuse me, I did a lot of sub-optimal solutions just to fill the menu for the screenshots, and now I have to go back and figure out how to optimize them all… after I figure out how to make Mebicar bond in the proper order…)

Leave a comment

Recent Posts

Archived Reviews