Mailbag: IF Candidates for Porting

What IF story would be best for someone with limited time and resources to re-create as a 3D and even VR game? It would have to be under some license such as a Creative Commons license, where derivatives are allowed and preferably a license that allows commercial derivatives.

Before I answer this, I feel I’d be doing a disservice if I didn’t ask why you want to attempt this, and whether you’re sure you’ve thought it through.

Text adventures are good at evocative sense of place (and other events) on a budget; at allowing a huge palette of verbs; at geographical exploration and large game spaces; at (if desired) long play times, sometimes extending over months; at capturing a character’s interiority and viewpoint; at creating a very complicated world state that can offer persistent consequences for the player.

VR is good at intense, 10-20 minute experiences. VR works tend towards limited and simple controls, and require intense asset work for every setting. On many (especially budget) VR systems, they induce the least nausea if the protagonist doesn’t move around that much. Meanwhile, IF levels of world state in VR are a pain, because either that state isn’t visible (in which case, how does the player know?) or it is (in which case, you have to make variations on your assets in order to represent those state changes). Cut scenes and branching narrative outcomes, also cheap(ish) in text, may be very expensive in VR in that they may require animations or additional assets.

Not only that, but any game with a complex parser-based experience is going to be untenable: no one wants to type in VR; you could hook up voice-recognition but it’s likely to multiply the parser errors that are already irritating on the screen ordinarily. There are lots of great one-room IF games, from Rematch to Aisle, that rely heavily on the inventiveness of the player’s input. These would also be a poor match for VR in most instances.

Some similar things are true of 3D games in general, though less so. In a text adventure, you can write a randomized “[The character] is [one of]whistling a jaunty tune[or]staring out the window[or]playing solitaire[at random]” sentence, and you’ve just accomplished something that would take days of idle animation work in 3D.

So that raises the question of what you’re hoping to get by adapting a text game to a very much non-text medium, and whether it wouldn’t make more sense to come up with a new story suited to the affordances of your target medium. The best piece of advice I can offer here is just “don’t do this.” VR is really, really very much its own beast and even 3D console gameplay doesn’t always map at all well to that space.

But, okay. Let’s say that for some reason you don’t want to take the easier route and write a story customized to the storytelling possibilities of VR. What would be the least-awful IF game to port to VR, given minimal development resources?

Continue reading

Mailbag: QBN System Variants

Hello Emily,

I was reading through your blog and, in your post dated May 25, 2017 you describe several narrative systems, and the last one you write about you name it “System with Dynamic Requirements”

I’ve been working for a couple years now (on my free time) on a system that is very similar to what you describe: A tool to create narrative very similar to the way QBN does but with dynamic requirements for actors and locations.

The main difference is that it is a system to run over a real time game and the choices are done by gameplay inputs instead of selecting or letting the game select.

The tool provides a visual-node interface to create attributes and rules. The player actions trigger events on the system (i.e. looting a body trigger and event and we can create a rule on the tool that say “when loot event is triggered add attribute looter to the player”) and the attributes are evaluated continuously by the rules and giving results (i.e. If player have looter attribute with a value higher than 5 add world attribute “looter missions activated”)

Of course, there are the dynamic requirements that I’m using as I think the player’s engagement will be higher if the characters used on the story are people they “choose” to met in the game instead of previously designed so I can check if at one point they helped someone to escape or to acquire some item or whatever and later check the list of actors and use that one to be part of the story, or I can check between the locations in the world and create a mission that use a location with a certain attributes instead of always the same location for the same mission.

My question is: Do you know about other projects working on the same line?

Sort of, depending on how precisely you define “the same line”.

I know of projects that make use of Node-RED to visually define rules for various purposes other than interactive narrative rules.

I know of IF games, including my own, that allow the player to unlock new gameplay and story sections with any item that matches some general requirement; and sometimes a puzzle will have multiple solutions, but the specific solution the player picks turns out to be important or expressive in some way, or is used to judge the protagonist’s character.

I know of experiments with dynamically-gated story elements — most (but not all) of these tools in the academic space rather than among hobbyist IF tools or (for that matter) commercial video game tools. You may be interested in Ian Horswill’s Dear Leader’s Happy Story Time, described here in an academic paper with references and mentions of other related academic projects, or here in a video talk. (The references here provide a lot of potential further searches, with context.)

I know of realtime games that serve up specific beats depending on what tags are currently matched about world state. See Elan Ruskin’s work for Left4Dead, covered in this excellent talk. This is salience-based matching for various world states, which then in turn influenced the design of the dialogue-fitting in Firewatch. Not the same as constraint solving, but relevant to some of your other points about wanting to unlock specific story beats if the player has the right background.

I do not know of an existing tool with all the features you describe: a visual interface to create the rules for a dynamic-conditions interactive narrative system, applied to a realtime experience. (That’s not to say no one’s building one. I just haven’t seen it.)

That said, I’d like to suggest that you’re opening not just a technical space but a challenging design space, and you’ll want to test your assumptions about the player experience. There are some finished, public examples of games that do play a little in this space. For instance, games in the Fable series assigned story importance to figures the player had spent time with. I would suggest, based on my experience with that, that your initial assumption (“the player’s engagement will be higher if the characters used on the story are people they “choose” to met in the game instead of previously designed”) may not be true in all cases.

 

Mailbag: High-Agency Narrative Systems

Today’s mailbag entry (at the request of the submitter, anonymized and edited a little) gets into the question of how to create salience and quality-based narratives and other similar games, given that typically one has to build one’s own.

What I keep getting drawn toward on a personal level is your work–and other people’s work too–on procedural narrative generation. I have enough knowledge of coding to understand states and modeling systems and when to move from one to another on a conceptual level, but at this point I could not make one in any language or engine. I think this is something I would like to learn to do more of...

