Zachary Barth is an American indie video game designer who creates games under the company label Zachtronics, which he co-founded.
• We Are Marshall (We Are Marshall is a 2006 American historical drama biopic film directed by McG. It depicts the a...)
• Ramsey Lewis (Ramsey Emmanuel Lewis, Jr. is an American jazz composer, pianist and radio personality. Ramsey Le...)
• Adam Rippon (Adam Rippon is an American figure skater. He is the 2010 Four Continents champion and 2016 U.S. n...)
I'm Zach Barth, the creative director of the game studio Zachtronics. I've been making "indie games" for about 10 years now, including Infiniminer, SpaceChem, Ironclad Tactics, Infinifactory, TIS-100, SHENZHEN I/O, and the newly released Opus Magnum. Also, some dubious educational games that were 66% about pooping. We've arguably pioneered multiple genres of games, including Minecraft clones and design-based puzzles. Possibly also real-time, card-based tactics games, but we don't talk about that game much.
I guess there was also that time that I closed down Zachtronics for a year and worked at Valve on the SteamVR team, where I was one of a few people who worked on Xortex 26XX for The Lab. We can talk about that too, if you want, but try not to ask too many questions about working at Valve.
Today I'm here with most of the Zachtronics team to answer your questions! Our newest design-based puzzle game, Opus Magnum, was just released to Early Access on Steam last Thursday, which is ostensibly why we're here. It's very pretty. Despite that, I have no intention of making this a Rampart-style AMA, so please ask us about anything that interests you! We've been at this for a long time and have a lot to talk about!
EDIT: Back now, time for more questions!
What do you think is fun about your games? It seems like you guys make games with a very specific mindset for the most part, so is there a common element or appeal you get from playing your games?
This is a difficult and loaded question! What is fun? Is it really a consideration when designing games? You didn't ask this, but I certainly ask myself: does being fun make a game successful?
People like building machines. People like writing programs. People like making them faster, or smaller, or more efficient. Requiring players to sequence parallel tasks with emergent tools is a surprisingly deep design space. People don't really like puzzles, but I think that puzzles are the best way to exercise the kind of systems that I like to design and our players like to build with, and maybe that makes puzzles okay, and possibly even fun? Being challenged is painful, but solving a challenge is euphoric, so maybe the interplay between those two states feels like fun?
Is it possible to do something and be good at it, but not really understand what you're doing?
Would you publish the source code to your flash games that you do not plan to re-release as a proper game? I'd love to play KONSTRUKTOR, but I'm not installing Flash.
Considering that we essentially just re-made the Codex I think that anything is possible!
I'm interested in the thought process behind end bosses in your games.
Spacechem has these wild, often infuriating end bosses to each node and while I kind of hated them, they were also some of my most memorable expeiences with the game. They were stripped from the iPad release to, I had presumed, keep filesize down (?). So I was able to finish all the levels on iPad, but I'm still on Flidais on the PC. I kind of love that.
Infinifactory is one of my favourite games, all time. But it had no end bosses. I only made it through maybe nine levels of Shenzhen I/O (I'm more capable with visual programming than the kind that uses words, apparently, but I didn't see any hint of end bosses there either.) And now with Opus Magnum, I'm nearing the end of the fifth stage and I've not seen any end bosses.
Which is fine. I don't think the games suffer probably from the absence of things like that. I'm more interested in:
[QUESTION] Why have you not gone back to the end boss well? Did you not like how they worked in your games or how players reacted to them? Did they just not fit with your newer games? Do you hate them now?
Because man... Quororque, the defiler-alchemist is one of my favourite videogame encounters of all time.
They were removed from the iPad release because, when we ported SpaceChem to iPad, everyone was still on first-gen hardware! We couldn't get the simulation to run anywhere near the "real-time" speed setting that is required for the boss battles to make sense. Our metrics also indicated that they were the hardest puzzles by far, so when porting to a platform known for the casualness of its audience it seemed like a sensible solution.
Did you play through the second campaign in Infinifactory? There's totally a boss battle at the end!
There are lots of little reasons why we haven't explored boss battles in our more recent games (I guess except for that one that's totally at the end of Infinifactory):
We had considered making some puzzles for SHENZHEN I/O that were about taking feedback from a simulation and then feeding inputs back into it, but they had all the problems listed above without seeming like they'd really help make the game that much more enjoyable. At least the boss battles in SpaceChem had loads of personality!
How many people are in the Zachtronics team nowadays? Are there times during production that you wished for larger resources?
We have five people on the team right now: me, another programmer/designer, a musician/writer, and two artists. We do have a tendency to scale up a little during production, but it's always a challenge to strike the right balance between contracting and employment that satisfies everyone's needs and desires.
Do you think that games like TIS-100 and Shenzen I/O could, with some more refined focus on pedagogy, become part of modern efforts to educate children about computer programming, math and science? If not, why not? If so, which one of your games do you think is closest to being useful as a real teaching tool for computer programming?
I don't know what this means considering the kind of games I like to make, but I strongly believe that the best way to teach someone to program is to sit them down with a programming language and let them build something that they want to build. If you have an end goal that you want, and have the means to get there (books, mentors, etc.), you'll make it happen. This is how I, and many others, learned to program. I'm not sure what the decline of the personal computer means for this, or if there really is a decline in personal computing as a cultural phenomenon.
Also, if I learned one thing making educational games it was that I am not an educator! Sure, it's a discussion that everyone can participate in, but there are literally experts in this field...
When thinking about games with programming as a mechanic, I differentiate between "programming for programming's sake" and "programming as a means to an end". Our games all fall strongly into the former category, and we make lots of design decisions to support this (like designing our in-game programming languages from scratch). Games like Minecraft or Space Engineers I'd bucket into the latter category, where you're trying to accomplish something. The key difference is that, when you're programming as a means to an end, it doesn't matter if you write the code yourself or if someone else did. If you do that in a Zachtronics game, however, you're a dirty cheater. The programming is the point.
Love your games. Really has defined a whole sector of my interests.
I got two questions for you:
By all accounts, Opus Magnum, while a very enjoyable game to play, already had its foundational work done when you started working on it, as the Codex of Alchemical Engineering already was proven to be a very enjoyable game. My question is, was Opus Magnum "easier" to make as a result? A one-year development time is really short, so I'm curious if this was just an exception due to these facts.
Do you think you'd ever foray into the territory of games like Factorio? The block engine in Infinifactory lends itself well to such as task, and I think you guys would be capable of making such a game, but it could also be a much more difficult and lengthy task than the games you've made so far. What do you think?
This definitely helped, along with the fact that I've been kicking around the ideas for Opus Magnum since 2013! We made Infinifactory instead, though. We actually spent a few months between SHENZHEN I/O and Opus Magnum prototyping an idea that didn't pan out, so being able to about-face and charge straight for a known target was convenient.
I think about this a lot, because a lot of people suggest it. It's possible I'm wrong, but I see the gap between these games as being much larger than people realize! See my comments above about "programming for programming's sake" versus "programming as a means to an end" above. Also, I suspect that I don't actually have any interest in making fake-resource Skinner box games, but I also don't think I have much room to talk because whatever we're doing with our puzzle games is clearly also ~~addictive~~ "highly compelling".
Hey Zach, big fan here ;)
So I'm really enjoying Opus Magnum. But I've noticed there is a key difference to other Zachtronics games - There are pretty much no limitations. A big part of why the other titles are as hard as they're are, is that the player is running out of space very quickly. Some games like Shenzhen I/O even have multiple limiting factors (physical space and loc per module for example). OM does away with all of that. What this means is, that the puzzles are a whole lot easier to complete. So far I'm almost through the campaign, and I have optimised perfectly in cost for every solution. Most other titles I got stuck way earlier.
Was this a concious decision for OM, so that the game is easier and more accessible to more players? Or are there other reasons for it? It's been a while since I've played Codex, but afaik there too are both spacial and programming limitations. You also took away the need to keep the parts in sync, as they do so on their own now. Have you taken inspirations by other Zachlikes, like the fantastic Silicon Zeroes by any chance? Will there be more "hardcore" Zachtronic games in the future again, or are you happy how OM turned out?
I'm not at all saying this is a bad thing by the way. OM looks gorgeous, and is fun to play. I just wasn't expecting to breeze through one of your games (optimizing for time will be a whole different story though, I'm sure). The only thing I dislike about the missing limitations, is that puzzles got a whole lot more alike. Pretty much all of them up to the last chapter can be solved with a single arm, and possibly a short rail.
Thank you so much for your amazing games! And for taking the time of reading my question ofc. :)
A year or two after the release of SpaceChem, Keith (our other programmer/designer) and I had dinner with some programmers at Bungie who were fans of our games. I'm paraphrasing here, but they lamented the fact that the puzzles were so hard to solve that they didn't get as many opportunities to optimize as they would have liked. This tracks with something we continued to see in our puzzle games: very few people beat them, but many people love to optimize the early, easier levels.
Opus Magnum wasn't necessarily envisioned as an "easy" game, but once we figured out it was we chose to embrace it. We've always wanted to explore the idea of making a game where the puzzles were easier to solve but still interesting to optimize, and with Opus Magnum we've gotten the chance! Some people liked the extreme constraints of SHENZHEN I/O, but lots of people also complained about it, so maybe this is a good experiment? Maybe making a more casual Zachtronics game will open it up to a larger audience? It's too soon to tell, but we'll know eventually.
(As a side note, we try to do a lot of experiments like this. Having a puzzle editor at launch? Experiment. Translating the game at launch into five additional languages? Experiment. Finally adding an option for global records on the leaderboards? Experiment!)
I think the next Zachtronics game is going to kick your ass, but maybe don't hold me to that.
In this interview with Gamasutra you mention how the later puzzles in spacechem would take hours or even days to solve, (for the last boss maybe weeks):
You also have a survival chart which shows each level kills off about 10 to 20% of players. Did you view having such a difficult game as a negative?
I'm asking because I would estimate the survival rate of Opus Magnum, past the first non-tutorial would be flat, maybe 95% across the board. When designing Opus Magnum did you intentionally make a game where it is almost impossible to get stuck on a level?
I used to view the extreme difficulty of SpaceChem as a negative, but I don't anymore. Lots of people love SpaceChem. It's just the way that game is!
The "survival rate" of Opus Magnum is much lower than 95%. If we're lucky maybe 10% of people who start the game will finish it? It's tough to tell early on, where most of our data is from people who haven't put down the game for good yet. Weirdly, we lose people the fastest in chapter 1, but I guess it makes sense because that's when it actually becomes a puzzle game instead of a tutorial game.
> How did you market/PR/tell people about Opus Magnum? Which way is the most fruitful?
I don't really believe in PR. We do boring stuff like Tweet and email people on our mailing list, and obviously the branded GIF recorder is a deliberate attempt to help the game "go viral". Our biggest and best asset by far is the fact that I've been doing this for 10 years now, which has given us name recognition and an army of fans (❤) who understand what we're all about.
> Did it sell well? Do you care whether it sells well now that you don't run your business?
We don't have a lot of data yet, but even if we did I probably wouldn't answer that here. Sorry!
> Does it help to be prominent/having a fan base or do you need to start over each time in terms of marketing?
Absolutely! See answer above.
> Why do you use the "infini" prefix for block games?
If Infiniminer started the block game genre, why wouldn't we keep using it? The "infini-" prefix is actually something I started using in college for all of my games that involved creating the content as you played, like Infinifrag and Infinitron. They're both very bad.
> Are you planning to make more block games?
We just released Opus Magnum, geez!
> Why didn't you let arms move other arms in Opus Magnum?
We wanted to avoid what we call "octopus arm solutions" where you painstakingly but inelegantly program a single arm to do everything.
> Is The Incredible Machine a design-based puzzle game?
It depends on the puzzles, largely. I recall that they tended to limit your parts and give you puzzles with "gaps" to be filled in with specific parts, which makes me say no, but I also remember open-ended puzzles with much more Zachtronics-style goals.
Suppose that I'm unemployed and that I have no formal education. My only diplomas are the Steam achievements for beating your games. What are my chances of getting some job? What do you think the chances should be?
I remember reading years ago about people who put their experience leading WoW guilds on their resumes. Apparently it worked sometimes? Maybe you should include some Opus Magnum GIFs on your next resume?
I picked up Silicon Zeroes after seeing you tweet about it and quite enjoyed it; do you have any other recommendations for people who already own your suite of games and need that next hit? :)
I don't think so. I certainly know of other games out there like ours, but I haven't played any other than Silicon Zeroes, which I did really like. There's probably another one that I liked but have forgotten...
Which of the game design decisions in your recent games do you regret the most?
Do you watch videos of people playing your games during the Early Access?
Can we expect a new Infinifactory-ish game soon from Zachtronics?
> Which of the game design decisions in your recent games do you regret the most?
I try to live my life without regrets.
> Do you watch videos of people playing your games during the Early Access?
I tend to focus more on reading emails, Tweets, and forum posts, but everyone else in the office likes watching people play our games, especially our UI artist, who uses it to collect information about what parts of the UI trip people up.
> Can we expect a new Infinifactory-ish game soon from Zachtronics?
What makes a game "Infinifactory-ish"?
I'm an undergraduate graphic design student and I'm highly interested in how the logic and puzzle aspects that are the foundation of your games could be applied to design work. I'm curious:
> Where do you find a lot of your inspiration for your projects?
Real-life engineering disciplines, often. People have designed lots of strange systems for solving problems, like ladder logic and BASIC and pneumatic mail tubes.
> What do you recommend to someone to start learning more about this sort of systems and logic?
Take or audit an introductory course in computer programming or digital design (logic gates, etc.) and you'll learn more than you ever wanted to know!
Of your engineering games, how would you rank them by order of preference? What about by difficulty?
Oh, but they're all great!
Opus Magnum is probably the easiest, followed by Infinifactory. SpaceChem is arguably the hardest? Not sure where TIS-100 and SHENZHEN I/O fit in, as they're about more explicit programming and require you to literally read manuals...
What's your favourite episode of scrubs?
The one where Tim Allen upsets his wife, but then gets advice from his neighbor.
What games do you play when not making awesome games?
Lately, a lot of Heroes of the Storm and Worms Armageddon with friends! I'm not actually sure how much I enjoy playing video games in general anymore, but that's like... some deep stuff to unpack elsewhere...
Hey Zach, thanks for your awesome games !
I've always wondered how do you design a Puzzle ? More specifically :
How do you balance it ? There are lot of different people with different backgrounds, but still everybody can enjoy it. Do you have some kind of "rule" (mathematical or something) to ensure that a puzzle is solvable given the mechanics of the game ? I mean there are a lot of different ways to solve a puzzle (like we can see on /r/opus_magnum/), you can't think of everyone of them beforehand right ?
Kind of a similar question for random based game like Shenzhen solitaire or Sigma's garden: It involves random, how do you create them so they are really enjoyable (euphemism for "addicting") and solvable even despite the fact there are blocking situations ?
Also, Opus Magnum's UI feels so clean, I really love it !
One of my shitty superpowers is that, generally speaking, I can look at a puzzle for a Zachtronics game and intuitively judge how solvable it is. It's not perfect, though... my wife spent about 8 hours trying to solve an Infinifactory puzzle that turned out to be obviously and fundamentally impossible in retrospect.
For the puzzles in Opus Magnum, the process looked something like this:
For the solitaire games, my process so far has largely involved taking established games and reimagining them around some sort of theme, and then pushing them a little further in the direction of the theme to make them worse than what they're inspired by but more novel and appropriate as a companion to the primary game. Sigmar's Garden isn't going to be the next Shanghai, but I think it enhances the texture of Opus Magnum and makes me feel like I've shipped two games instead of one. I love shipping games!
Have you guys ever considered making a kids game? I trace my love of your games back to Rocky's Boots making number kicking machines with logic gates and sensors. I saw some simple infinifactory levels in steam workshop which seemed like a nice way to get kids into it but once they got out of the custom levels I think they'd be hard pressed to progress very far. A game with a full progression but a lower difficulty could help kids develop the love of logic and problem solving like Rocky's Boots did for me oh so many years ago.
Also, just keep it up, I love your games even if I've never beaten any of them. Last night I built an elegant, perfectly symmetrical, beautiful machine... and a dick that oozes gold... it was great.
We made three educational games that were ostensibly for kids and I never want to do it again.
Opus Magnum is a perfectly fine kids game... it has way fewer dead bodies and porn magazines than Infinifactory!
Opus Magnum is considerably easier than your previous games mainly because of no restrictions. Are you creating Opus Magnum as a newbie-friendly Zach-like game?
What exactly do you mean by "People don't really like puzzles"?
As a genre, puzzle games don't sell that well, although there are obviously exceptions. I don't know about you, but they physically make my brain hurt! That makes people want to stop playing them, which is a tough quality to have when you're selling a product that is 100% voluntary and for entertainment purposes.
How has your approach to difficulty/balance changed over time? Is your personal preference in conflict with what makes business sense?
I would say that SpaceChem is significantly less forgiving than Opus Magnum. Personally, I think that the brutal difficulty of SpaceChem makes it extra special, but clearly you also need to make money.
We try to be savvier about collecting data and using it to tune the difficulty of the puzzles, but overall my philosophy hasn't changed much. These are difficult puzzle games. Regardless of what my goals are as a designer, when you look at the finished product it really gives the impression that I don't care if people finish our games or not...
Do you have any sage advice for someone wanting to make a Zachlike?
Keep up the great work :)
Play all of our games and pay attention to what they have in common and what is different between them and other puzzle or building games. I guess you could skip Ironclad Tactics, but that has some novel game design ideas too.
One mistake I see a lot of people make in custom puzzles for our games is to artificially restrict the tool set to push players to solve a puzzle in a particular way. This is the enemy of open-ended design.
I was wondering, are there any reference solutions you came up with during developing and testing your puzzle games which has never been beaten by the players on one or more metrics? (Let's exclude Opus Magnum from this, because it's so recent. But anything from SpaceChem, Infinifactory, TIS-100 and SHENZHEN I/O is fair game. :))
I'm okay at our games, but far from the best. It's not remotely possible that I could ever set a record, unless I was using some kind of secret mechanic that no one else knew about maybe, but even then someone would manage to find it and do better than me.
I feel that I get away with it because I have a pretty good intuitive grasp of the design space of these games, even if I can't predict them fully.
Will you ever return to 3D?
I'm a huge fan of Opus Magnum, and I can appreciate how much faster and cheaper it is to make a 2D game. But it seems like there are more interesting mechanical and logical possibilities out there that you can only get through 3D.
3D is hard, both from production and design standpoints. I'd never go out of my way to make a 3D game, even if you can charge slightly more for them. When we come up with a compelling game design that requires 3D, however, I'd jump back in a heartbeat.
What languages are those games built in? How many engines have you built over the years for your games?
We've used C# since SpaceChem. I can't imagine using anything else, honestly. Infinifactory and TIS-100 use Unity, while everything else uses some kind of lightweight SDL-backed C# engine.
SHENZHEN I/O and Opus Magnum are both using a very minimalist C# "engine" inspired by some of Casey Muratori's ideas on game engines and game programming. It uses DirectX or OpenGL for graphics, and SDL for everything else. It's basically just one giant Update() loop, and is the greatest game engine I've ever had the pleasure to work with. Despite this, I would not advise novice game programmers to do the same.
Serious question: Are you working on any other "zachlike" games currently that may blow my mind, or just taking time after opus magnum to then start another project?
Non serious question: How do you expect me to find more time to play your excelent games? I still havent even finished infinifactory :( Took me about 6 years to finish and 100%nt spacechem, which is currently my favorite all time game. Thanks for your great games!
We try to do projects sequentially. TIS-100 was a weird exception, where there was so much production work to do for Infinifactory that I was somehow able to make TIS-100 on the side.
TIS-100 was/is a terrific game - especially on the iPad. Why hasn't SHENZHEN I/O made it to the iPad yet? Is that still going to happen?
We're not good at making mobile games that people actually want to buy. Maybe it's because they're too hard? Maybe it's because they're not free-to-play garbage? Who knows! Either way, I think it's PC-only for the foreseeable future.
I am a big fan of you! I am starting on game dev, which programs do you use? You program on C++, right? Would you someday make a quick tutorial on how to make games? I love reverse engineering, any plans on making a Ruckingenur 3? Thanks! :)
If you're actually interested in making games you're probably best off learning Unity. It's a great tool that solves a lot of the hard, boring problems that you don't want to get in the way of shipping a game.
How do you decide what color to make objects (materials/molecules, interface elements, logo colors, etc.)?
Our artists are struggling to answer your question. It turns out that color selection is sort of a... fundamental concept... in making art.
Approximately how much code comprises the main "simulation engine" in Opus Magnum? Is it generally "clean", or does it contain a lot of accumulated patchwork? I'm specifically not interested in the display/animation aspects, just the pure computational part of it.
'cause I'm curious if this thing that enables elegant solutions is itself another elegant solution.
There is nothing elegant, efficient, or optimized behind the scenes of a Zachtronics game. It's all a sham, really...
How come there aren't more achievements in your recent games? In SpaceChem and TIS 100 the achievements gave me a point to learn more about optimization. I miss it in Shenzhen I/O though I am going to grind out those solitaire games eventually.
I don't really like achievements. There are all kinds of arguments to make for them, like rewarding players for doing something clever and surprising (a valid argument), to rewarding players for playing your game because people can't be bothered to do something if it isn't constantly rewarding them (less valid, in my opinion).
Of all our games, I like the achievements in TIS-100 the most, but they were hard to come up with. It's possible we'll add more for Opus Magnum, but it's also possible we won't. I think that the leaderboards and histograms do some of the work in this space, and I'm much more pleased with them as a mechanic than random magic-circle-breaking achievements.
I love your design based puzzle games, but even among my engineering friends I find them to be tough sells. What kind of person do you believe is your target player? Or how can I best pitch your games to my friends?
I don't know if I believe in "target players". I'm sure that many of our players are programmers, but some of them have never programmed before, and some of those people were huge fans of TIS-100!
The best way to convince your friends to play is probably to buy them copies. Maybe we should sell a four-pack...
As a programmer I love your games, I am especially inspired by TIS-100, turns out I don't know how to program.
I wanted to ask if you have any plans on bringing the podcast back? I really like it.
The weird thing about the podcast is (was?) that I only interview people that I really like on a personal level. I guess the Zoop interview was a little different because in that case I didn't know the interviewee but did really like the game on a personal level, but then I got lucky and ended up really liking him. Either way, this makes it pretty hard to find guests, which makes it hard to make episodes.
Big fan of your games!
I liked the setting you created in Opus Magnum quite a bit, is there any chance you might reuse it in some future games?
Anything is possible! That's the value of IP, I suppose.
> We actually spent a few months between SHENZHEN I/O and Opus Magnum prototyping an idea that didn't pan out
Can you share more about this idea? (unless there's still a chance you might make something of it later) I'm sure a lot of being a successful developer is knowing a good idea from a bad one. Although you have said you didn't expect TIS-100 to take off as much as it did.
In general I try not to talk about shelved projects, since it's quite possible we'll pick it back up again. After all, Opus Magnum was a shelved project from 2013!
I've used TIS-100 to teach some people about the considerations of distributed programming and the actor model. I dunno if it's intentional, but that game's system is somewhat surprisingly like Erlang But With Assembly.
I looked up a bunch of Erlang sample programs and tutorials when we were designing the TIS-100 puzzles...