A personal review of Zach-like the book
This was the first book I ever bought on Twitter. The book had a kickstarter that I missed but thankfully Zachtronics had been spamming my feed saying there are more books available and I honestly feel really fortunate to have a book like this in my library.
If you’re reading this, I’d imagine you have played or at least heard of at least one Zachtronics game. Generally, they’re what can broadly be referred to as programming games. My experience with most programming games in the past has been something like a kids game trying to teach introductory programming but the Zachtronics games demand a lot more from me and offer a deeper kind of immersion.
Whether you’re hacking gameboys or creating new materials, Zachtronics games focus on the cool parts of hacking or in other words the parts that would have gotten the teenager version of yourself all fired up.
Part of the reason I was so excited about this journal is that over time I’ve come to believe that to understand how creative people work and learn from them, you need to read their journals. For various reasons, journals are often private so we the public only have access to things like talks, tweets and various summaries that end up feeling more like one dimensional and highly situational advice.
From his early years, you can see Zach’s simultaneous interest in computers and video games. I’ve always theorized that video games are why most people get into programming in the first place but then life happens and they get bogged down building accounting software. However, being engaged especially over the course of many years will help you learn so much that a job will always be an easy find and you’ll have a way to work independently on stuff that you care about. From learning how assembly languages work to prototyping VR headsets.
While it didn’t take long for Zach to make games like EXAPUNKS or Opus Magnum, you can see that he was thinking about programming games from a very early age so he very much fits the profile of an overnight success ten years in the making.
Building games is a fundamentally multidisciplinary experience and humans are fundamentally wired to do different things. But people specialize and as a result, lose the need to be curious even though curiosity can be a powerful force to help them do fulfilling work. The team built their own typeface, a more open-ended version of DnD, a physical room scale board game experience. Zachtronics wasn’t a solo endeavor but I’ll bet there aren’t too many things that Zach isn’t interested in.
My favorite pages from the book are the ones below where he was trying to make a game inspired by biological processes, electric circuits, and computer networking. To me, the reason this is so impressive is that a lot of people try to acquire scientific knowledge with the goal of applying it to their work. Instead, Zach’s approach is more like trying to make your personal interests marketable. But this isn’t inherently easy. For the most part, when you look at video games they fit into a clearly defined genre with some famous games representing those genres
- DOTA -> MOBA
- Counter Strike -> FPS
- Fortnite/PUBG -> Battle Royale
And as much as I love some of those games they are fairly artificial constructs but the Zachtronics games even though they fit under the “programming” genre kind of evade a rigid characterization since the experience playing those games are fairly different
- EXAPUNKS -> 90s hacker
- Opus Magnum -> New alchemist
- SHENZHEN I/O -> Software dev at a large company
Games are an interactive medium and this medium can be used to interact with anything be it shooting people to farming to being a low-level manager at a large company. The challenge isn’t finding activities that are fun but more how to create a user experience that makes whatever activity you’re interacting with interesting. To be successful at this you need to be naturally curious to find new untouched game ideas, put on your UX hat and figure out how to best represent a new experience on a screen or VR headset and finally how to make that experience “fun”.
I used to think that programming APIs was fundamentally a functional task of best understanding a problem domain but the Zachtronics games also add a lot of flavor to the documentation and specific function calls to better immerse you in the world that you’re interacting with.
And in some sense, a programming language is the ultimate interface, it has a high learning curve but it rewards you with an infinite amount of options and it turns gaming from a passive experience where you consume someone else’s ideas to an active experience where you are creating your own experiences.
And it really helps to just sit down and write down a shit ton of ideas and make a shit ton of games and experiences and languages. In life, you learn mostly from feedback loops and man did the team optimize for feedback loops. There is an immense amount of pages in the book that look like the below which add a simple structure to the creative process and makes documenting ideas scalable. In fact, I don’t believe this book would have existed had Zach not worked at Visio.
I wish I could summarize everything I learned about Zachtronics, programming, games and even myself from this book but I genuinely can’t. The book is 400 pages of authentic and raw ideas that I believe any programmer or designer owe themselves to flip through.