TIS-100pJan 11, 2016 · peterb · 4 minute read
Due to our long hiatus, Tea Leaves has never written about any of the Zachtronics games. Since Zachtronics made these games solely for me, under the direction of the network of orbital mind-control lasers I employ, this is a tragedy. Let’s fix that now, and give a small signal boost to their latest release, TIS-100p, an assembly langauge programming game for iPad.
Although they might chafe at my typecasting of them, I’m comfortable waving my hands and saying that Zachtronics makes puzzle games disguised as programming games. They range in difficulty from “Quite hard” to “completely impossible for normal Earthlings”. It’s been fun, as a fan, to watch them try to zero in on the difficulty level that their customers (and those who might be their customers someday) want.
On the “mankind was not meant to play this game” side of the spectrum we have one of their early Flash games, KOHCTPYKTOP: Engineer of the People, a game so unfriendly that the directions are essentially a single sentence that can be paraphrased as “Go to Wikipedia and learn electrical engineering.”
The game that really put them on my radar was SpaceChem, which was a game that purported to be about chemistry and molecular construction but then turned into a master class in concurrency programming and deadlocks. Released for Windows, Mac, Linux, Android and iPad, the game eventually bit-rotted this year, and now neither the Mac nor iPad ports work. This is pretty annoying, and I sincerely hope the same fate isn’t in store for TIS-100p. In their postmortem on Gamasutra designer Zach Barth describes their efforts, and eventually their utter and complete failure, to find the right difficulty level for SpaceChem (spoiler: only 2% of SpaceChem’s players reach the end of the game.)
2015 gave us two games from Zachtronics, the “SpaceChem but in a 3D world” Infinifactory, and the sandbox programming game TIS-100. The former game missed the mark for me, so I’m not going into detail there. But the second game? That sort of thing really is my bag, baby.
TIS-100 is a puzzle game whose conceit is that you are programming a strange multiprocessor system using a custom-made assembly language. Each puzzle can contain up to 16 CPUs; each CPU can communicate with up to 4 other adjacent CPUs using half-duplex busses, and can contain up to 15 lines of 18 characters each. Each CPU also has 1 and a half registers (“One and a half?” “Trust me, it’s complicated”). Every puzzle defines a set of inputs, and a set of outputs. You write programs to generate the correct outputs.
Obviously learning a lesson from SpaceChem, TIS-100 opens up in a slightly less constrained way as you work through the puzzles. There are 23 puzzles (and 2 sandboxes) in the base game, and solving only 19 of them will open up TIS-NET, which provides additional user-created puzzles and a few more of the game’s elliptical story beats. The game also includes a Specification Editor that lets you create your own puzzles, if you’re willing to write a little lua code. Which, if you’ve made it to this point, you clearly are.
Clocking in at a mere $7 on Steam, TIS-100 is catnip if you like this sort of game. Arguably a bit less polished, and more artificially constrained, than the Tomorrow Corporation’s similar-but-different Human Resources Machine, the retrocomputing feel of TIS-100 is, I think, a worthwhile stylistic choice and is justified on its own terms. But of course, I would think that - I’m old.
(A brief aside - what do I mean by “artificially constrained”? The lack of registers and the half-duplex nature of the CPU connections in TIS-100 mean that for many problems you are writing clever assembly language programs to work around those constraints, whereas in Human Resources Machine your cleverness is actually focused more on the actual algorithm, such as “sort this list of numbers”. I’m not prepared to say that either choice is objectively better or worse. They’re just different. But there were times, playing TIS-100, where I muttered under my breath “If I had 2 actual first-class registers, this level would have been finished 15 minutes ago.” For better or worse, the constraints in TIS-100 are an integral part of its puzzle-game nature.)
Now, we have TIS-100p for iPad. At a mere $3.99, this was an instant buy for me. It’s the same game that we see on the desktop, minus a few features, plus an awesome retro keyboard. TIS-NET is not here, and the specification editor is gone as well.
There are a few annoyances - typing numbers on the awesome retro keyboard requires chording, for example, and since there’s no GameCenter support (yet?) you miss out on the competetive aspect of “Comparing yourself to your friends and seeing which of you used fewer cycles, fewer CPUs, or fewer instructions to solve a given puzzle”. But now I can write assembly language code on my iPad while waiting at the auto repair shop, and really, isn’t that what the past 40 years of technological progress have been building up to?