Raph asks:

when are you hopping on if

Shin Megami Tensei If…? Probably never. Next!

Now interactive fiction… this is a genre I’ve been keen on getting into a few times but have never quite gone all in on. On and off for the last few years I had been working on an adventure game with a minimal, script-driven engine, and at some point last year I had a phase where I was interested in trying to write it in Inform instead. One of my research tasks is writing monitoring software derived from statements in formal logic, and these tend to be written in a declarative language, which is the camp Inform falls into. Most languages are imperative, as in they provide a series of instructions; declarative languages describe simply what entities are by contrast, assuming that if a top-level entity is defined that is compiled from lower-level entities, their attributes and such will transfer directly into the full object.1 In Inform’s case, I figured the base engine (which handles verb parsing based on what your character is able to perform in the context they’re in) would give me a strong enough basis to do what I wanted with my concepts, though I ended up moving away from it a bit because I wanted stronger authorial control over the pace (surely doable with Inform, but maybe not the right tool for it).

From a wider view, however, this declarative paradigm gives us exactly the dynamism and emergence that we often wish to see in “systemic” games, or rather, games with strong, organic mechanical interplay.2 Games with open-ended solutions generally avoid having prescribed lock-and-key obstacles in favor of throwing elements of the system into a scenario and letting you reason one of many ways to apply them to get to the goal state. Inform already has the control surface (the verb parsing, and an assumption that time ticks on every action you make), and by using a declarative syntax, it’s ascribing properties to items that you can then interact with seamlessly using the parser, including moving objects around, applying objects to other objects, and creating multi-object interactions that may involve time-based dynamic reaction based on each object’s behavior. It’s obviously a limited system visually speaking, but if you’re willing to work with its confines, then you can get an immersive sim-level of freeform gameplay without the limitations that come with trying to stuff everything into a 3D space and engine.


  1. When I teach systems theory, I teach “pillars” much like the object-oriented pillars, and compositionality is one of them. Effectively, a system’s function and attributes should be defined by its components. ↩︎

  2. I’ve floated the idea of “pervasive games” or “pervasive mechanics” instead of “systemic” before, but I don’t think that will ever stick. But that’s basically how I perceive the term: it’s about mechanics touching every aspect of the rest of the system. ↩︎