Here’s a secret: I used to harbour ambitions of being a games developer. The closest I came to realizing this ambition was in high school. Over the course of an evening, I taught myself how to use an early version of GameMaker. My first effort was a hyper-casual game that looked (and felt) like someone shoehorned Whack-a-Mole into the world of Asteroids.
Yes, it was as terrible as you can imagine. Much like my old MySpace posts, I’m eternally grateful that it has since been lost to time. In the years since, my career has taken me close to the world I once fantasized over. I’ve been a developer, a writer, a journalist, and a systems engineer. But I’ve never fully crossed the threshold.
Fast forward to 2022. I’ve decided to give this whole “make a game” thing a proper shot. My timing couldn’t be better.
An embarrassment of choices
Novice game developers are spoiled with an embarrassment of choices for languages and frameworks.
Look: I’m a writer. I know introductions should be short and snappy. By contrast, this piece has been long and ridiculously self-indulgent. And I know introductions should hint towards the conclusion without giving the game away.
So, let me recover things a bit. Here’s my one-sentence review: This book is so good, it should be the official documentation for Phaser.js. Want to find out why? Well, I guess you’ll have to read on then, won’t you?
Clear and Breezy
I read a lot of programming books. Or, more accurately, I buy a lot of programming books. One thing I’ve observed is that authors often struggle to strike the right tone.
They are either too formal (and thus, dense and hard to read) or too informal (like O’Reilly’s Head First series). They assume different things about the reader’s confidence and competence, making it hard to determine where to start off. And many lack a practical “hook.” Without a project to follow, it’s hard to incrementally develop your skills.
Technical writing is hard. Garzia translates difficult concepts with clarity and enthusiasm, and I was able to persevere through the whole book in a single sitting (admittedly, it helped that I was trapped on a transatlantic flight with no Wi-Fi access). More to the point: I was able to grok difficult concepts straight out of the gate.
Garzia does a couple of things well:
- He doesn’t get too hung up on the technology. By that, I mean game development is a fundamentally multidisciplinary process. If you’re a sole developer, you’re likely wearing multiple hats, from lead programmer to art director. With his trademark style, Garzia effortlessly explains how these roles combine, and how to do them well. For an example of this, check out his section on sprite sheets.
As the book’s title suggests, Garzia primarily focuses on roguelike-games. He justifies this by saying Phaser is uniquely well-geared towards this genre. I’d also argue this laser-like precision allowed Garzia to create a focused and relatively breezy title.
Some concepts – like turn-based gaming and procedural generation – are genre-agnostic. Garzia points out their universality where appropriate. It wouldn’t take a genius to apply the lessons from this book into other, more different projects.
I’m still looking for further reading. If you can recommend any books that can help me expand upon what I’ve learned here, feel free to leave a comment or drop me a Tweet.
(For the sake of transparency, I’ve included an Amazon affiliate link with this post. If you buy Garzia’s book from this post, I’ll get a cut.)
- Graphics glitching on your ASUS TUF Gaming F15? Here’s how to fix it
- How to mount HFS Classic drives on MacOS Catalina and later