coding, chemistry, mechanization, and alchemy
November 7, 2019 9:45 AM   Subscribe

An interview with Zach Barth, Head of Zachtronics [HyperX Gaming] Zach Barth designed and developed Infiniminer, SpaceChem, TIS-100, Shenzen I/O, Opus Magnum, and other video games in a genre that has been termed ("Zachlikes"). His company Zachtronics also developed a line of educational games. Zach answers some questions about how he designs his games, and his opinions about the mindset that goes into developing them.

• MOLEK-SYNTEZ is a new Zachtronics game about making drugs in a cold Romanian apartment [Rock Paper Shotgun] [YouTube][Game Trailer]
“Welcome to your new life as a Romanian drugs synth king. You synthesize known drugs by placing the precursor into the grid and then programming the sequencer to rearrange things to match the output. Bonds are broke and elements pushed and pulled into lovely new chemicals. Like a lot of Zachtronics’ output, the journey is as important as the end-game. Your solutions aren’t just there to fulfil the desires of the Romanian party scene, but your own sense of fun and aesthetics as well. You can craft elaborate strings of instructions and gif them to share with the world, showing off your delicate chemical ballet. There are leaderboards, if you care about such things, and you can even set the game to challenge you to break into the top percentile of players. It also has its own Solitaire game that you can cheat at.”
• Building the perfect machine in 'Opus Magnum' [Engadget] [YouTube][Game Trailer]
“Opus Magnum is, like many of developer Zachtronics Industries' releases, a puzzle game centered on engineering. You play a young alchemist, tasked with creating elemental compounds for your employers in a time of conflict. As the story plays out, you become stuck between various factions and your creations are used for nefarious purposes. But the narrative, while well-written and capable of providing some respite between challenges, is far from the attraction here. The core gameplay loop is simple to understand. A level gives you a set number of elements as inputs, and tells you what your output needs to be. You're given an infinite hex grid to build a machine that turns the input into the output. The basic tools at your disposal include arms, pistons and tracks that objects can travel along. There are also blocks that can modify or bond elements together. Once you've placed your tools, you have to program them by adding icons to a timeline. ”
• The pleasure of creative block-building meets the satisfaction of puzzle-solving. [PC Gamer] [YouTube][Game Trailer]
“Infinifactory is a creative puzzle game where you turn block-based factory components into complex machines. Each level has a different layout, a different schematic to match, and a different set of inputs that dispense various components and building materials at a fixed rate. It's your job to negotiate all of these different factors, a task that is 50% industrial design and 50% trainset construction. You are doing this in order to please your alien captors, giving the game a comic streak that treads the line between black comedy and outright slapstick. The sci-fi setting justifies both the freeform nature of the environments you build in (you'll spend a bunch of time constructing factories on asteroids) and also allows Infinifactory to show off a surprisingly pretty side, particularly in its later missions. It's not all conveyor belts and starscapes: there are dazzling nebulae, cyberpunk skylines, and alien forests too.”
• Shenzhen I/O is a game for people who code games [Gamasutra] [YouTube][Game Trailer]
“The game tasks you with coding and engineering products for clients. Sometimes, those are games and game accessories. Other times, they're fake traffic cameras or sandwich makers. [...] Now, in Shenzhen I/O, the player steps into the shoes of an engineer who moves to a near-future China in order to make things. It is, as Barth puts it, “straight up the story from The Second Golden Age,” and Cool Dad also makes his presence known in Shenzhen by putting in an order for a truckload of light-up vape pens. “You know when you go to a concert and they give you the glowsticks that light up with the music?” Barth said. “Cool Dad did that except they're all vape pens, so it's just like an audience full with a thick haze of vape smoke and everybody is vaping, but then the vape pens are flashing to the music. It's very -- People pay a lot of money for that shit in 2026.” Since Shenzhen I/O players learn about the game's world through email conversations with coworkers, they never meet Cool Dad. They never communicate directly with him; the only way they learn about him (if they care too at all) is by putting together the thing he wants, and thinking about why he wants it.”
• Up and atom. [Eurogamer] [YouTube][Game Trailer]
“The root problem of each stage in SpaceChem is to design a "reactor" that will refine raw atoms and/or molecules into a new compound. Your reactor might be connected to an atmospheric pump that provides you with a 3:1 ratio of hydrogen and nitrogen atoms, and the goal is to cobble these together into – yup, you guessed it – ammonia fuel. Splicing atoms with your fingers is a messy enterprise. (I always end up getting atoms in my hair.) So SpaceChem provides you with microscopic helpers called "waldos". There are two in each reactor, a red one and a blue one. The waldos move along tracks that you lay out on the reactor's gridded workspace. As they chug along, they execute simple instructions that you place along their route.”
posted by Fizz (24 comments total) 26 users marked this as a favorite
Opus Magnum was recently rejected by GOG’s internal curation system, despite the fact that your other five commercial titles were all approved. What are your thoughts on GOG’s decision, and does it discourage you from submitting to them in the future?

