Gamasutra: The Art & Business of Making Gamesspacer
Postmortem: Zachtronics Industries' SpaceChem
View All     RSS
September 23, 2014
arrowPress Releases
September 23, 2014
PR Newswire
View All

If you enjoy reading this site, you might also want to check out these UBM Tech sites:

Postmortem: Zachtronics Industries' SpaceChem

June 13, 2012 Article Start Page 1 of 4 Next

[Zach Barth, developer of the cult indie puzzle hit SpaceChem explains what went into creating such a complex, nuanced game -- while still working a day job -- and also what held back the game from finding the audience it might otherwise have found.]

Shortly after releasing The Codex of Alchemical Engineering, a Flash game about building machines that create and transform alchemical compounds, I started thinking about a chemistry-themed sequel. Since Codex was already a simplified model of molecular bonding, expanding into chemistry proper would provide more mechanics (such as multiple bonds between atoms) and puzzles (different compounds, from simple ones like water to more complicated ones like benzene). Despite this, making immediate sequels is not in my nature, so I set the idea aside and moved on.

About a year later I visited Gas Works Park in Seattle and was inspired by its derelict chemical processing pipeline.

Thinking back to the idea for a chemistry-inspired Codex sequel, it occurred to me to combine the low-level manipulations of the Codex with a high-level pipeline construction mechanic. The idea for SpaceChem was born!

The idea evolved over the next six months, picking up a cosmic horror story with boss battles in the process.

I started developing the game in my spare time with a coworker from my day job, eventually growing the team to seven people before shipping SpaceChem.

The Codex of Alchemical Engineering
, the predecessor to SpaceChem. Believe it or not, it's actually harder!

What Went Right

1. We Created Open-Ended Puzzles

Although we made a lot of questionable development decisions, the game's open-ended puzzles are unquestionably the biggest thing we did right; without them, SpaceChem would not be SpaceChem!

The standard gameplay "formula" for SpaceChem is to give the player a set of tools (instructions and reactors), a challenge with a clear end condition (create molecules X, Y, and Z), and an empty area in which to create a solution. Because of this, we were able to design almost all of the puzzles without knowing how they might be solved, focusing instead on making sure that each challenge was logically unique and could not be solved by repeating a previous solution.

After playtesting the levels, we reordered them, removed logical "duplicates", and filled "gaps" to create a fairly linear (albeit steep) difficulty curve. In some ways this makes puzzle design easier, as it avoids the chicken-and-egg problems that arise when designing a puzzle and its solution simultaneously.

An exciting side-effect of creating puzzles this way is that they end up being more open-ended and start to resemble the kind of problems that engineers and designers face in real life. Although some players find this intimidating, others find it intensely rewarding and discover a sense of ownership in their solutions not found in other games, quickly propelling SpaceChem into "favorite game" territory.

Superfund? More like super-fun!

2. We Kept Our Risks Low

Although it's not as sexy as full-time independent game development, most of the people who worked on SpaceChem did so in their spare time while holding full-time jobs outside of the games industry. This allowed us to rely almost entirely on profit sharing for compensation.

By working with international contractors to fill our talent gaps and using free tools and software wherever possible, the non-time investments to bring SpaceChem to market were small and low-risk. Although this clearly wouldn't work for "serious" game developers, it allowed us to break into the games industry with a good deal of momentum and no fear of failure!

3. We Picked a Great Platform -- PC!

The PC was the best possible platform for a game like SpaceChem. The barrier to entry is extremely low compared to similarly "open" platforms like the Apple App Store and Xbox Live Indie Games. Almost every person who reads about your game on a computer is capable of buying and playing the game within a few clicks. Leveraging this, we were able to roll out SpaceChem in a few phases:

  1. When SpaceChem launched, it was only available for purchase on the Zachtronics Industries store, a website created solely for the purpose of selling SpaceChem. We chose to build our own store because it let us sell for all three PC platforms (Windows, Mac, and Linux), because it let us keep 100 percent of the revenue (minus PayPal fees), and because we were unable to get on Steam. Despite the fact that our customer base was much smaller than other online stores, the Zachtronics Industries fan base, built on previous free games like the Codex and Infiniminer, quickly embraced SpaceChem and set us off to a strong start.
  2. Before the game had even been released, PC game website Rock, Paper, Shotgun found SpaceChem in the 2011 IGF entry list and wrote a flattering post about the game. After launch it posted a review and an interview, drawing additional and much-needed attention to the game, helping to secure additional posts and interviews on other gaming news sites. The lesson here: as an independent game developer with little to no marketing budget, games journalists are your best friends!
  3. Shortly after the word got out about how awesome SpaceChem was, we were able to reconnect with Valve about distribution on Steam. After a bit of work to integrate with the Steam platform for achievements and friend leaderboards, SpaceChem was launched on Steam, giving us access to their tremendous audience, epic seasonal sales, and painless update process. Although we've launched SpaceChem on many distribution channels in the past year, none have been as successful for us as Steam.
  4. Toward the end of 2011, we partnered with the Humble Bundle to include SpaceChem in the Humble Frozen Synapse Bundle, something that was only possible because of our choice to target Windows, Mac, and Linux.

