I got into Zachtronics‘s latest release, EXAPUNKS, the same way I get into all Zachtronics games: Learning about it way after everyone else by seeing emails or Twitter messages about release dates and special editions, buying one of those special editions on the promise of cool manuals and physical goodies, and then promising myself that maybe this time I’ll actually see one of them through to conclusion. Poor return on investment for the third bit so far, but maybe this time! It could happen.
Now, last time I reviewed a Zachtronics game (Opus Magnum, which I reviewed here), the review turned into a sort of distributed reference block about which other Zachtronics games that one pulled from most and least. Which is fine, in a sense, they are all similar. But I realized after the fact that a review like that won’t be very valuable for someone who’s not already way into Zachtronics games: Saying ‘just read these review and play these games if you want to understand this one’ isn’t exactly accessible. So for EXAPUNKS, I’m going back to the normal ‘full’ treatment: Early-game impressions, options menus, the works. If you’ve got no idea what this game is like or what the deal is with this publisher, I should hopefully have you covered.
And if you are already a Zachtronics expert, no worries! I’m sure my subconscious will sneak in more than enough references to other games anyway.
(Spoiler levels: Narrative, low. Mechanical, medium to high, depending on how well you read the screenshots.)
(Game source: Bought it myself.)
Two days before EXAPUNKS proper releases, my ‘special edition’ copy arrives in the mail. It contains three things, none of which are the game: A small sealed envelope, marked ‘only to be opened when the game tells you’, a large sealed envelope, similarly marked, and a small magazine. Sorry, ‘zine. I leaf through it, learning some fascinating things. For instance: It’s the late 1990’s! All digital technology is run by EXecutive Agents, or ‘EXAs’, which look like small spider robots. The modem is still the height of technology, but that’s okay, because we’ve made some sweet networks with them. Most of the ‘zine is filled with explorations of various types of network architecture: This is what a bank network looks like, this is a copy shop network, this is probably the network of your local pizza place. There are also ads for various products that will never have existed, reader letters, a write-up of ‘the phage’, a disease that turns human body parts into computer architecture, and a recipe for broiled donuts. All in all, a good investment.
Fast-forward two days later…
I start EXAPUNKS by looking at a pretty cool-person room. It’s got books, it’s got hardware, it’s got a view of a cyberpunk dystopia. It also has a small control unit on the side, where I can set various options: Display style, network options, sound levels, and my ever-so-important hacker screen name.
I mess around for a bit, but obviously the centerpiece of the room is the ‘SAWAYAMA 27 TurboLance’. Hopefully, clicking on that should take me to the game proper.
As far as I can tell, there’s only one button I can click in my Axiom Personal Organizer: The Play Cutscene button that underscores the MEETING WITH NIVAS item. To my somewhat-surprise, this takes me to an actual cutscene. Like, it’s stationary art, VN-style, but still! Visual narrative storytelling in a Zachtronics games! I never thought I’d see the day. It even has voice acting! Actually decent voice acting!
I chat with Nivas, who I as the player don’t know — but then, I as the player don’t know my own character either. The gist of the chat is this: Remember that disease I mentioned from the ‘zine? The phage, that turns human bodies into computer parts? Yeah, turns out I have that. There’s medication, but that’s expensive. There’s bootleg medication, but that’s still expensive. Either way it won’t cure me, but without it, I can’t really hope to make it to the end of this review before keeling over from, like, terminal transistor lung or something. Oh, and the going rate is $700 per dose. To be taken daily.
Clearly, I know what I should do.
The ‘zine describes an operation called Workhouse, which is basically Cyberpunk Amazon Mechanical Turk: People do simple tasks for way too little money. The ‘zine article is pretty dismissive of the whole concept, and describes the operation’s network architecture in some detail. This might seem like an obvious lead-in to me hacking that network, to scam some easy money out of capitalist hands.
Instead, what transpires is that I’m apparently just going to do the work.
Over the course of about a minute, I carefully transcribe several outlandish-sounding products and prices into the system. I check and double-check just to make sure, then hit the Submit button. The system verifies my answers, finds them correct — hold on, if it can do that why do I have to enter things? — and for my efforts, pays me…
Wow! A whole ten cents!
Wait, hold on. A mysterious spooky face just appeared on my screen. They, or she — a female-sounding voice delivers this character’s lines — mocks me for doing Workhouse work. ‘Only 6999 more and you have enough for today’s dose,’ they say, demonstrating a keen awareness of my situation. And, let me do the math real quick… If I do one of these per minute, I’ll have to work almost five full days — 24 uninterrupted hours — to make enough money. A sustainable plan, this is not. I can make one dose per 24 hours if I keep my entry time around 12 seconds.
Ember, for that is this character’s name, offers me a different deal. I need to start hacking again.
A few more story beats happen, including the delivery of a certain ‘zine to my character’s hands.
But that’s not what you want to see, is it? You want to see me hack. Me too, pals, me too.
So, skipping ahead a small number of beats:
Well, this is interesting. ‘Hacking’ looks a lot like an isometric top-down view of an interconnected series of squares, populated by one small spider droid. Which is not uncommon, honestly, the whole setup is giving me mild Mega Man Battle Network vibes. Maybe I’ll get to get into a swordfight later.
For now, EXAPUNKS‘ tutorial mission is serving two purposes: To teach me to hack, and to reinforce how important the ‘zine is to general gameplay. Which is to say, the actual tutorial is in the ‘zine. Without it, there’s no practical way to beat this — I suppose I could guess at how everything works, but come on.
The long and the short is this: The tiny robot, the yellow thing with XA over its head? That’s an EXA. It’s one of my EXAs, to be exact. Currently it exists in ‘my’ ‘host’, which I understand means that it’s inside my computer. But there’s a ‘link’ between my host and the ‘inbox’ host, which means a connection exists between the two computers. The graphic of that link specifically suggests that I dialed into someone else’s computer; a link later on, between ‘inbox’ and ‘outbox’, looks more like a solid cable.
My mission, should I choose to accept it, is to program this EXA such that it moves into the other computer’s inbox, grabs the file that’s there, takes it to the outbox, drops that file, and then stops working — I should ‘leave no trace’ of my activity, even if that activity isn’t any more suspicious than a basic email handler. Luckily, the ‘zine teaches me the necessary steps, and by ‘teaches’ I means ‘flat-out provides an answer’. I type my code into the XA window on the left:
I click through the program step-by-step. It moves, it grabs, it moves… I click the play button, and the correct scenario plays itself out over and over. Then I click the fast-forward button, and in rapid pace one hundred iterations of the same puzzle are solved. Haha, I did it right! Hacking master: Me. Let’s just see how correct I was…
Immediately, I feel that familiar Zachtronics pang of ‘I could be better’. And hey, doesn’t any EXA that runs out of lines of code automatically self-destruct? I would have had to add a HALT to the end of the code otherwise. But if the EXA self-destructs, why am I wasting a line of code telling it to drop a file that will get dropped automatically?
Puzzle two introduces the concepts of file operations, variable values, registers, and math. My task: To take a file with four numbers, add the first two together, multiply by the third, subtract the fourth from that, and append the resulting value to the end of the file. And then move that file to the outbox. So if the first four values are 72, 52, 4, and 60, the final result is… hold on.
The third and fourth tutorials… Listen, I could keep giving you the blow-by-blow, but this is honestly not that interesting. Let’s just say the third tutorial teaches me to code multiple EXAs at once, and to have them talk to each other. And the fourth introduces the venerable IF-loop, which not even EXAs can do without. At the end of the four, I feel reasonably equipped to tackle a real problem; I know I haven’t seen or used a significant fraction of the keywords yet, since I can see a list of those in the ‘zine, but we’ll get to those when we get to those.
For my first real mission, Ember tasks me to… hack into a pizza place and get myself a free pizza. Yeah, for real. My own character points out the absurdity of getting $700 worth of medicine for hacking pizza, so we don’t have to.
Practically, the problem is this: The pizza place keeps their orders in one file, which is in the host I directly connect to. In my host, there’s a file with five keywords, which in the order provided form a valid order. I have to append those keywords to the end of that file, then ‘leave no trace’. This would be easy if I could tell EXAs to write their own strings, but they can’t: They can only copy what already exists. So for my solution…
Let’s have one EXA move into the host, grab the order file, and move the pointer to the back of that file. Let’s have another EXA stay in my host and grab the name file. The EXA that stays back can copy the string values into the communication ‘M’ register, and the EXA that moves out can grab those values and copy them into the file. And then they both end operations and disappear! Easy as that.
Another cutscene happens, which means another character comes to visit. It’s Nivas again! They’re delivering my free pizza today, which comes with cheese, anchovies, and $700 worth of anti-phage medicine. They do not seem surprised by this.
More interesting than this, though, is that clearing this puzzle opened up two more. I can either hack a snack production facility so it makes ‘Peanut Blast’ candy bars with no peanuts — Ember thinks this will be funny, and I’m inclined to think she’s right — or I can hack my… own right arm. Since it has computer equipment in it now, because of the phage, I can hack into it and use EXAs to take over the functions that that same phage is destroying.
Both puzzles are interesting, honestly. And there are a dozen more network types in the ‘zine, each with potential interesting applications. Maybe I’ll eventually hack… them all?