Note that the interview is from January 2018, and GOG changed their minds by February.
posted by zamboni at 10:05 AM on November 7, 2019 [2 favorites]

I'm not really good at these types of games, I struggle with them. My mind is just not set up for programming/coding. That being said, Opus Magnum is one of the most friendly ways of getting into this type of mindset. It visualizes commands in such a way that it sort of eases you into the process. I've not played a ton of the game but the fact that I want to keep playing (despite my lack of experience or comfort with this style of game) is a testament to how well designed it is.

Also, for anyone with students/kids, Zachtronics has made the games licenses available for free for schools.
posted by Fizz at 10:18 AM on November 7, 2019

That's crazy given what a completely pleasing aesthetic package Opus Magnum is, and what jank ass shit is present elsewhere on GOG.

Anyway, Opus Magnum is a delightful game and it's free on game pass so you should just play it. The amazing thing about the game is that you feel like you are encouraged to create something creative beyond just finding "the solution" which is very rare in puzzle games.
posted by selfnoise at 10:26 AM on November 7, 2019

I'm shocked the very excellent Exapunks isn't mentioned. Not only a really interesting parallel programming exercise, but learning via in-game zines. Super, super great time.
posted by tocts at 10:54 AM on November 7, 2019 [2 favorites]

I love these games so much, and was really excited to have Molek-Syntez appear out of the blue a couple days ago just when I'd been thinking about trying to revisit Opus Magnum.

Their ongoing release strategy of getting a game close to done and then going early access for a month or so to stress test balance and UI issues works really well, I think largely because the games are so fundamentally about systems and once the system itself is baked things are pretty much ready to go. It's not that worrisome "is this actually playable, and when if at all is it gonna be finished?" gamble you get from a lot of Early Access titles: the game is there, it's ready to play, it's not gonna change much at all in the next month other than spit and polish and if we're lucky some extra content.

