Premature Evaluation: SHENZHEN I/O

Every Monday we send Brendan to the special economic zone of early access and task him with increasing the productivity of the people’s republic of videogames. This week, the brain-breaking electronics of SHENZHEN I/O [official site]. Some spoilers included.

Zach Barth of Zachtronics, who is previously responsible for games like SpaceChem and Infinifactory and who is also definitely a robot, unfurled his new electronics-em-ep this month. In SHENZHEN I/O you play an expert who emigrates to China to work for Longteng Electronics Co. Ltd. That means you’ll be building circuits, wiring microprocessors and writing bits of code for a range of increasingly unusual and complicated devices. But you’ll also be learning about your co-workers and delving into an unnerving industrial future that probably already exists.

To boil it all down, though, it is a flashier and more human take on the puzzles of TIS-100, which was dubbed by its creator as “the assembly language programming game you never asked for.” In a lot of ways, this is that game’s spiritual successor – the Dark Souls to TIS’ Demons. Once again you are twiddling with the fine details of tiny machines and once again there’s a story bubbling underneath it all. But this time it looks like something you might be able to understand. At least, that’s how it has been for me so far. It should be noted though, that I haven’t seen even half of the puzzles yet. This is because I write words for a living – words like “circumnavigate” and “banjaxed”. It takes a lot of brainspace to store these words, and even more to make up new ones, like “brainspace”. As a result, I have forgotten how to order numbers in a sequence. A delight then, that I am still very much enjoying this game.

For a start, it benefits greatly from being tied to the real world. TIS-100 often felt like you were making a machine out of algebra. But the devices of SHENZHEN feel more rooted in reality – buzzers, heat sensors, and LCD displays all feature as components in functional gadgets you are expected to design. Creating the devices is a matter of plonking microchips down on a grid and drawing wires with the mouse, then typing in the right instructions based on what’s necessary and what you can understand from the instruction manual (more on this later). As you go, more components are introduced and the tasks become more difficult. From a fake security camera which is nothing but a box with two blinking lights, to a retro videogame with a blocky LCD screen.

Importantly, and unlike TIS-100’s conundrums, there’s a reason for your works to exist, even if it is as flimsy as someone saying to you: “hey, we need a tiny device that counts points in a drinking game!” It can sometimes feel nonsensical. For example, why are you required to make a buzzer that alerts your VR-bound co-worker of his girlfriend’s arrival outside his ‘play area’? I know the sordid answer implied by the task, but I fail to see why the VR user couldn’t make use of, oh I don’t know, a doorbell.

Despite these inconsistencies, I prefer being able to imagine the devices as physical things – it seems to make the puzzles easier to comprehend. One of the projects is a device used in some sort of mining machine. You get a grid which shows how much power is to be used in certain boxes. I scratched my head until I realised it must be a wall – the ‘coalface’ at the end of a mine shaft where an automated drill has to be instructed to drill some parts of the wall with more power than others. It’s far more satisfying to work toward something you can picture in your head, rather than making abstract numbers dance in whatever way the game demands.

The story beats, likewise, are more intriguing than previous games. Your colleagues here providing some humanity between the logic puzzles. Every completed level sees a fresh burst of emails: trivia about China and its language, idle chatter, businesslike requests, suggestions or updates. One of them downloads a game of solitaire to your in-game desktop. The story unravels through these emails but also through the devices you build, which start to become more and more unconventional.

An early project sees you tasked with building an infrared sensor for “monitoring” purposes. This device has a built-in clock, with its time coded into 15 minute slices. Not much is said about where it is going to be used or how. But as you tinker away on the code and start calculating the index of the clock you realise that it’s designed to be switched on between about 11pm and 5am, and the sensor is tuned to trigger an alarm when it hits 20 degrees. What’s going on here? I’m not sure, I just designed the thing, celebrated my intelligence with a whoop, and only then noted the tone in the resultant email from my co-worker, who said we had “impressed” our clients in the defence industry.

This feels like the start of an intrigue which I still haven’t fully unveiled (because I am an idiot and it takes me about 30 minutes to an hour to complete each puzzle). But I can see darker tones shaping up, hints of your character being complicit in something that might not be 100% ethical. It’s possible we’re facing a narrative reminiscent of Papers, Please. Like your life as an Arstotzkan border guard, you are given a job to do and the means to do it. But unlike life at the customs post, you are far more likely here to get caught up in your work for work’s sake, to get absorbed in the problem-solving and the resultant feeling of reward and cleverness. Enough to perhaps overlook what your devices are really being used for. That in itself makes the game feel very crafty.