Article Start Page 1 of 4 Next

Related Jobs

InnoGames GmbH
InnoGames GmbH — Hamburg, Germany

Senior Producer (m/f)
Infinity Ward / Activision
Infinity Ward / Activision — Woodland Hills, California, United States

Producer - Infinity Ward
Infinity Ward / Activision
Infinity Ward / Activision — Woodland Hills, California, United States

Senior Tools Engineer - Infinity Ward
Blizzard Entertainment
Blizzard Entertainment — Irvine, California, United States

Senior Vice President, Cross Media


Daniel Campbell
profile image
I honestly thing Zach is under utilized. His genius has brought about some of the most unique and interesting games in recent memory. Notch wouldn't have his fortune without Zach, just saying.

E McNeill
profile image
SpaceChem is, oddly, a game that I feel *guilty* for not playing, yet I still haven't started. I bought it eagerly based on recommendations, I installed it, and I even booted it up once... but I never got past the YouTube tutorial.

I suppose the reason I never went further was just because I saw a wall of difficulty ahead of me (especially after all I had heard from fans), and there was nothing appealing in the core "toy" of the game to pull me in. In most other puzzle games, there's immediately an intriguing story, or pretty art, or a satisfying low-level mechanic to entertain me while I slowly absorb the deeper mechanical challenge. In SpaceChem, the deep mechanical challenge was laid bare, and at that moment I just wasn't in the mood to strain myself to understand it. I don't like what that says about me (hence the guilt), but I guess that's a lesson I ought to apply to my own games.

I still plan to go back to it (eventually), and I'm eager to see what else Zach will come up with.

Bart Stewart
profile image
The "histogram" aspect of SpaceChem deserves much more attention from game designers, as it is responsible for most of both the fun and the frustration of this great game.

Most games do binary challenge reporting: you either succeed at beating the challenge and move on, or you fail and either accept defeat or reload and try again. The fun of this form of challenge measurement is passing a gate by identifying and accomplishing the (usually) one valid solution. Once success is confirmed, you're done with that piece of game content.

SpaceChem's challenge design is radically different. It permits not only multiple valid solutions but offers multiple (antagonistic) scoring systems -- if you think you used too many symbols or cycles (especially compared to the average), you can play that challenge again to try to improve your score. So the fun in SpaceChem comes from optimization within a space of many valid solutions. (Note that while it's not scored so overtly, "multiple solutions" is also a key pattern in the games by Looking Glass and its successors: System Shock, Thief, Deus Ex, BioShock, and the upcoming Dishonored.)

This difference -- between gating and optimization as modes of play -- is crucial for appreciating gamer reaction to SpaceChem.

Gating is simple to understand and rewards persistence. You know exactly what's expected, and you just need to keep at it. For a lot of people, that's fun; it's relaxing to be able to make progress without a bunch of Heavy Thinking.

Optimization is more complex and rewards perceptiveness. Just banging away using the same technique is unlikely to yield a significantly better solution -- persistence alone won't work. To really succeed at optimization, you have to think about the problem, understand it, and generate entirely novel (for you) approaches, often in a burst of creative inspiration. (Programmers will recognize this description as applicable to code optimization, but it's broadly understood as a distinctive problem-solving mode.)

Neither of these forms of play is inherently "good" or "bad." They're just different kinds of fun. But there can be a mismatch between these two forms of fun and the kind of fun that an individual gamer will usually prefer... and that, I suspect, is the source of both the success and difficulty of SpaceChem.