And so far M-S is vibing like SpaceChem and Opus Magnum had a baby but the baby was secretly TIS-100's: the stripped down black and white aesthetic, the cryptic almost-not-there narrative, the pretty minimal instruction set and toolset and programming space all feel a lot like TIS-100 in what's almost opposition to the relative complexity and generosity and certainly the aesthetic lushness of Opus Magnum (which produced the very best gifs ever, and while M-S's are a bit less ooh and ah to look at I'm glad they've continued that practice with this one). I

I'm digging it a lot and enjoying this brief window as a hardcore Zachtronics enthusiast where because it's only been out a couple days I've managed to find some stupid hyper-optimized solutions that, for a brief moment at least, are faster or smaller or shorter than the top percentile of all players. Other people will inevitably catch me soon enough, and then find something faster/smaller/shorter yet that I might never catch up with, but for now it's something to feel good about.

I'm really looking forward to playing Eliza at some point, but it's the first time I've had to look at a Zachtronics game and think "am I in a good emotional space for this?" which is an interesting and welcome development in terms of seeing what other space they'd like to explore in their games, but made the appearance of M-S a welcome surprise.
posted by cortex at 11:06 AM on November 7, 2019 [2 favorites]

I played SpaceChem, TIS-100, Shenzen I/O and Opus Magnum. Of the four I thought Opus Magnum was the best mainly because the art style is very pleasing and I liked its puzzles the most.
posted by Pendragon at 11:09 AM on November 7, 2019

That being said, Opus Magnum is one of the most friendly ways of getting into this type of mindset. It visualizes commands in such a way that it sort of eases you into the process.

Yeah! They really got something with that one. I think the sort of meta-space of microprogramming games is an interesting one and I'm down for basically any variant on that they want to put out, but Opus Magnum managed to hit a very effective sweet spot of visual/metaphorical accessibility that something like TIS-100 or Shenzen I/O or Exapunks doesn't have.

There's nothing strictly more complicated about the ASM-like instruction sets of those games, but as a way to conceptualize a puzzle lines of terse ascii stacked on each other is really a different experience than the visual tableau of Opus Magnum where the puzzle's state, and the change from one state to a next, feels physical and concrete. Literal rather than just abstract movement of data.

I really like the ASM-like games, but I think I fell into and worked through OM with more success in terms of through and complete solving of the puzzles than any other game before or after.
posted by cortex at 11:12 AM on November 7, 2019 [2 favorites]

Yes, Opus Magnum has a more physical feel to it, while the others are more abstract. Good way to put it.
posted by Pendragon at 11:15 AM on November 7, 2019 [1 favorite]

Opus Magnum almost feels like a way to trick people into learning programming without their realizing that this is what they're essentially doing. I'm not mad about it. I imagine it's eased a lot of people into this frame of thinking.
posted by Fizz at 11:20 AM on November 7, 2019 [1 favorite]

Their last game is called Eliza and I don't see it mentioned above. It is a narrative game where you are a person who is in a room while an AI therapist talks to patients. (I think maybe you designed it though that's part of the story, maybe.) It's about feeling helpless (you don't talk to the patients so what are you even doing) and also how AI can help or hurt us.

posted by OnTheLastCastle at 11:34 AM on November 7, 2019 [1 favorite]

TIS-100 is maybe my favorite Zachlike because it takes something I do all day and turns it on its head. It's also weirdly the most realistic one maybe?
posted by OverlappingElvis at 11:37 AM on November 7, 2019 [2 favorites]

I thought Exapunks was definitely the most fun, but that's probably just because it spoke to me so directly-- the tacky Hackers/Cyberpunk trappings were just spot on.

Something that I love about these games and I wish they'd talked about was the way they make their documentation available as Infocom-style feelies. (You could get nicely-printed Exapunk zines! They even put out a custom Shenzhen I/O binder!) There's something very gratifying and profound about having a physical artifact that draws you into a game. I also appreciate that they're designed in such a way that it's cheap/easy (and recommended!) to make your own.
posted by phooky at 11:49 AM on November 7, 2019 [4 favorites]

I love Zachtronics games even though I am horrible at them. Infinifactory is the one I've had the most success with, though I am garbage at higher throughput solutions. It also has a story that implies a dog is better at solving some of the problems within than humans were, which I enjoy.

In a just world, Zach would have ridiculous Minecraft money to do incredible things with. But as Milton said, we are in a Post-Lapsarian world, this is just more evidence.
posted by fifteen schnitzengruben is my limit at 12:42 PM on November 7, 2019 [3 favorites]

FWIW, Fizz, I've seen any number of people who thought they were terrible at programming discover that a lot of it's in the presentation side of the toolchain. If you haven't given Unreal 4's Blueprints a spin yet, visual programming might be your missing link.
posted by Ryvar at 2:33 PM on November 7, 2019 [1 favorite]

Molek-Syntez sure is a Zachtronics game.

My imaginary Eastern Bloc chemist-hacker just synthesized mescaline. That feels like a good place to stop.
posted by egypturnash at 4:52 PM on November 7, 2019

I've got good solutions for everything before it and several things after, but haven't even gotten a working prototype at all yet for Ketamine, so in a very square figurative sense I fell down a k-hole on that one.
posted by cortex at 5:25 PM on November 7, 2019 [1 favorite]