It’s a shame that characters sometimes voice their concerns too loudly and obviously in emails, ruining the subtlety of the message. After the infrared sensor device, for instance, the Chinese co-worker who tasked you with the project, Wu Lili, idly mentions that the company will now get more jobs from defence and security firms. She drops this information and signs off, saying no more about it, and this is enough to make raise your eyebrows. But immediately after she drops this suggestion, one of your US colleagues chimes in: “Hang on. We’re becoming a defense supplier?” It’s moments like this, when the message is oversold, that the story loses some of its mystery.

As for the puzzles themselves, they owe a lot to TIS-100, and anyone who clattered their keyboard to the tune of ‘MOV UP, DOWN’ will recognise the basic idea. Take some numbers, pass them through snippets of your own code, and push them to the ‘output’, whatever that is (a blinking light, a speaker, an LCD screen with patterned blocks). Except this time you also have much more control over the flow of the numbers, dragging wires from one component to another. There’s sometimes two layers to the puzzle. First: how do you place the components and wires within the limited space in such a way that they don’t ‘run into each other’. And second: what code goes into the microprocessor chips?

The first problem can often be solved with a bit of spatial reasoning or enthusiastic use of ‘bridges’ – parts which allow wires to travel directly over others. The second problem is where things get tough. If you haven’t encountered a Zachlike before, it is going to either make you fall in love or throw your computer into a canal. The game comes with an instruction manual – a PDF which the developer suggests you print out for the ‘best experience’. I don’t own a printer, which I realise is the PC gaming equivalent of being the artist at the party who says they don’t own a TV. But I doubt alt-tabbing your way to the instruction manual removes too much from the game. Anyway, however you like your instruction booklets, you’ll need to read it, both thoroughly and repetitively.

Like its monochrome predecessor, it’s necessary to learn the language of the game to crack the puzzles. This is enough in itself to put off some who may be interested in the story but who can’t face the terror of learning the difference between tiny programming commands. The manual is swimming in three-letter jargon: ‘tlt’, ‘tcp’, ‘dgt’, ‘dst’. There’s ‘mov’ and ‘jmp’ and ‘slp’ and ‘slx’. I can’t judge anybody for looking at all this and belching a firm, wholesome “NOP”. Even I bailed halfway through Zach’s previous game, unable to face the mental blockage caused by a recurrent and unfathomable coding error of my own making.

At the same time, the presentation of this language is far more intimidating than the reality. Once you get your head around moving the numbers from one place to another and proper use of the plus and minus signs (which basically let you make wee ‘if, then, else’ statements), then you’ve got the building blocks for solving many of the game’s problems. I’m probably not explaining this very well. Read the manual, yeah?

The thing to take away, apart from a subtle sense of numberdread, is this: SHENZHEN I/O is a polished and compelling puzzler. It is also a very traditional Zachlike, which is not something I consider a complaint. These games have always elicited an appropriately binary response in me. It’s one of the few subgenres which can make me feel both like a dribbling buffoon and a superhuman genius who has come to take over the world’s technology firms using drones and maths – all within the same 30 minutes. To those not afraid to tackle the manual – get yourself ready. You’re going to need some brainspace.

