David Shirey’s first book is an educational and entertaining read for “modern” and “old” RPG programmers alike
by Rafael Victória-Pereira
You probably know David Shirey from his articles here at MC Press Online. He’s funny, he’s witty, and his posts are pretty much always on target. His new book, 21st Century RPG: /Free, ILE, and MVC, is no different.
Dave’s book is a commendable effort to help all those programmers who find themselves lost in a “new RPG world” with loads of stuff they’re struggling to keep up with: free-format RPG; the Integrated Language Environment (service programs, binding directories, and other nightmarish things); built-in-functions; and weird concepts like design patterns, to name just a few. This funny guy whose articles we’ve read on diverse topic—from PHP to Watson to (naturally) RPG—decided to condense in a single book all the information that “stuck-in-RPG III” programmers need to take advantage of RPG’s latest and greatest features. However, the book also helps those programmers who know a bit about these topics to deepen their knowledge and challenge themselves with interesting exercises.
Learning Modern RPG Programming Can Be Fun
21st Century RPG: /Free, ILE, and MVC is an interesting journey. It starts by briefly presenting ILE, thus laying the groundwork for the rest of the book. The explanation might seem a little thin at first, but you’ll discover that there’s much more, “hidden” in the following sections.
The next stop is free-format RPG, with all the mandatory stops in H-, F-, and C-specs’ replacements as well as more practical stuff, like using service programs in free-format. Everything is connected, and most topics are revisited with more complete yet easy-to-follow examples. Dave does a thorough job of explaining some ILE topics that most books overlook, like activation groups and why they are important and service program signatures.
It’s obvious that Dave took his time to think this through and crafted a technical book that reads almost as a novel: each new section uses the “story” that was told on the previous ones and builds upon it brilliantly. It’s a great way to write a technical book, because it makes it easier for the reader to stay focused on the “bigger picture” while keeping an eye on the specifics of each topic.
The last part of the book focuses on the Model-View-Controller (MVC) design pattern. This was the part I found most interesting, because MVC is not an easy concept for an RPG programmer. But again, Dave and his awesome sense of humor do a great job! He managed to put together a simple explanation that I believe any RPG programmer will understand. Even if readers don’t understand the concept at first, the fact that Dave took the time to explain how to apply the MVC design pattern to RPG (check out chapter 25) will greatly help anyone interested in using this concept in real life.
Don’t be alarmed by the fact that the book has a lot of chapters, because they’re short (typically no more than 10 pages), easy to read and to follow, and are full to the brim with condensed information and examples. It’s also important to mention that nearly all chapters include one or more “Now It’s Your Turn” sections: exercises that allow the reader to work on the topic or topics of the chapter. And of course, it’s Dave: his great, non-apologetic sense of humor turns even the most boring topic in a pleasurable read. I’ll leave you with a “pearl” from the acknowledgments section: after thanking a number of people, Dave finishes the section with “And that’s about it. To be honest, I did do some of this myself.”
I read the book in less than a week, because it’s a great, funny, and interesting read. This is not something I usually say about technical books. Dave touches all the important buttons, and you’ll learn a lot with this book—even if you’re stuck in the 1980s RPG III world!