In a just world, Zach would have ridiculous Minecraft money to do incredible things with.

My secret hope is that, at some point, Zachtronics releases Infiniminer 2 and gets a slice of that sweet, sweet Minecraft money.
posted by Merus at 6:06 PM on November 7, 2019 [1 favorite]

I liked Exapunks but programming in assembly language felt like swimming in molasses for me (I write Lisp code for a living). Like, I could often see the solution, but the mechanics of actually getting there seemed more like busywork than fun. I contemplated writing a compiler for the platform, and then I realized that doing that might be more fun than playing the game, and then I kind of petered out on playing the game. I love the aesthetics of it though.
posted by whir at 6:49 PM on November 7, 2019

As a person who writes code in a lot of higher level languages for a living, what I loved about Exapunks in particular was how weirdly elegant you could get if you really embraced the fork bomb nature of it. I had a bunch of solutions I was very proud of that were wasteful as all get out in terms of exas but so damned fast because of parallelism, in ways that honestly made me think differently about asynchronous operations in my real job.

Now TIS-100 ... I love that game, but it is 100% assembly slog hacks much of the time. Rewarding ones, to be sure, but it much more captures the feeling of just trying to get this goddamn hardware doing the right thing, compared to Exapunks somehow elevating what was fundamentally still assembly language to something else.
posted by tocts at 7:08 PM on November 7, 2019 [2 favorites]

I really like the Zachtronics games, though I never seem to finish them. One free way to explore the genre is the ZACH-LIKE collection on Steam. This is an exploration of the earlier ideas and games that eventually developed into Zachtronics. It's a pretty deep dive, but the price is right.

Interesting games in that collection include KOHCTPYKTOP, which is a chip layout game. It's a pretty serious digital design challenge. I never got past the 8-bit SRAM, and I studied digital design in college. Another is Infiniminer, which is Minecraft at a $2,500,000,000 discount. How Zach doesn't get salty about that I dunno, but it's pretty amazing how complete the idea is.
posted by netowl at 9:00 PM on November 7, 2019 [1 favorite]

I've heard about Zachtronics and about Infiniminer but had no idea that game was made by the same person.

For those who don't know, Infiniminer isn't just "kinda like Minecraft" it was the direct inspiration for Minecraft and Notch has made no bones about Minecraft being "an Infiniminer clone".
posted by lubujackson at 10:57 PM on November 7, 2019 [1 favorite]

The only Zachtronics game I've played is Opus Magnum, so I can't really compare them in detail, but I think there's two reasons why OM is easier to get into than the other games. The first is the lack of limitations: all the puzzles in the main storyline give you unlimited space, time, and tools to work with. Because of that, you can pretty much always implement whatever idea you get for solving the puzzle. If you have trouble moving atoms past each other, you can just move parts of your mechanism further out, and maybe add a few more tools for moving atoms around. There's no point where you can't progress because you're can't figure out how to make your mechanism compact enough, or fast enough. That was one of the frustrations I had when I played the SpaceChem demo some years earlier: the playing field is finite, and it's the same size every time. So rather than dealing with restrictions tailored to each individual puzzle, you have to work with the same somewhat arbitrary restriction regardless of what you're asked to do.

The other reason is that the subject matter of Opus Magnum, alchemy, gave the developer a lot more freedom to make interesting puzzles. Any collection of atoms in OM can be a plausible molecule, as long as the choice of atoms and connections fits metaphorically with what you're asked to make. So when OM asks you to make a molecule consisting of a central water atom connected to a fire atom and two salt atoms, it can state that this molecule is alcohol, and that looks about right. By contrast, if SpaceChem asks you to make alcohol, it pretty much has to ask for an ethanol molecule. Because SpaceChem is bound by real-world physics, there's no easy way to adjust the progression of puzzles over the course of the game: even if the developer knows what kind of molecule he wants to ask the player for, he still has to check if such a molecule actually exists. In Opus Magnum, by contrast, he could design the molecule first and figure out what it should represent afterwards.

