Last Sunday I finally finished reading and working though Aaron Reed’s Creating Interactive Fiction with Inform 7, a book that Andy’s already written about here. I felt it worth noting my own thoughts, briefly, as someone who isn’t an Inform expert (unlike Andy, whose name appears in the language’s credit roll, for zog’s sake).
I came to this book having already written The Warbler’s Nest using a sort of Pidgin Inform, diving right in and learning the language piecemeal from the IDE’s built-in docs, as well as community resources like Ron Newcomb’s excellent Inform 7 for Programmers. This worked, mind you — I finished the game, more or less on time. I expect that many other recent IF authors have employed the very same strategy, to at least as much success.
Inevitably, though, I remained ignorant about many of Inform’s key features, and had an overall shaky grasp of how the thing worked. For me, Reed’s book spent no more time than necessary on “The Foreman's Office is a room
” basics of object manipulation — that’s the easy stuff! — before digging into relationships and rulebooks, two core language concepts I had only a fuzzy notion about. (Yes, of course I wrote a lot of Instead of...
rule exceptions in Warbler’s code, but that didn’t mean I knew why it worked, or if there were better ways to do any of it.)
If you are at all interested in learning how to create interactive fiction today, or if (like me) you already know a thing or two but could stand to learn a lot more, I cannot recommend Creating Interactive Fiction highly enough. Rather than offering a language reference (which it isn’t), it provides a guided tour of Inform’s major features by way of a gently iterative traversal of a single, non-trivial IF work’s source text. Crucially, as Andy wrote, Sand-Dancer is not a contrived example game but a solid work in its own right. The process aims to inspire the reader to continue their IF-crafting studies with their own work, and I am here to tell you that it worked for me.
Furthermore, if you plan to follow along with the code examples, and you can swing a dual-monitor work setup, I advise picking up the book’s Kindle edition. Even though the author kindly provided this blog with a physical review copy of the book, I appreciated being able to page through both it and my own, ever-growing ersatz Sand-Dancer source text at the same time with minimal eyesprain.