I have a story to tell about Shenzhen I/O, latest in Zachtronics‘s stable of iterative puzzle games based on modern engineering work. I was vaguely aware of the game’s development thanks to a timely mailing list, but the volume of email I get on a daily basis — not even specifically Ninja Blues-related email, just in general — means I don’t always read everything equally accurately. I was aware of Shenzhen I/O ‘being in development’, but for the longest time, that was about it.
That changed about six weeks ago, when I (on a whim) decided to read one of those emails more closely. In it, Zachtronics talked about a second and final ‘print run’ of the Shenzhen I/O ‘limited edition’. One of Shenzhen I/O‘s selling gimmicks is its reliance on a printed ‘reference manual’: the game is about circuit board design (I think), and part of the experience is supposed to be having a manual nearby where you can look up game commands and the like. In this age of Steam, obviously that manual is primarily delivered online, to print out (and bind in a folder or something) if you want. But the Shenzhen I/O limited edition had what I considered a strong selling point: a pre-printed, pre-bound physical manual, everything needed to play the game and some extra goodies to boot, to be delivered to your house around when the game would go live on Steam. A pricey €52 investment to be sure, but it looked cool and fancy, so I clicked over to the limited edition order page to see what the stocks were like.
I got the last one. I swear I’m not kidding on this. The website made it very clear that of this second-and-final limited edition run, only one version was left. Just as I landed there. So those were an intense ten minutes of agonized thinking and cash-counting, lemme tell you.
The manual binder hit my local delivery station about three weeks ago, just as the game keys were Humble’d out. Which makes this not exactly a day-one review, but there are two reasons for that. First, Shenzhen I/O is technically still in Steam Early Access, at time of writing. If they’re feeling comfortable enough about it to print manuals and ship goodies around, I feel comfortable reviewing it as a proper product, but it’s a factor nonetheless. And second… well, you’ll probably figure out the second part by reading this review.
(Spoiler levels: Narrative, low. Mechanical, somewhat high if you look at the screenshot.)
(Game source: Bought it myself.)
You probably want to see the binder first. I paid about €35 extra for this limited physical edition. Was it worth it?
Not gonna lie: this is pretty much the sort of stuff I was hoping for. The binder itself is a nice, sturdy red plastic 23-ring-type emblazoned with ‘Shenzhen Longteng’ logos. It’s not the biggest or sturdiest binder I’ve ever used, but it looks like decent quality. Something I might use for other purposes later, after this game has come and gone. And then when people ask about the Shenzhen logo, I can take a long drag off a cigarette, stare into the middle distance, and mutter “I haven’t heard that name in years…” That would require me to pick up smoking first, but maybe I can start carrying some novelty cigarettes.
Inside, the binder reveals its real treasures. The bulk of it is made up of four tabbed layers of instruction sheets. ‘Application Notes’, ‘Language Reference’, ‘Parts Datasheets’, and ‘Supplemental Data’. A small plastic reference sheet is layered on top. This, I suspect, is the actual manual part of the manual, and the stuff you’ll also get (in PDF format) from buying the actual game. But extra treasures are seen on the left side of the binder. I find one letter of employment acceptance, and one empty employment contract, which I fill out. You never know. Paperclipped to the letter is a Shenzhen Longteng business card of immaculate business card quality. And tucked into a side folder is easily the most exciting thing: a plain-looking envelop, with printed on the front “DO NOT OPEN UNTIL INSTRUCTED”. A wax seal closes the back. People who follow me on Twitter may already know how much I love games like Pandemic Legacy for this sort of permanent, surprising unlockables. And in one fell stroke, I think Shenzhen IO has just ensured that I’ll be playing it for a while.
“Jarenth, are you just bragging about your fancy purchase?” Er, yes, obviously. But remember, even without a limited edition, any Shenzhen IO player will at least get the manual’s contents. And these are nice and interesting too. Like so:
Broadly, the manual is divided into four parts. ‘Application Notes’ talks about the underlying mechanical metaphors of Shenzhen IO‘s circuit board-based gameplay. If you’ve ever wanted to learn the operational difference between ‘simple I/O pins’ and ‘XBus connectors’, this is your section. ‘Language Reference’ explains a proprietary programming language. ‘Parts Datasheet’ goes into detail for some devices I can use, like the one shown above. And finally, ‘Supplemental Data’ is… just that, I guess. An overview of weird, seemingly unconnected data. One page contains an overview of creepy sound bites. One page has the different ranges and behaviours for a carbine range finder. One page is an overview of meats. One page is written almost entirely in what I assume to be Mandarin.
It’s a good manual. I like this manual. I will keep it on my desk and reference it often, I think. But a manual is only a partial experience without a game to go with it. So maybe it’s time I get into the software proper…
“I became an engineer because I wanted to make things.”
Shenzhen IO‘s intro is… initially not that interesting. ‘I wanted to become an engineer, but I was told we don’t do that anymore in that country. So, I moved to China.’ A grimmer person than I might read it as a tiny diatribe against the state of American engineering education. But it only lasts for a few slides, and is quickly forgotten when something cool happens.
This neat main screen borrows enough from establishes OS design procedures to be pretty easy on the uptake. Okay, so I’m looking at a desktop, right? For my Concept Operating Systems PC. I’ve got an email app, a datasheets app, and a control panel app. And… I guess the image in the background is supposed to be a webcam view? For the city of Shenzhen, Huaqiangbei District. Heavy rainfall weather, balmy 19 degrees, poor air quality, and ‘heavy drone activity’ — put there, I suspect, to make it immediate that I’n not in present-day Kansas anymore.
I try the desktop apps from right to left. The Control Panel app is the options menu. It’s, er, functional.
The Datasheets app… can you guess? It’s the manual. It opens a PDF version of the manual, for handy side-keeping or for printing — the latter is explicitly recommended, and an instruction is included of how to organize the stack of printed manual sheets into a binder to get your own fancy manual. Obviously, you-the-reader won’t need that overview, because I’ve already shown you what the inside is like. See, and you thought I was just bragging.
That just leaves the conceptMAIL app. By process of elimination, that must be where the actual gameplay is hiding.
I have three emails. The first is a chain of ‘welcome to the company, rookie’ messages: from the company president Wang, Carl, Joe, Lili, David, and my new boss Jie. Nice to meet y’all, I suppose, although I have no way of replying or interacting. The second email reinforces that I should read the manual; apparently, my maligned predecessor didn’t, and that’s the reason why they’re both maligned and my predecessor. “You really, really, really, really really want to read the manual here.” Way ahead of you, email.
The third email is my first job. An obvious training assignment: I have to create a mock security camera. I’d complain that this sort of test is beneath someone of my skill, if I had any skill in this field.
“Objective: create a working design for this product.” The bottom-right button, ‘Open In Concept CAD’, was greyed out in the last two mails, but is lit up now. I click it.
Okay. The bad news is, I have no idea what I’m looking at, or what I’m supposed to be doing here. The good news is, I have this fancy manual…
Through a combination of the manual, the email, and my own (light) programming background, I work out what’s going on here. The large center area is where all the action is. The lighter hatched areas specifically represent the hardware area I’m working in: the parts of the security camera I can stuff electronics in. Both ‘halves’ of the camera have a named circle: these are input/output pins. The top half also has a little circuit board, which has been dragged in from the list on the right. A green wire connects ‘p0’ on the board to the ‘Active’ pin.
On the bottom, there are two tabs. The ‘information’ tab gives me broad-strokes information; I need to reproduce some pattern or another. The ‘verification’ tab actually provides the beans: here I can see which outputs are actually expected of me, on either pin. And with the buttons to the left of that, I can check to see how far I am already.
The gist of the game is this: the circuit boards I place accept up to nine lines of a simple Assembly-style programming language. So, for instance, ‘mov 0 p0’ means ‘output the numerical value 0 on the pin labeled p0’, and ‘slp 1’ means ‘do nothing for one time unit’. The top board’s program works out to a simple pulsing signal: the output value is set to 0, then the board ‘sleeps’ for 6 time units — important, because the manual makes clear that boards can otherwise execute basically infinity commands in a single second. Then 100 is output to p0, the board sleeps another 6, and then the program automatically loops. The resulting output exactly matches what’s expected of the ‘active’ verification pin. My job, should I choose to accept it, is to build a circuit board in the bottom half that creates a slightly more complicated pattern: four units of 0, two units of 100, one unit of 0, one unit of 100.
Using the buttons on the bottom left, I can check the program at various speeds. ‘Step’ moves the program through one line of code at a time. ‘Advance’ seems to move through one single time unit at a time. And ‘Simulate’ runs the program indefinitely. This is apparently the way to actually ‘win’: four complete test runs must be completed for the program to be considered acceptable.
Then I get to see how well I did!
I feel this is sort of a common feature in Zachtronics’ games at this point. On the end-of-assignment screen, I get to see how I performed. Both absolutely, in terms of money spent (all components placed on the board cost money) and power consumed (every line of code executed costs one power), and relatively — I see my place in the normal distribution of possible answers, and can compare myself directly to any Steam friends that also play. Looks like I am equally skilled to Dr. Labcoat. For now.
When I return to the conceptMAIL app, new emails roll in. One is another narrative ‘welcome, new employees’ email. One is a second assignment. And one is… an invitation to play a strange adaptation of solitaire, I guess?
My second assignment is to recreate an old signal-amplifying device that was smashed (don’t worry about it). This device has two different pins: one that serves as ‘input’, and one that serves as ‘output’. My task is to multiply the input signal by 2 and then output it again. Seems simple enough.
‘A good way for you to learn about inputs’, the boss called it, and I’m inclined to agree. But now that I’ve mastered this to perfe-
Oh. That’s the way you want to play it, huh, Dr. Labcoat. Well, fine. I didn’t want to do this so quickly: I was just gonna follow the tutorial prompts and lessons, as given, like a nice reviewer. But if you’re going to passively humiliate me on my own website?
And oh, what’s the next mission? A simple input-driven pulse generator? I’m sure that that won’t be a problem for my mighty intellect, either.
Okay, not my greatest work. But I have another idea already. Maybe if I…
I can tell the difficulty level of these assignments is already starting to rise. Assignment 4 is to animate a ‘simple’ neon ad board, and look at the hoops I have to jump through to get that to work! Code-wise, but also physics-wise — it turns out you can’t fit infinite circuit boards into a single device.
It’s not just the assignments, too. I start getting more tools to play with. Like a larger circuit board, with six exits and sixteen lines of code. And a wire bridge for overlapping constructions. And an XBus-to-simple-pin convertor. And I can see in the manual that all that’s just the tip of the iceberg.
I’m definitely intrigued by Shenzhen I/O so far, so I can see myself playing this for a while. But will I be able to stay on top of changing developments? Will I be able to handle the increasingly tough assignments? And will I be able to match, or outpace, my lab-coated performance nemesis? Turn to the next page to find out!