"It's the assembly language programming game you never asked for!"

Graham McAllister meets Zach Barth and TIS-100

"It's the assembly language programming game you never asked for!" This logline is crafted to appeal and cause intrigue for a particular type of gamer. For those who know about computer programming languages, assembly language is only one step removed from a CPU's native machine code, so it's difficult to learn as it requires an understanding of not only the language itself, but also of computer architecture. The fact that someone has created a game around this abstract language instills disbelief, but also interest among a certain audience. This appears to be the very opposite of games which are made 'for everyone', and I interview its creator to try to understand how, and why, you make a game for such a specific audience.

Finding Your Audience

The game in question is TIS-100 and was created by Zach Barth of Zachtronics. Before being a full-time game developer, Zach was working as a programmer for Microsoft and making games as a hobby in the evenings when he came home from work. When it came to making their first commercial game, SpaceChem, they still had 'real' jobs which offered them the freedom to make the game they wanted and not worry about hitting financial goals, "We weren't worried about anything, we were hoping to make $10,000 and that would be hitting it big as we'd make back our costs."

As luck would have it, timing was on their side. Released at the start of 2011, SpaceChem arrived along with an indie boom, the number of indie games on Steam started increasing and the Humble Bundle was drawing people's attention to indie titles. "SpaceChem made more money than any of our games ever will again" Zach states, "this is not because it's a great game, but because of the timing."

This exposure had another upside, they started receiving feedback on their game. Up to that point no one had discovered their games, so there was no feedback, this meant that when it came to SpaceChem, Zach simply thought that he'd make another game in the same style he always had, it wasn't a reaction to any particular trend in the market. After the game came out they received feedback saying that it didn't look like a game, or that it was very hard, it was then they realised how niche their games were.


Niche is perhaps the wrong word though, it somehow implies a small audience, but the audience for Zachtronics' games is potentially broad, but it's just well-defined. The games he and his team make revolve around a theme he calls 'open-ended problem solving' which he says many puzzle games lack. In terms of trying to define their games and who plays them he calls them 'games for engineers', however, the player demographic is not restricted to those who have a computer science or engineering background, but rather those who have a technical mindset and enjoy solving abstract puzzles.

Upon realising that their games appealed only to a certain type of gamer, their next title, Ironclad Tactics, was designed to be more approachable, a game that everybody could play. Zach says that "Although Ironclad Tactics was a game that anybody could play, it turned out nobody wanted to play", he adds that it sold about one third, or less, that of SpaceChem. There are multiple reasons for this potentially - an increase in the number of indie games at this time and also the logline didn't create enough intrigue, "A tactical card game based around steam-powered robots in the civil war", it didn't cut through the noise. The next game would however.

Creating TIS-100

TIS-100 was created over only a few months as a side-project almost entirely by Zach during downtime while finishing off another project. The concept was appealing to Zach from a programming point of view, not from a player perspective, "It's a game I wanted to make, not to play," he says. The game was not created with the aim of commercial success, and even during the making of the game Zach says, "There's no way anybody would want to play this game," and he almost stopped working on it multiple times. Upon showing it to a friend, their reaction wasn't much stronger, "Yeah, it's not bad, you may as well release it."

"It's a game I wanted to make, not to play"

Although his friend's reaction was more optimistic, neither of them predicted that the game would be as well received as it has been. What gave him the confidence to finish the game and release it was not his friend's mild encouragement, but the response he got when he told people about it. He took the game to GDC with the intention of playtesting it, but he was so disgusted with the game that he left his laptop in his hotel room, unwilling to show it to anyone. Instead, he told people about the game and the reaction was one of incredulity and positivity, "It's a game about assembly language programming!?" He knew he was onto something.

Designing an Accessible Language

Although the TIS-100 logline mentions assembly language programming, the language used in the game itself is not quite like any real assembly language. One of the main factors which Zach considers that they got right is the design of the language itself, it was designed to be friendly to non-programmers, but as it's not like any real programming language, so it's also novel for programmers. It's this balance in the language which makes the game accessible whilst also appealing to their core audience. The balance of the language design also ensures that the focus of the game is on the puzzles, not on learning the language, "If we'd made a game which was just like x86 programming then it wouldn't have been fun." For example, they designed the instruction set so that it would not allow for any binary or hexadecimal numbers, non-programmers typically don't know these things, and non-programmers do make up a significant proportion of their gaming audience.

Early Access and Audience Feedback

You would imagine that creating games which appear to be for such a focussed audience would mean that you understand that audience very well, but this isn't quite the case. Zach says that "The truth of the matter is that we don't know our audience as well as we could or should, but we did Early Access for Infinifactory and TIS-100 and that was very successful for us."

They released the game onto Steam's Early Access, but their approach to using Early Access is probably different than most. Instead of releasing a game in an early state then getting feedback from the community, they release an almost-complete game and use the feedback to polish the game. They also took this approach with their previous game, Infinifactory, and put surveys at the end of each level asking the player to rate difficulty and fun. Using this approach they identified four outlier levels, their difficulty was not right for their position in the game, so they were replaced with new levels.

The version of the game they released on early access ended after only one campaign, but they left it open so that they could add a second if needed. And this is exactly what happened. They used the player feedback to address all the issues with the main campaign, then used the feedback to design a second campaign during the four month early access period, effectively doubling the length of the game. The features in this second campaign came from asking players what they wanted to see, and combined these with their own ideas. Zach says that one of his favourite features in the game came from player feedback - the ability to make an animated gif of your factory, "We would never have had that feature if it hadn't been for early access," Zach states.


This concept of asking players what they wanted to see continued into the third expansion. This time it was dramatically different however, they were aware that just making the game longer by adding more of the same content was not going to be successful, so they asked some of their top players to suggest what they'd like to see. This took the third expansion in totally unexpected directions and the feedback from players who finished the final puzzles shows that players were enjoying the game right up to the end. This surprised Zach, he adds that players are usually bored of puzzles by the end of a game, but this was not the case for Infinifactory. Zach is aware of the dangers of listening to players of course, and he says that, "If you listen to your players in aggregate and identify not what they're asking for but rather their needs, then you can design for those needs." He adds that, "It's not a science, it's an art, but if you completely ignore your players, then you're going to have a hard time."

"If you listen to your players in aggregate and identify not what they're asking for but rather their needs, then you can design for those needs."

Signal and Noise

The biggest lesson they're learned about reaching their audience though is cutting through the noise. With so many indie games available they need to stand out, and although they don't do any marketing, Zach says that they gave the player the ability to market the game for them. He's referring to the very concept of the game, the fact that a game about assembly language programming exists is so unlikely that it creates immediate interest within a certain type of player. Making games for a specific player type is a business decision Zach says, "Making a game that appeals to everyone is not necessarily the way to be successful."

So how has TIS-100 performed? For a game that took only a few months to complete, mostly by just Zach, and was close to never being released, the game is selling at least as well as their previous game, Ironclad Tactics, and makes more money per day than Infinifactory. You could say it's exceeded all expectations.

Latest comments (2)

James Berg Games User Researcher, EA CanadaA year ago
Very cool, thanks for sharing Graham! I tried SpaceChem and enjoyed it. I *really* wanted to enjoy Ironclad Tactics, but couldn't get into it, though I don't recall now. Glad to hear they're doing well, it's a creative team for sure.
0Sign inorRegisterto rate and reply

Sign in to contribute

Need an account? Register now.