Some people naturally enjoy optimization within a complex space of multiple valid solutions. This rewards their perception and creative thinking, and makes them the natural audience for a game like SpaceChem. They'd have been the ones telling their friends, "You HAVE to play this game!" because there are so very, very few games that are so sharply designed to reward creative optimization-play.

But other people -- almost certainly the vast majority of gamers today -- prefer simple, gated challenges where there's no uncertainty about what to do or how to do it. From their perspective, the world already throws enough complexity at them; "fun" is a simple challenge with a single clear goal condition that can always be beaten if you just keep at it and refuse to give up.

For these folks, SpaceChem is not fun on its face ("ugh, I hate chemistry"), or incomprehensible in the number and variety of action options, or too hard because it rewards/requires thinking rather than doing, or just plain frustrating because there's no single definite "win" state.

So designers are, I think, well-advised to read Zach's excellent post-mortem carefully, especially the histogram part. That's a brilliant design solution for the rare game that creative/perceptive Explorers can love. But "optimizing among multiple valid solutions" is never going to appeal to other kinds of gamers, and in particular is very unlikely to be popular with the masses who enjoy games as simple diversions.

Adam Bishop
profile image
I've got this game from one of the old indie bundles but never actually played it, but this post has made me want to go back and install it, so thanks Bart!

Bart Stewart
profile image
Consider it my long-winded way of saying, "You HAVE to play this game!" ;)

Mond Semmel
profile image
"This difference -- between gating and optimization as modes of play -- is crucial for appreciating gamer reaction to SpaceChem."
I love SpaceChem, and I agree.

But what you mentioned in your quote is not just a difference in design philosophy between different games, but also a "schizophrenic" aspect of SpaceChem itself: As Zach describes in his postmortem, the difficulty curve is too steep. You are always free to go back to tinker with solutions of previously completed levels (the optimization mode of play), but you are always gated from progression until you complete a (hard!) puzzle for the first time (the gating mode of play).

And that hurts the game somewhat. For one thing, solving a puzzle for the first time is orders of magnitude harder than optimizing an existing solution. For another, difficulty spikes often mean that you are prevented from going further in the game, which could allow you to gradually learn and improve. That's very obvious from the completion graph Zach posted. (The defense levels, and the last few levels, are especially egregious culprits of this.)
Often, once I had overcome a "gate", i.e. managed to beat one new level in the campaign, I managed to beat a few more comparatively easily. That also gave me the motivation and new insight to optimize earlier puzzles, which was not only very enjoyable, but also made me learn even more about the game's mechanics.

