Take a hacker plot that mixes up Hackers, The Matrix, Johnny Mnemonic, The Cuckoo’s Egg and Neuromancer. Add a little 2600 Magazine and Captain Crunch. Mix in the standard Zachtronics programming puzzles you already know from SpaceChem, TIS-100 and Shenzen I/O. And now you’ve got Exapunks all over you.
If you have played any of the other Zachtronics games (aside from Eliza), then you already know what you’re going to be doing here. Learning techniques to solve programming puzzles (graphically in SpaceChem; using pseudocode in the other games), and then fearlessly optimizing your solution in order to make a good showing on the leaderboards.
In the world of Exapunks, almost all digital communication is done through small nano-machines called “Exas”. The Exas are too small to do extensive computation, and each can only perform a very few instructions. However, they can do network traversal and basic file I/O as native commands, and they can communicate easily with external devices and with each other, making them an unusual hybrid of RISC processor and software agent.
Exas are represented in the game as little virus-like bots that skitter through the network of devices represented as grids with stylized files and data ports. In the example above, we were asked to hack a highway display sign to display arbitrary messages. I chose to solve it by having one Exa read the file containing the desired message, and another receiving this data, formatting it for display, and sending it to the sign.
This screen, displayed after a hundred test runs, shows that my solution was entirely average. This isn’t surprising; it’s still an early puzzle.
Cycles are the number of clock cycles it took, on average, to complete the task. Size is the total number of instructions among all Exas. Activity is the number of network traversals. It’s possible to improve on these separately; for instance, by unrolling the loops in each Exa to decrease the number of cycles while vastly inflating the size. Or, we might just use one Exa that brings the file to the highway sign, copies it to the sign, then brings it back to its origin before exiting (since we must leave things as we find them; “leave no trace” is the ethos here). This would reduce the size, at a likely cost of cycles and activity.
As in many of Zachtronics’ previous games, Exapunks wants you to print out the reference manual, here in the form of a ‘zine called Trash World News, which mixes hacker cred with a description of the Exa instruction set and a walkthrough for the first few puzzles. Pictured above is my own hax0rz setup 🙂
If you’ve played any of their other games, you know what you’re in for. If you haven’t, but just have some bizarre yearning for the days when microcomputers meant assembly language, this is definitely for you. If you’re interested in a gamelike exploration of the creation of software agents, this might also be for you. Puzzle gamers will find a lot to like here as well.
It’s a niche game for a niche audience. If you have never programmed, Zachtronics games are a decent introduction to the basics; there’s never too many things to learn, unlike modern programming.
I always get a certain way into these games but give up at the most difficult problems. I think I’m going to try to finish this one, so I’ll write more about it then.
I own a few Zachtronics games, including Exapunks, but haven’t gotten around to playing any of them (apart from SpaceChem) just because of the sheer time that it takes me to get into those systems and stuff… and also other games and other stuff comes up all the time. I loved SpaceChem to bits, especially as it had this great soundtrack, lovely puzzles, and a story even, which I loved.
But then again, I’ve been meaning to get into more of the puzzle games I own but haven’t played yet in 2021, so looking forward to that 😀
Great post overall. Looking forward to reading more about it. 🙂
I consider puzzle games, like Exapunks, to not count against my more serious games 🙂 I don’t feel like I’m on a timeline.
They’re just fun little brain twisters; once you know the trick for each puzzle, they’re not bad. SpaceChem is definitely a gem!