The pitch: In my humble* opinion, almost everything you have ever read about how to do narrative in games is either far too optimistic about emergence, or far too pessimistic/conservative about what games can be. Narrative gameplay - playing with the story, altering it beyond scripted choices - is a very real possibility, but I'm quite sure it will spawn neither from the sandboxes, nor from the cinematic storytellers. In this post you will find, if not the solution, at least a strong conjecture on where to look for it.
* Citation needed.
NB: This post is rather irrelevant to Lilavati's current project, but it's been in my head for a long time and it will definitely figure into Project N+1 or N+2. Though I would not at all be unhappy if someone else came to the same conclusions in the meantime, and did something about it.
1/4) The emergence buzzword
Having a dynamic narrative sounds great, but what people usually mean by that is that they will make a really detailed world with thousands of nifty little things, and somehow a great story will emerge from it.
The thing is, making a story is not so different from making a sentence: it requires grammar, meaning, relevance to context and (if you want a good story) stylistic flair. You know how good AIs are at making sentences after sixty years of research. That's pretty much how I expect things to go for emergent stories too.
When it comes to narrative, I put absolutely no faith into what I'd call "strong emergentism": you cannot just cobble up dozens of arbitrary rules (say, AI agents with needs and schedules), fiddle with parameters and expect something dramatic to arise out of it spontaneously. In real (physical or biological) complex systems, the range of parameters for which you get interesting behavior is usually extremely limited* and it's very unlikely that we'll get there without either a good theory or billions of years of trial-and-error.
What you can get out of a metric ton of microrules is a reactive playground, where the player can do the work of taking some of what they see and turning it into a story. At best, something like Dwarf Fortress. It can create great material for a Let's Play, but it's not what interests me most - I like reading someone else's story for the added value that their effort has put into it, and I crave meaning more than quirky random happenings.**
* Broadly speaking, that's called a critical point. As in, you have to find a single point in an infinite space and stay more or less on top of it (life is good at doing that).
** That's because I'm a narrativist and not a simulationist - it's great if you are the latter though, as you are more likely to be satisfied by currently existing sandbox games.
2/4) One solution, Part 1: Theory
So instead of trying to follow the example of natural language processing, my inpiration is how physics engines and physical interaction have grown in games:
- At the most basic level, you have something like a QTE: just do what the game tells you to do and advance to the next step. Narratively speaking, that's scripted FPSes and quests in your typical RPG - a trajectory where your every step is hardcoded and you just have to pass a true/false check to go to the next one.
- Then you have Pong: every key press moves a cursor along a line, and if it's at the right position when the ball arrives, something different happens. Narratively, that's reputation/karma systems where your actions change your position on a line between Goode and Badde. Although in those games you can't even see in advance when the ball is coming, i.e. when your position on the line will be tested by an event, so you cannot plan which narrative choices to take, just accumulate brownie points on principle - let's call that Blind Pong.
- Eventually we evolved platform games: you know where you want to go, you know which key to press to run and which one to jump and how high that will take you. The designer does not spell out your every move, she just places the platforms and expects you to figure how to get there.
The latter is precisely the step I want game narrative to take now: written story bits as platforms, and a very limited set of actions that have predictable, repeatable, rule-like effects, that you must compose freely to make your own path toward the objective.
At this stage, the key ideas are:
1) You hardcode states, not trajectories: the platform knows only where it stands, not how you got there. On the other hand, the relative positions of the platforms create a macro-path, defining the global boundaries of where you can go.
2) The actions move you in story space - the space in which every location is a different narrative state. Story space is not the complete state of the universe: most of what happens in the world is irrelevant to the story, so relevant actions should not be lost in a sea of variables and complex AI patterns*.
In other words: the player must know which of their (and others') actions will advance the story. If those are defined systematically, instead of being arbitrarily decided by a writer, you won't need to acknowledge them all with scripted content. This already exists in a primitive form in many games: when you kill a boss, you know that you have progressed in the story; there is no need for a cutscene to let you know what you have just achieved - in that case, the very act of killing carries its own narrative meaning. Another example is running away in survival-horror games: you know you succeeded if you escaped from the monster, the gameplay and narrative goals coincide perfectly. Scripting becomes important only when "jumping there" or "killing this one guy" must carry a different meaning from jumping anywhere else or killing any other guy,
* If you put in too many variables, you create that "noisy" situation where the player is never able to tell whether something is part of the story or some random happening, and they can at best fish out a collection of "interesting bits" and story snapshots (suddenly Jane the sniper did something cool and worthy of being related) rather than a narrative.
3/4) One solution, Part 2: A concrete example
This is all good, but quite abstract. The thing is, it is surprisingly simple to do for real. Off the top of my head, here's a simple implementation idea or two.
First you must have a narrative goal: any story is centered around a conflict. Other characters should solve their conflicts automatically if they can*. If the game exists, it's because no one has the means to solve the central problem. No one but the player, of course.
That's where the gameplay comes in. For instance, you could be given a set of physical actions (moving around, jumping) but a single narratively relevant action: killing people. Let's also say that:
- characters are tied by relationships that are positive or negative,
- conflicts happen when two people with a positive relationship have a different opinion of a third party (say the daughter, a father, and the daughter's lover, who is disliked by the father),
- and killing a character voids all relationships that involve them.
Now we have a simple problem: remove enough people, in the right order, to solve all conflicts. Sure, this is extremely primitive (plus, morally wrong), but it captures the main ideas: you have actions that change the narrative state according to systematic rules, which you can use to make informed decisions rather than blind choices. You may add some imperfect information on the relationships to spice things up, but not so much that it reverts to choosing at random and praying, like in so-called "choices and consequences" games.
A more elaborate version could be the analogue of a puzzle with balls that roll down slopes unless their path is blocked: the other characters will act to solve conflicts within their means, go toward the place they want to be, provided you remove some initial block (deliberately, or as a side-effect of some other action). Whether that place is where you want them to be is another problem, and the essence of the gameplay is using some of them to block some others and herd them toward the right place.
Both of those examples may look like puzzles (with a single correct solution) rather than systems allowing for full creativity, but the mechanics they involve can serve as the basis for a system, using the platform metaphor: rather than a single way to solve the conflict, you put some conditional states as intermediate goals and let the player invent a way to reach them. Each of these states then puts new places within your reach (a new character arrives, or some external event happens), and the general narrative moves along in the direction implied by them.
* Is there really no postal service in any of those games where people wait for random strangers to come by and deliver their love letter?
4/4) To infinity and beyond
Once games started having physics engines, they all had a common basis to build on: picking up a new game, you'd know you could run, jump, destroy blocks, push things, and so on. This opened up lots of more sophisticated possibilities, and a whole new job appeared: level designer. Suddenly, you were not a lone programmer coding every single detail of the player's interaction with the game world. You shared an easel and a set of brushes and could compose bits and pieces of the world to make it interesting, while the player would explore it using learnable and transferable mechanics.
If narrative gameplay took the same path as physical gameplay, then the job of scripting an entire game's story exhaustively would likely disappear (at least in certain genres). You would instead have drama designers who would arrange bits of conflict into an explorable landscape with a global goal, and let the player figure how to deal with them using a common set of rules.
And I think that would be pretty nifty, overall.