I completed the game, but I looked at others' solutions to two or three puzzles in the whole game - if you look at the completion graph, I think I looked at the two puzzles shortly before the end (in the categories Flidais and Unknown System) which both only had 50% completion rates among those who managed to reach them. I didn't feel great for looking at a solution, but I still wanted to mark the game off as "completed". (Luckily, due to a strange issue, my exact copy of a working solution of the last level didn't end up working for unfathomable reasons. So I still had some tinkering left to do in the final level, meaning I solved at least part of it on my own.)

SpaceChem is an amazing game, but the difficulty curve/gated content _is_ a very serious issue that hurt the game a lot - especially due to how amazing and enjoyable the optimization aspect of the game is.

JB Vorderkunz
profile image
I MUST NOW BUY THIS GAME! Awesome stuff!

Will Buck
profile image
I was one of those 'questionable' friends that recommended to the engineers I know to try this game. Tons of fun.

I am also one of those people that was 'lost' on the game due to the difficulty curve. That isn't to say I don't still recommend it: I think you get out what you put into this game (hehe), and I put in enough to have enjoyed it a lot and recommend it to others. That said, I never fully groked the predictability of space and time required for some solutions.

As a particular piece of feedback for the devs: The factory-level layout I struggled with, and that piece I feel could've used more training / tutorial pieces. This postmortem is dead-on in strengths and weaknesses, great work Zachtronics team! Inspirational to hear this was a spare-time project for those involved too :)

Keith Nemitz
profile image
Thanks Zach! I really appreciate hearing about the solutions you used to solve various problems. I'm currently facing similar problems with my next game, 7 Grand Steps. It's not a puzzle game, but like SpaceChem, it's so different, videos don't show anything player's recognize as fun.

7GS is about family generations, so the goal is basically to survive. That's a tough goal to tell players who want to strive for something specific. The use of video here, as you tried, may be a good thing. We can use it to explain how earning legends help families to survive.

7GS's core gameplay is simpler than SpaceChem, but I've spent more than one year reworking the tutorial, because a player has to learn TWO rules at the start, to 'get' the fun of the core mechanic. There are a few edge-case rules that can be learned later, but those still complicate the player's model of the core mechanic. After reading your experiences, I think I should rework the tutorial again to offer side-paths that let players explore edge cases.

Thanks, you're a mountain-man blazing a trail for us later pioneers!

Adam Gashlin
profile image
I've enjoyed SpaceChem, bought it day 1 and several times since. As fun as it was to play, it is at least as interesting to me from a design perspective, so thank you for the insightful postmortem.

"We used too much text to explain things."

Yes, definitely. SpaceChem is a model for the flavor of gameplay I want to create, but the text-heavy tutorial screens immediately jumped out at me as a bad idea, even after reading a whole screen of story text! An already running machine with tooltips calling out the new mechanics in use might work?

The walkthroughs themselves might have been better taken in stages, showing what happens differently as each symbol is added. A first level (or sub-level goal) that requires doing nothing but starting the simulation, then one that requires moving the start location, then a turn, perhaps. The jump from that to actually solving problems is pretty big, though. I know how frustrating it can be to keep breaking down concepts, but without being tedious. How much can you expect the player to figure out himself? Those of us who are programmers have a hard time appreciating just how much we assume about the structure of problems and machines.

I want to give the player more mechanisms to manage complexity, rather than require ever more things to be kept in mind, however this doesn't address how to introduce those mechanisms. The "track" that is displayed is very helpful, perhaps more automatic support of that kind is indicated.

One thing that bugged me was boss battles, they seemed to be a complete shift of tone. I haven't finished the main story, as I got to the final boss battle and couldn't bring myself to tackle it, I found the battles so irritating that they weren't enjoyable in their own right. I was surprised to see no mention of these in the postmortem, as I understand they were sufficiently troublesome that they were taken out of the mobile versions. I guess that was more of an interface issue.

Phillip Abram
profile image
I like SpaceChem. I was lucky to meet some of the developers at GDC, nice guys. Can't wait to play their next game.

Patrick Tullmann
profile image
I loved SpaceChem, and occasionally go back to solve some of the ResearchNet problems (though unlike riding a bicycle, I feel like I've lost something if I'm away for too long).

Anyway, despite the Chemistry veneer, I thought this game was a fantastic gamification of programming concepts. Specifically of multi-threaded coding and synchronization. The ability to build lock-free (well, 'sync free') solutions to many of the puzzles was a personal goal of mine.

I too found the tutorial under illuminating, but in its defense, there is a lot more reward for figuring SpaceChem out, since you're clearly not being hand-held through the solutions. For example, the concept of a "waldo" made no sense to me. But, once I'd gotten through enough of the puzzles and had enough "ah-ha" moments, I could go back and re-do some of the earlier solutions. I found it particularly gratifying to look back on my original solution to an early puzzle and realize how much I'd learned since then. Where originally it had been opaque and difficult and more of a trial-and-error solution, now I could see how "easy" the puzzle was.

Muir Freeland
profile image
This article convinced me to buy SpaceChem. It sounds awesome.

q groozl
profile image
I'm one of those who bounced right off it. I think the postmortem is pretty accurate in what was difficult about the explanation.

However I challenge the notion that the game makes sense to developer types. I've been a professional programmer for going on 1.5 decades now, and I never liked games that are programming analogues. Designing algorithms with extremely tight limits on variable names and problem decomposition just feels like a puzzle on how to write a program in the worst possible way.

Maybe EE types wouldn't run into this since dealing with real constraints is part of their normal world. But I always think "where's my vi session and debug log? Why can't I create my own functions?"

Adam Gashlin
profile image
Yeah, kind of like implementing machines in Minecraft, Little Big Planet, or Conway's "Life", it's a matter of being amazed that you can manage to do anything. The things you ultimately end up doing aren't terribly interesting (though the boss battles may be an attempt to work around that). That said, it's a fantastic puzzle of that type, for those of us too lazy to find our own challenges in existing sandboxes.

Back when I started playing SpaceChem I wrote a bit about this, in the context of games for learning programming: