In Part 1 I introduced the Inform 7 programming language, reviewed Chris’ opinions why earlier versions weren’t suited for interactive storyworld development, and briefly talked about the inclusion of real numbers in the latest release.
In Part 2 I explained why real numbers are important to storyworlds and showed how you could create equations in Inform 7 that use real numbers.
In this final installment I’ll look at Chris’ two other complaints about Inform 7 and see if they still hold up.
Chris’ second objection to Inform 7 has to do with its boolean-only nature prior to the current release.
This [Inform 7’s predilection for Boolean concepts] is fine for props that can be either broken or unbroken, light or heavy, hidden or visible, and so forth. But it gets a bit silly when applied to human relationships. Does Jane either like or dislike John? Is Fred either friendly or aloof? Is Tom a coward or a hero? . . . [This] encourages the author to approach everything as either black or white.
Chris has a point; Real numbers allow a much more nuanced modeling of the human condition. The boolean concepts of off/on (or zero/one) can model object and environment characteristics but at first glance they appear to be a bit too coarse to model subtle character emotions
Or are they?
Prom Week is an high school dating storyworld created by students at the Expressive Intelligence Studio. An implementation of the Comme il Faut model for socially-oriented gameplay, it imposes tight constraints on player behavior to attempt to create a clean, simple, goal-based storyworld with high potential for dramatic intensity.
Overwhelmingly boolean, it utilizes over 3600 different rules to model the social space and character interactions that are possible.
Chris compares the two approaches in the Two Approaches in Parallel section of his writeup of a conference that the Games Academic Group at UC Santa Cruz held back in April 15th, 2011.
I pointed out that his system uses 1-bit logic, where my system. . . relies on 32-bit logic. . . . I pointed out that his 1-bit calculation utilizes over 3600 different rules. . . . because boolean rules are easy to formulate and express. . . . [H]e [Michael Mateas] can create lots of rules with low resolution, while I create many fewer rules of higher resolution.
My point is not to take sides in the 1-bit vs. 32-bit debate but merely show that it does appear possible to build storyworlds based on boolean calculations. I have played Prom Night in beta and it is a valid approach in this era of experimentation where Thaumatropese, Zoetropes, Praxinoscopes, and Zoopraxiscopes run wild.
On Inform 7’s lack of structure Chris says:
These [modern programming] languages make it easier to write big programs without getting lost in a maze of instructions. Not so with Inform 7. . . . [T]he source code for a good storyworld called Alabaster is organized like an outline with 12 high-level entries, at least 60 mid-level entries, and a few score low-level entries. Each entry comprises about a page of code. . . . Reading the code is like traversing a maze that has references to things that you can’t readily find.
I view this as a tools issue. The source code is structured like Chris says, using Inform 7’s headings to organize the code into manageable bits. While using headings is optional, taking advantage of the Volume -> Book -> Part -> Chapter -> Section hierarchy provides you with an clickable table of contents of your source that can be easily navigated.
Interactive development environments (IDEs) are always improving. We don’t write programs on punched cards anymore and most modern programming environments have a single Run button that can be clicked to automatically compile and link programs (it used to be two distinct steps years ago). I have no doubt that the IDE side of Inform 7 will improve in further releases to make it easier to manage larger projects.
So while its roots in the text adventures of the 80s does bring along some baggage from the past, I think Inform 7 is a viable tool for exploring the creation of storyworlds.
- Its text-based nature keeps budgets low and encourages auteurism
- It encourages rapid prototyping and its “build as you go” mentality permits early small successes
- There’s an active community engaged in using the tool, creating extensions, entering competitions, and offering a variety of experiences
Now if we only had a Cloak of Darkness storyworld that someone could attempt to implement in Inform 7. Hmmm. . .