Next in our series where we interview prominent IF and SFF authors about craft, Cat and Arkady talk to Bruno Dias. Bruno’s work “Cape” was nominated for an XYZZY award, and he won Best Technological Development for Raconteur, a platform which simplifies writing interactive fiction in Undum. His recently-announced game Voyageur, a procedurally generated space exploration game, is one of Failbetter Studios’ first funded indie projects and is slated for a Q4 2016 release. We caught up with him about the meaning of “meaningful choices”, procedural generation, and the importance of interdisciplinary creativity.
Cape is extremely effective in shaping the protagonist: giving the player just the right amount and type of choices to create a feeling of flexibility, while still allowing the author to tell a very particular story. The choice of backgrounds seems to me the most crucial element — you’re always an immigrant, as Emily Short mentioned, and you’re always poor. And you’re always from a country that’s been colonized. Can you talk about how you create meaningful choices for the player while maintaining control of the sociocultural/psychological position of the protagonist?
So “meaningful choice” is a phrase that I struggle with, because I think I don’t necessarily read that in the same way that others do. People tend to associate that with large-scale diegetic choices (https://heterogenoustasks.wordpress.com/2014/09/22/a-bestiary-of-player-agency/), which isn’t exactly what I take to be “meaningful” in choice-based hypertext. I tend to think the presence of a choice is in itself meaningful. Part of what interests me about hypertext is that text that shifts, moves, and reacts opens up another layer for encoding meaning in texts. You can exclude almost all consequence and even direct referential meaning from a choice while still implying a lot with the fact that the choice is offered, and with the boundaries of that choice. I feel like choices like the nationality selection in Cape are a great way of presenting a cross-section of a world in a very economical way. The start of Porpentine’s With Those we Love Alive does something similar, offering a number of character-creation choices that don’t really seem to impact the plot but give a very good overview of what that world is like. Cape does have one little bit of text that acknowledges the nationality choice, but it’s in an optional branch of the story and can easily be missed. So I’m kind of interested in the question of that choice, of what does it mean to give the player a choice that is enormously consequential to the character but almost entirely inconsequential to the plot; and in this specific instances, the way in which identity does and doesn’t matter, is and isn’t acknowledged. The specific list of countries you can choose from is very carefully chosen. The eleven countries listed are supposed to be broadly representative but not exhaustive; I wanted to have few enough that a player could conceivably cycle through all of them. The inclusion of Greece and Ireland in that list says a lot about where the story is being historically situated. I spent a pretty unreasonable amount of time curating that list because I wanted players to conceivably be able to cycle through all the options, and then be rewarded with a glimpse into the broader world the game is taking place in.
I’m also interested in the sort of instability of those kinds of stories, where you’re writing from the standpoint of a possibility space rather than a specific plot. I love the idea of superposition; of a line of text that is always the same but will be read very differently based on the context it’s found in. I like the idea of player choice flicking a switch in the semantics of the text rather than in the code; maybe that’s the ultimate in programmer laziness, writing software that doesn’t exist.
One of Lyreless’s strengths for me is its variation of choice types. In the early game, I spend a long time picking the most evocative phrase, an aesthetic-based choice, but then found myself in what essentially felt like a riddle — I was solving a puzzle which I didn’t have clues for at first, and which I could fail at. What is the benefit for you of combining aesthetic choices with those which can produce failure?
In hypertext, choice is actually a rhythmic marker in the text. Going too far without choice ends up being a little like going too far without a paragraph break; at some point the reader isn’t so much reading as in a trance. So having choices from start to finish is necessary; a break in interaction can be sustained for a while, but it needs to be used with purpose. Story-wise, Lyreless’s middle is a trial of the player character, bookended by much more narratively straightforward sections. The try/retry loop establishes that challenge; the reflexive/aesthetic choices give the story a rhythm of interaction outside of it.
Reflexive choice is also really useful for as an entry point into interactive fiction; sub-Q is aimed at a relatively wide audience, so the way choice is presented early on in Lyreless is meant to act as a sort of a gentle introduction, hopefully squaring away differing expectations of people coming from IF, literature, or video games.By coming first, it also sets the template of what choice in that story is going to be like; I think that if I opened with the possibility of failure, readers would be much more compelled to strategise their choices over the course of the story, which isn’t necessarily what I want.
I don’t necessarily think of choices in terms of category when I’m writing, though. Those categorisations emerge later when a work is being examined. My process is actually pretty haphazard; Lyreless was written oven the course of a few days, so the usage of different choice structures is more like picking paints out of a palette than anything. There’s not really a grand design to how they’re being placed, but rather I’m trying to match the fiction and the arc of the story with the kinds of choices that make sense there; Lyreless is also using the different structures as a sort of act break. Reaching the mouth of the overworld is automatic; we encounter the player character after he has brokered passage already, and the overworld is a very still place where actions are mostly inconsequential. The stakes of the “living” world are so thin it’s almost like it exists on a plane of pure aesthetics. The under- and overworlds are in fact mirrors of each other, and it is permeating that membrane that carries challenge and the possibility of failure. But then again there is a difference between the heroic failure that is just a low point on the wheel, from whence the protagonist can climb up again, and the tragic failure of the ending which is really like the wheel breaking apart and launching Orpheus and Eurydice out in opposite directions.
I know that you have a background in film. Do cinematic principles influence your interactive fiction? If so, do you have any recommendations for people who might draw on their expertise in other media when writing IF?
Well yeah, my only formal training in writing is as a film writer. And screenplays are really paradoxical documents; once finished, they pass through a lot of hands on their way to becoming a film. And everyone on the way – actors, director, cinematographer, editor – has to be able to steer the ship. So a good screenplay sort of contains multitudes of potential films, but at the same time it has to work as a very coherent vision that everyone can work together from. And in conventional narrative film, everything also has to work within the constraints of what you can actually show in that format. I think I’m still very much influenced by that mindset in my writing. I’m trying to write things that are thematically strong but narratively flexible; and I’m always very focused on the material and visible. My writing doesn’t have a lot of internal monologue or explicit interiority, which I think is specifically well-suited to interactive fiction, where those things feel sharper and more marked to the audience than they do in literature. When dealing with game mechanics and world models, I think it also really helps to be able to think about story in those kinds of materialistic terms. One of the things that I love about IF is that it allows more space and focus on descriptive writing than almost else. There’s a long lineage of meaningful and interesting objects in IF, particularly in the parser tradition, which for me mirrors the long lineage of meaningful and interesting film props.
Also, if film hadn’t made me less self-conscious about operating in a genre, Cape would never have gotten made. I’ve done a lot of heavily stylistic writing, and it’s great fun, and I suspect that if I had one shred of a literary background I would feel bashful about doing it, and I never ever want to feel bashful about writing crap like “tell Frazetta he needs a better class of knucklehead working for him.” Genre is a wonderful shorthand, and I also believe it’s a very disarming thing – people, when confronted with overtly Literary writing, tend to react instantly with the fear of getting it wrong that we’ve all been inculcated with by formal education, or they bring up a screen of critical sensibility to their reading. Genre writing is like pro wrestling – the rare moments of truth dig in really deep, because as an audience you’re so completely primed to expect it to be entirely fake. So whenever we look at what concerns or thrills or saddens us, and we stuff that into science fiction or fantasy, that’s like aiming for the chink in people’s armour of irony. That’s like a gloriously ridiculous WWE cage match climaxing when a meaty, spray-tanned man dives into a bed of actual thumbtacks.
I think bringing the lens of some field you’ve worked in previously to IF is totally natural, and I think it’s absolutely something you should do. Interactive narrative is a field crammed full of problems that are either still unsolved, or provided with only one or two relatively narrow solutions. There’s a cliché in software engineering: “given enough eyeballs, all bugs are shallow.” Which is to say, if enough people look at a piece of software, eventually ways to improve it will emerge. But I think this isn’t necessarily about the volume of eyeballs; it’s more about their diversity. Solutions emerge not because eventually “enough brainpower” has been thrown at the problem, but because if you sift the problem through enough different enough brains, it’ll catch on something eventually. So I encourage people heartily to be persons in games, or persons in IF, or persons in literature, with a background from outside the field. A lot of creative fields are increasingly difficult to enter if you are not someone who was specifically moulded by formal education to think like other people in the field before you; games and IF are not necessarily like this yet, which is a good thing. God saves from film festivals where every director went to film school. God save us from art galleries where everyone has read art textbooks. God especially save us from MFA programs where everyone has read Politics and the English Language.
So you’ve announced Voyageur, a procedurally generated space-exploration game which has a core sense of forward momentum. Discoverability is very important, and so generating a flexible corpus that is nevertheless sophisticated and reads as natural language is key to Voyageur’s success. Can you talk a bit about the process of creating that?
So, for people who aren’t up on all the hip generative text lingo: A corpus (plural corpora) is a big pile of words and phrases that prose generator software consumes to produce prose. Some corpora are really just big samples of human writing; procedural generation approaches using machine learning generally make use of those kinds of corpora. For instance, there’s a Twitter bot (@Roborosewater) that tweets Magic: the Gathering cards created by a neural network. The corpus in that case is just every Magic card in existence; the neural network is essentially a piece of software that strives to understand the rules governing how a Magic card is constructed, and then it produces output that attempts to follow those rules.
For Voyageur, I’m not using that approach. The output from neural networks (and their more primitive grandads, Markov chains) is fascinating, but it’s also usually pretty nonsensical. I think at the point where we are with neural networks, you could probably train one to generate good content, but not content in a form as delicate and human as prose specifically.
Instead, I’m using what I call a mediated structured grammar. Structured grammar: the corpus isn’t a big pile of writing, it’s structured; it’s a tree of words and phrases from which the (relatively stupid, non-AI) software can choose to assemble text, following rules that are expressed by the structure of that tree. I don’t know if Kate Compton originated the structured grammar approach, but she wrote the most common implementation of it, Tracery. Tracery creates text by randomly selecting phrases from a corpus that is structured to explicitly show the rules of how text is constructed. So if you’re randomly generating a name, you have a definition that implies a name is in the form “firstname lastname”, and lists of what words are first names, and which words are last names, and it follows these rules and comes up with a name. So, at this level, it’s kind of like having the machine play Mad Libs with itself.
However, those trees can be arbitrarily deep. To use a Star Trek analogy, Tracery is to computerised Mad Libs like 3D-chess is to regular chess. You can use it to produce some pretty sophisticated output, and it’s particularly popular for making Twitter bots.
But, in Voyageur, I’m using technology that goes one step further; this is the “mediated” part, and it’s based on an approach that Emily Short developed for one of her own projects. Voyageur, when assembling prose, filters which text it can use based on its own internal model of what it is describing. So it’s not just generating text, it’s attempting to describe something. So the descriptions that show up in Voyageur are always coherent descriptions of the game world; if a planet is covered in tundra, nothing in its description will contradict that. The rules for generating text check for internal consistency, but also for textual structure; the prose generator is more likely to choose phrases that bring up aspects of the planet that it hasn’t mentioned yet, for instance. This approach, ironically, requires a lot of authored content; in a way, Voyageur’s procedural generation is really about exploring the tenor and meaning of procedural prose; giving players a vast universe of unique planets to visit, too. In games, procgen originated as a workaround for technical limitations, allowing games like Elite to have huge galaxies that never actually had to exist in the limited memory of a 90’s computer. But it quickly became an engine of surprise and replayability; roguelikes wouldn’t be what they are if the dungeon wasn’t different each time, full of uncertainty. Voyageur represents an entry into what we could call the “third generation” of procgen in games: procedural generation as an aesthetic.
Another aspect of Voyageur that is really important to making this work are the simple, powerful mechanics of characteristic-based narrative, that Failbetter itself has used in both Fallen London and Sunless Sea. Having that transparency, and being able to keep the fiction close to the mechanical bones of the game, is really invaluable to making something with a lot of weird, diverse text in it that doesn’t feel confusing.
What do you think the strengths of procedural generation in interactive fiction are, or might be down the line?
Procedural prose has a very specific texture to it that I find very satisfying, actually. It’s not necessarily about making something that feels totally indistinguishable from human writing, but rather about making something compelling in that space; there is something very funny-unsettling about a computer telling a joke or writing a sonnet. It’s a little bit like the infamous Gary Larsen “cow tools” cartoon, a thing that we associate with human intelligence being made by something that isn’t remotely clever enough to be making it, and thus calling the whole nature of the thing into question.
Going forward, I can see a lot of uses for procedural prose approaches in IF. It might lead to better ways of communicating the state of a world model to players, for instance. Emily Short’s latest piece of free IF actually includes a procedural text generator that players can fiddle with, adding and removing parts of the corpus, and it’s really entertaining seeing what you can do with that. At the margins, textual procgen starts to collide with what we might call “data art”. There’s a lot of open-access structured data on the internet now, and scraping that data to make assemblages is another approach that has only barely been explored right now. Procedurality also lets players really own their experience, because what they encounter in game will be unique to their game. And as we increasingly live in a world of gameplay as performance, that’s increasingly valuable; if a player encounters something funny, or poignant, or even broken that came out of the procedural generator, sharing that and encountering what other players have shared from their own games becomes part of the experience. And I think IF specifically is really well-suited to that. Partly because the moments you get are inherently shareable text, partly because generative prose has so much potential for unintentional or mysterious meaning.