There's one thing I do find somewhat baffling about Opus Magnum, though. For a game that's ostensibly about programming, it almost completely eschews any notion of structured programming. The only kind of structure you can put on your programs is a simple repeater command and a command that returns a toolarm to its starting point. That's it. I've had situations where I needed to run through the same commands twice, but with something else in between, giving a progam structure that looks like XAXB with X being a rather long sequence of commands. In that situation, the only approach is to manually copy X. If you need to edit it later, you'll have to edit both copies. Likewise if you have multiple toolarms running through the same sequence of commands: copy the sequence manually, and edit every copy if you need to change something. Nor is it possible to annotate programs in any way; you can't put down a marker or delimiter to make note of the point at which one subtask is complete and another one begins. The lack of tools doesn't really matter in the early game, but it can get rather irritating in the late game or if you want to optimize a puzzle in one way or another.
posted by Tau Wedel at 7:04 AM on November 8, 2019 [2 favorites]

There's one thing I do find somewhat baffling about Opus Magnum, though. For a game that's ostensibly about programming, it almost completely eschews any notion of structured programming.

It's a consistent theme for Zachtronics; basically all of their programming games are meant to be really low-level, essentially bare metal microprogramming games, where any kind of loop control is the height of luxury and even that is entirely absent in some cases. Molek-Syntez give you 24 instruction steps total and no flow control at all: the loop is just however long the longest track of instructions is, and starts up at the top again for all (up to) six tracks of instructions after that. No init, no conditional jumping, no jump labels. (TIS-100 was more generous there, allowing ASM-style conditional jumping based on register values etc, but then stuck you with a tiny tiny instruction space to cram that all in to. In general their ASM-likes give you more flow control and less elbow room.)

I've had situations where I needed to run through the same commands twice, but with something else in between, giving a progam structure that looks like XAXB with X being a rather long sequence of commands. In that situation, the only approach is to manually copy X. If you need to edit it later, you'll have to edit both copies.

Yup! Yep. I think if anything Opus Magnum's instruction length generosity masks a bit what is significant design philosophy in Zachtronics programming games: focusing on program hyperoptimization, on getting solutions down to very small tight loops and then if you're realllllly gonna try and pull off some shit do some manual (and inherently a bit fiddly and tedious) unrolling of loops and parallelization of logic.

Which is a valid thing to be annoyed by if you're looking for a sane development environment, but they've never tried to make one of those; it's all basically always about tight packing of instructions, stupid human tricks, and squeezing a little more blood out of the stone.

One of the things that happened with Opus Magnum during its Early Access release period is they ended up imposing a tighter limit of some sort on the smaller instruction length of...some puzzles? All puzzles? I don't remember the details now, but it might have been initially 100 instructions per machine part track and they drew it back to 50? Which, 50 is still a lot, especially given you can use many pieces in parallel each with their own instruction track, but it was a change that eliminated certain goofy verrrrrry long unrolling hacks in people's early solutions to puzzles, and had I think the good effect of keeping people from making that kind of very long meandering solution design a default move.

Like, I really enjoyed doing one-arm solutions in OM: finding a way to take a puzzle that would normally involve 2-5 rotating grabbers operating in parallel to manipulate a molecule, and doing it all with a single arm doing a long series of discrete moves. It's a fun challenge. But it's also by far the most tedious kind of challenge because you're just trying to stack one idiosyncratic instruction on another and building up a house of cards and doing a lot of horizontal scrolling in the process. It's part of the game but it's kind of a bad habit to normalize!

That Molek-Syntez looks superficially a lot like OM but has 24 instructions per track max, six tracks max, and comparatively very limited movement/orientation objects for the tools, all feels to me like a direct design reaction to some of those OM features, as if two roads diverged in a design document, and we got the wonderful OM from the path first traveled and M-S is a kind of counterfactual response song.
posted by cortex at 7:52 AM on November 8, 2019 [4 favorites]

posted by cortex at 10:21 AM on November 11, 2019 [3 favorites]

« Older Straight From The Boss’ Mouth   |   hornless, parrot-beaked plant-eaters closely... Newer »

This thread has been archived and is closed to new comments