Obviously I’ll need to learn a language from the ground up. That’s fine. I suppose I’m asking what would be most helpful to focus on–not just in terms of C# or Ruby or Python–but other skills as well… most of my questions/interests are about event generation, procedural chains of causality, etc.

Further discussion with the asker indicated they are talking about the kind of quality-based and salience-based narrative systems I wrote about in the article Beyond Branching; this RockPaperShotgun column about Alcyone also gets into some detail about the state of play in this space.

Systems like this can achieve a combination of player freedom and agency that is hard to reach in CYOA or any other node-based system (I would include ChoiceScript here): there are often dozens of viable choices available.

Meanwhile, because you’re not tied to a specific simulation concept (like the standard parser IF world model), you can adjust the qualities of your QBN to the particular needs of this work. Track your protagonist’s health, her interest in opera, her sense of humor, her tolerance for pain; track her relationships with each of a dozen friends, or a dozen aspects of her relationship with one friend.

On the other hand, the tooling and the design abstractions in this space are not nearly as advanced as they are for parser IF or CYOA/hypertext/stats-based IF, so if you want to work with it, you probably have to build your own.

That’s a topic that could take a number of articles, and there isn’t as much writing in this space to point to as in the parser space.

Continue reading

Mailbag: Writing for Versu

g_ending_2@craigtimpany writesYou’ve covered Versu’s architecture, but I’m curious what that was like to write for… In particular I’ve been wondering how very non linear tools affect a writer’s flow.

For those just joining, Craig is asking about Versu, a system focused on agent-driven narrative. Versu and the games made with it are no longer available, but there’s information available about the system, including several papers at the Versu website, and past posts of mine here about the conversation system and about what it was like to convert Galatea to the Versu format.

During the first portion of its development, Versu content was driven through Praxis, the language that specified social practices and truths about the world state. Praxis is very powerful and allows the user extremely detailed control over what is true about the world, and what all the agents want; and the baseline implementation of conversational practices, among others, were written in Praxis. However, writing extensive dialogue in Praxis was essentially wrapping conversational elements in code — a high-friction way to compose, and one that discouraged revision. To address that, we developed a DSL called Prompter. I am not going to re-describe here everything about how that worked, since the attached papers go into detail.

But the core point to know is that, within Prompter, one wrote scenes. Each scene could have some opening text; some parameters about what was allowed to happen in that scene (e.g., “no one dies in this scene, but Veronius is allowed to have sex”); a body of dialogue that can be spoken only in that scene and nowhere else; and then one or more ways that the scene can end.

Using that information, the system would follow its own rules about how conversation and social actions could chain into one another, improvising a particular performance around the scene parameters the writer had set on the page.

Continue reading

Mailbag: The Unique Selling Points of Parser IF

@mattlaschneider writes: I’d love to see a series of posts geared towards people who are interested in learning to write parser IF in a post-Twine era… I could be totally off base, but I do think that parser IF has a lot to offer people who would normally otherwise be attracted to Twine.

We then had a long Twitter-thread argument about whether it was even appropriate to try to recruit people to writing parser IF, especially because I think many people who come to IF because of Twine have motives or needs for which parser IF is a terrible fit.

So let’s start with the reasons not to write parser IF, and we can come back to the question of how to write it if somehow none of my persuasions work on you.

Continue reading

Mailbag: Teaching Spatial Storytelling

A Twitter follower asked me for resources to teach students to pair space and story in a meaningful way, and they were already familiar with my article Plot-Shaped Level Design.

Screen Shot 2017-04-21 at 1.36.22 PMTo state what will be extremely obvious to some of my readers, but probably new to others: this is classic craft territory for parser IF, where maps are generally developed in tandem with plot and puzzles.

The primacy of the map, in this tradition, is why Inform had a map index much earlier in its development than it had a scene index: charting the space, together with its doors and access points, was understood as more critical (and also easier to do programmatically) than diagramming a CYOA-style node structure.

Classic text adventures rarely experimented with treating space as continuous rather than room-based, even though the possibility of doing so cropped up in discussion at least as early as 1991, with another discussion in 1996. Some of that may have had to do with technical challenges, genre convention, and the relative difficulty of expressing quantitative information in prose. But I suspect another major factor was simply that the room-based approach to map design offered a lot of leverage in controlling which parts of the story the player saw at a time. Games such as Ether that allow for very free movement through a highly connected volume have to rely on alternative methods to control narrative presentation, or else have story content that can safely be encountered in any order.

In classic parser IF design, the companion of the map was the puzzle dependency chart. Puzzle dependency charts showed which barriers had to be crossed before which others; maps represented how this manifested in physical space.

In most parser IF, not all of the map is available at once, and the player has to solve puzzles to open particular areas, whether by unlocking a door, getting past a guard, throwing light on a dark room, etc.: many of the classic IF puzzles reward the player with access to new spaces, though there are many different ways of setting up the challenge initially.

That progression of spatial access was typically what let the author control the difficulty curve (only give the players puzzles that they’ve proven they’re ready for) and the plot reveals (put the more important clues deeper in the map). Often, reaching a particular location, or reaching it under particular circumstances, or interacting with an object there, would serve to trigger dramatic scenes marking a major advancement in the story.

Then there’s the question of pacing and content density. How much story material belongs in each room? How much real space does a given room represent, and how does that connect with narrative presentation? Adam Cadre’s review of Lost New York gets into detail about some of these topics, and the problem of representational space vs. literally simulating a large area.

So with all that background explanation, here are a few other resources beside the links already given, but if anyone reading wants to recommend others, please feel free to comment as well. Continue reading