Welcome back, Zach
Exapunks has me falling in love with Zachtronics all over again.
SpaceChem was one of my all-time favorites; and Infinifactory and TIS-100 were worthy, if somewhat experimental, follow-ups. But Shenzhen I/O was ultimately unsatisfying, and Opus Magnum was a disappointment. In my book, Zachtronics games were declining in the quality of their puzzles, and failing in their attempts to build compelling narratives.
This resulted in me taking entirely too long to start Exapunks, which might now be my new favorite programming game.
Exapunks takes the best features of TIS-100 (like a simple but versatile instruction set) and SHENZEN I/O (varied and "cool" devices/contexts) while discarding their biggest annoyances (respectively, limited instruction space and too-simple puzzles). Then it adds some radical new features of its own, chief among them the REPL instruction, which is just enough like fork() that I could fill an entire post geeking out about it. I won't, but I could.
Narratively, it learns from Opus Magnum's underwhelming storytelling, using a healthy variety of mechanics - ambient text, voice-overed cutscenes, and scene-setting background in the PDF manual - to weave its tale. Its characters actually have a little mystery to them, a little intrigue, which makes me curious to discover more about them. And the dulled-neon cyberpunk dystopia theme is definitely a winner.
Exapunks has a really fucking annoying "solitaire" minigame, just like Shenzhen I/O did. But I won a round of it and could happily live the rest of my life without playing it again.
I don't yet know where its story will take me, but I'm looking forward to it almost as much as I'm looking forward to optimally solving new distributed-computing puzzles.
Progress: Emerson's Guide