SHENZHEN I/O is available on Steam for £10.99/$14.99. These impressions were based on build 1386464.


  1. KDR_11k says:

    One thing that makes SZIO much easier than TIS-100 is that it has asynchronous connections, in TIS-100 everything was blocking communication which is a PITA to deal with (and didn’t even have a “data available” test AFAIK).

    Was there any way to build something in TIS-100 that just loops along and reacts to inputs by changing its behaviour? The impression I got was that you cannot have “optional” inputs, when you check for an input then you MUST receive an input or your code will stop.

    • C0llic says:

      You can sort of do it in TIS. You can assign a jmp (x) command where that number is a port number, or another value. It’s not as flexible as what you can do in shenzen, but it can be used as a halt until x value is passed command if used properly. However, I still haven’t completed TIS, so what do I know ? :)

      • KDR_11k says:

        It’s not the “halt until X” that I’m missing, it’s the “do until X”, things that keep doing work between an unknown number of inputs. So e.g. it keeps pumping out a number until it receives a new one via a different port, which it will then repeat.

        • C0llic says:

          I bet you can achieve what you want with clever use of the ‘any’ or ‘last’ port references, but that’s not something I was able to make use of myself.

    • Jekadu says:

      You could have a chain of nodes pass state in one direction, then wait for input from a node with conditionals and pass a dummy value backwards when it finished computing. I’m sure there was a more sophisticated way of doing it, but the basic concept served me well.

  2. Tiax says:

    It’s the first time ever I’ve bought a physical collector edition of a videogame, and it’s a binder.

    A glorious binder!

    link to
    link to
    link to

    • KaibaCorp says:

      That’s pretty sweet, I wish I had picked up the collector’s edition!

    • MadTinkerer says:

      While you can save money by printing out the manual and using the recommended materials, the official binder is pretty darn sweet.

      Other than the binder itself, separators for the manual sections, the business card, and the mysterious DO NOT OPEN UNTIL INSTRUCTED envelope, it literally is exactly the same content as the official PDF manual. I assume what’s in the envelope is a printed version of something that unlocks in the game with normal use, but I haven’t been instructed to open it yet, so I need to play more.

  3. KDR_11k says:

    The most development fun I had was in University with Verilog but that may just have been the simplicity of the assignments we got at university. And my current job as an enterprise programmer really took the creativity and drive to optimize and come up with clever solutions out of me…

  4. Catterbatter says:

    The early access period for TIS-100 was seven weeks of constant improvement in response to player feedback. When it left early access we got a whole second campaign of user submitted puzzles with additional story. Zach is a class act.

    • MajorLag says:

      Wait, there’s a second campaign for TIS-100? Shit. Looks like I’ll be losing more free time to fake programming than I had intended.

      The same thing was done with Infinifactory. Puzzles were changed to be easier or harder based on player feedback, then the game length was doubled with a bunch of new content.

  5. TheBloke says:

    I don’t own a printer, which I realise is the PC gaming equivalent of being the artist at the party who says they don’t own a TV.
    No, no, I think that is fin.. wait
    I doubt alt-tabbing your way to the instruction manual removes too much from the game.
    Oh Brendan. Just one monitor? Please turn in your PC Hardcore card at the front desk. They’ll print you out a Console Club Fun Sheet you can take home and colour in.

    • Brendan Caldwell says:

      I had two monitors but one of them isn’t with us anymore.

    • Skabooga says:

      I won’t judge for not having two monitors, but I will give Brendan an active kudos for not having a printer. The more experience I have with them, the more I am convinced there is some shadowy conspiracy among all the home consumer printer-making companies to produce shoddy printers that are designed to require replacement every two years, with the need to buy 8 ink cartridges that each cost half price of the printer during that period.

      The saddest things about leaving my current position will be that I no longer will have access to one of those huge office-style printer-scanner machines.

  6. Hobbes says:

    Shenzhen I/O is evil (brilliant), hateful (wonderful), vile (amazing), and causes me to stare at microchips long into the night (addiction is a sin, a filthy sin). Zach has carved out a niche in the puzzle gaming space for people who love technical problems but don’t want all the hassle of dealing with the realms of stupid that come with customer facing support.

    It’s a nightmare (wonderful thing).

  7. dsch says:

    Hm, it says “I am very foolish” next to “RPS Feature” at the top.

  8. aircool says:

    Longwang Electronics would have been better.

  9. GunnerMcCaffrey says:

    I’m not clear on whether the focus is exclusively on code, or whether you have to manage voltage and current as well. The electronics theme suggests you’re building circuits, but this write-up, and the screenies, imply that doesn’t go any farther than a spatial puzzle.

    It still sounds like fun, but a true Electronics Dark Souls would expect you to memorize resistor colour codes.

    • MadTinkerer says:

      You have two kinds of I/O: digital and analog. You can’t connect digital to analog or vice versa, but you can convert them using maths. The puzzles are primarily about outputting the correct signals in the correct format.

      The soldering is kind of implied, so it’s not quite on the “scale” of Robot Odyssey or other games that involve microarchitecture, but instead there’s a whole bunch of programmable prefab components to make practical gadgets with. If you really want resistors, I suppose there’s always real-life electronics kits?

    • Kitsunin says:

      You’re pretty much right. It’s just a limited set of tools to allow you to create (or convert inputs into) the proper numerical outputs. It encourages you to optimize to save money (use fewer modules to accomplish the task) and power (use fewer lines of code to accomplish the task). It’s not even a spatial puzzle really, the limited space mostly acts as an upper limit on the cost of the solution, from what I’ve seen.

  10. Unsheep says:

    I’ve been following Scott Manley’s gameplay of it on his channel. It looks interesting, on the surface it’s like an Arduino simulation, which it is in some respects, but as you write in the article there’s something else going on as well.

    Seems like a cool game, I just hope it reached GOG as well once it’s finally complete, he released TIS-100 on GOG after all. This developer makes some very unusual game.

  11. gwathdring says:

    This one ends up being a little too much like my actual work. :P But I’m a big fan of Zachitronics so far.

  12. lglethal says:

    Hey Brendan quick question – This is still in Early Access, right? So what is missing in this release compared to what will be the release version? Is the game story all there or it’s just in bug fix mode?

    Very tempting, but I don’t like to buy in EA, as I like the full experience, not half the game now, and half in X months/years…

  13. scaresnake says:

    Well, Brendan left out the most fun bit of Zachlikes in his description: The optimization….this is really where the fun begins! The puzzles in itself are not so hard, but it can be hard to solve them (almost) optimally.
    To achieve a slightly better solution feels soooo rewarding.

    This game is really, really good.

  14. Banks says:

    I still haven’t had the time to properly play this but I’ve read the manual and my brain already hurts so… yeah, good times ahead.

  15. corinoco says:

    I really enjoyed Zachs earlier game about an Eastern Bloc chip foundry reproducing decadent western microchips like 7-series TTL inverters. I always wanted an iOS version of that one! I never finished it, I think I got up to a 4-bit memory chip, and I refused to cheat by looking up answers.

  16. invitro says:

    I got this game on its first day; it’s the first Early Access game I’ve ever bought. Steam says I have 74 hours, I’ve probably left it running overnight a few times so that’s high, but I’ve played it a lot, and thought I should add a couple of things. I haven’t read the discussion with Zach on Steam/reddit yet, but he’s already implemented the two changes I most wanted: a way to add notes to a design (I had been keeping a separate text file with notes, ugh), and a part that makes sound (several puzzles ask you to generate sounds, but you can’t hear them, they’re just numbers. You should be able to hear them!) that I haven’t tried yet.

    I think I’ve played through most of it? I’m on “IMPORTANT – the big one!”, and also haven’t completed “Would you believe it?”. I find the game pretty hard… my solutions for the last few puzzles have been way too high in power and/or cost.

    The emails from your co-workers are really on point. They usually have some gentle/subtle ribbing of various corporate/Chinese/American types… the one from the PR woman who’s SO ANGRY that Americans think China is communist is priceless. I think it’s funny that a cheap puzzle game has better writing than virtually every expensive story game.

    I’m hooked on the solitaire game. It’s easy once you learn it, so I’m trying for most wins in a row, eight is my best. I’ve even started writing a program to solve it, as I’m very interested to know what percent of the possible starting positions are solvable (I don’t think it’s 100%!).

    I’m about ready to reverse engineer the PGA33X6 part. This is a part that is shown in the manual, but with Japanese instructions/description. You get it mid-game, with no documentation… it looks powerful but you have to figure out how it works yourself.

    I haven’t found any Easter eggs or hidden thingies, but at least one hidden puzzle is there (it’s a Steam achievement now).

    SHENZHEN I/O is a wonderful expansion of TIS-100. It’s my second favorite game of 2016 so far, after The Witness.

    I want to add kudos for a terrific review. Not every RPS review is super-helpful, many of them try mainly to be cute and memey without really describing the game, but this one is. Many bonus kudos for including screenshots that Brendan actually made himself, instead of only copying the ones that are in the press kit, which is what RPS usually does :(. Cheers RPS and Zachtronics fans!

  17. bonuswavepilot says:

    Am loving this – 33 hours in and still plenty to go… (My principal joy in Zachtronics games is coding clever things with no deadline, so I do tend to take my time).

    Also, I think the story accompanying the VR-buzzer thing says that his girlfriend has just moved in with him, or is about to.

  18. Carra says:

    “It’s one of the few subgenres which can make me feel both like a dribbling buffoon and a superhuman genius who has come to take over the world’s technology firms using drones and maths – all within the same 30 minutes. ”

    That’s one of the great things about these puzzle games. When finishing one of the harder Spacechem puzzles I was very happy to have found a solution: I’m a genius! And then you see how efficient other peoples solutions are and you’re back on your feet.