Leaving on a Jet Plane – Shenzhen I/O
So, here’s something different, a game review! (This was originally written in October 2016, but I’m really the worst blogger ever.)
Shenzhen I/O is the latest puzzle game from Zachtronics, and in it you play a newly-minted Electrical Engineer, fresh out of school, and faced with the reality that we make all of jack and shit in this country. (So apparently not much changes between now and 2026…) And so you get a job with a company in Shenzhen, and are off to China! I’d previously played TIS-100 which was a puzzle game about programming in assembly– because I am exactly that kind of nerd –and enjoyed it immensely. Shenzhen I/O builds upon that formula by adding hardware design…needless to say that just makes me that much more into the game.
You are employed by Shenzhen Longteng Electronics Co. Ltd. as an ‘Embedded Systems Engineer’, and as the game progresses, you will be tasked with designing products based on customer specifications using the components you have available to you. There is an overall story that begins to unfold as you play.
Now, I really like Zachtronics games, but I don’t particularly follow indie game news or anything, which makes me really sad in this case, because the Special Edition of Shenzhen I/O is nothing short of brilliant, and I wish I’d been able to preorder it!
The manual itself starts with some printed emails from your recruiter, and your People’s Republic of China immigration form, but the majority of it consists of in-universe technical documents. You have your language reference for the MC4000 and MC6000 series microcontrollers from Chengshang Micro, datasheets for the various other components, including a mystery one that’s entirely in Chinese… There’s also supplementary information and specification documents provided for specific puzzles.
It’s the little things that really make this game truly great, more so than the fact that it is doing a fantastic job catering to a very specific itch… Little things like the fact that the datasheets from the different manufacturers are formatted and styled differently, or the fact that the background of the game’s central screen– the home screen of some sort of tablet computer –is an illustration that is supposed to be a live camera view of the Huaqiangbei District of Shenzhen, and it’s overlaid with today’s ‘weather’ report. (Including temperature, air quality, and drone activity.) The game even hides some secrets, like undocumented instructions for the microcontrollers! And the characters’ email ‘interactions’ with you do a fantastic job of subtly-yet-effectively conveying the distinct personalities of the characters…
The characters themselves also feel very real, you get a lot of “Ah, so he’s ‘that guy’.” vibes from them, and I like that. I don’t mean that in a ‘character trope’ sort of way either, but in a general ‘Ah, yeah, I know the type…’ sort of way. (Like the white guy who introduces himself with the ‘Chinese spelling’ of his name– and I mean, come on, his name is David –and randomly inserts Chinese phrases into every conversation.)
There are a few negatives, the one that sticks out most in my mind is the really artificial nature of the limitations… It seems like liberties were taken with both the hardware and coding aspects of the game simply to make the puzzles challenging through intentionally unrealistic limitations. I think it would have been far more interesting if we were given MCUs based on real-world devices, and then the limitations were more pragmatic concerns like fitting the program in the amount of memory available on the MCU you chose, and making sure the size, cost, and power consumption meet the customer’s specifications.
The only other one really worth mentioning– and others have brought it up on the Steam forums –is the ranking histograms when you complete a puzzle… A lot of the time you’ll see that there are people who had solutions that beat yours, but there’s no way of knowing if they did it with the parts available when you first get that puzzle, or if they came back later and did it with better ones. The consensus seems to be splitting it into ‘Restricted’ and ‘Open’ rankings for each puzzle, which would be the ideal solution.
Honestly, I feel kind of silly even mentioning that first concern given that if I really wanted to do stuff like this but with ‘realistic parts’ I could literally cross the room and faff about with hundreds of dollars worth of AVR and Launchpad/Stellaris based dev boards… But I guess the problem is that there’s no one presenting me with puzzles to solve, and since I don’t just have a handy-dandy logic analyzer and signal generator like in Shenzhen I/O to debug/verify with– but if wishing made it so… –maybe it’s not entirely that silly after all… But still, it’s a rather pointless nitpick of an otherwise-amazing game.