Many of my readers are away at GDC, and I'm swamped with the upcoming Gaming Weekend preps. (Ugh. I'd forgotten how much work it was to rewrite a LARP.) Anyhow, I've been trying to limit my posts so that when they get back, they don't see a giant "8 new posts" and think, "errr, I'll just skip it."
However, I think it's important to write about nonlinearity. I'll probably write about it again, later. Because this essay is clumsy.
When you read a book or see a movie, you experience a story. This story is linear. The strength of games is that it does not have to be linear. All too often it is - but, did you notice? Most of the nonlinear or multiple-choice linear games which are released do very well. This seems to imply that people really like the freedom those games grant them.
But not everyone wants to design The Sims, or Animal Crossing, or Madden's Football 8.9824942498919919e^691795057. Many people want to have plots in their games.
The problem is that, when people design their game plots, they think linearly. "Then the player can fight Glamaramadingdong, the elf king!" "Then the player gets this new weapon!" "Now the player can fly a space ship!"
I suppose it's natural. Not only are our other forms of media naturally linear, our language itself is rigidly linear. But I think that if you break yourself of linear thinking, you'll be able to create worlds - both in a computer and in tabletop games - which are much more detailed and reactive than the simple linear story. These stories seem to really draw in the player. Much better than a nonreactive linear story does.
The way I do it is via "aji".
"Aji" is a go (wei'qi, baduk) term which roughly means "the potential remaining in a group of stones".
Go is, in essence, a very non-linear game... which makes it very suitable to study, if you're looking into how to make your games less linear. The basic play of go is that the players chase each other around the board. One will dominate, then often the other will dominate. Offense, defense, pushing, invading: these are the kinds of things you do in go, and they are the kinds of things you do in most plot-based games. All of these things are based on the aji of a group of stones.
If a group has bad aji, that means it is weak, or slow, or played out, or comitted, or unable to expand. If a group has good aji, it is primed to expand, or to support an attack, or it is light and fast, or it is in the right place such that future plays in the game will find themselves crippled or supported by this group's position. Functionally, a group of stones loses aji as you develop its position. When the position is light, only containing a few stones, it is at its most adaptable. Writing for a nonlinear story is the same way.
What I do, when developing a game, is fairly simple. I don't say, "Anne will attack the dread lord Bob." That would be playing out that group of stones without actually imprinting anything on the player's mind.
Instead, I'll set it up so that Anne is in a good position to attack the dread lord. Anne's presence - her abilities, her memories, her position, her emotional state - has good aji in the direction of dread lord Bob. It will then flow naturally that Anne will attack Bob. It doesn't even need to be written in. In fact, writing it in will reduce the aji - reduce the freedom and agency of the player.
Left alone, Anne will feel like she is doing what she should be doing, but she will not feel boxed in. She will feel like she is accomplishing her goals, not that her goals are being crammed down her throat. And if she chooses not to attack Bob (highly unlikely, if you're doing the aji right), no trouble: let the game continue on around her.
This is how a good LARP runs. You have players who have plot with other players. It doesn't say, "Carl: attack Diana on sight", it says, "Carl: Diana killed your mother." Let Carl decide what he's going to do about Diana. 99% of the time, it'll work out just fine. The other 1%, it will be so bizarre and interesting that there's no problem.
The solution that the player uses might be a little different from instance to instance. This Anne might power up for two weeks before attacking Bob. That Anne might immediately go fight Bob. But that's their prerogative. That's what makes the game interesting to them. That's their agency. That's what they can't do if the whole plot is spelled out for them, no aji remaining.
The basic problem with this is that, if you're doing it on the computer, it's rather difficult to allow the game to react to such a spread of possibilities. What if Anne doesn't ever attack Bob? Do you just have Bob sit around waiting? Do you have Bob keep conquering more and more land until he's defeated? Does Anne's companion Eustace whine bitterly about her dilly-dallying?
Maybe she wants to team up with Bob. This is her third time through the game, and she wants to be evil for a while. How is her aji for that?
How can a game possibly handle such complexity?
Well, I have a few ideas as to what algorithms to use, but in essence: nobody is entirely sure what the best way to do it is.
However, you can do it easily in a real-world game, and you can fake it easily in a computer game.
Don't tell your player what to do. Tell them why they should do it. That's essentially showing them what to do, rather than telling them. It's basic good writing, and anyone can use it.
Write with aji. Write potentials into your characters, not plot. Plot is for characters which are separate from the audience. Aji is for characters which the audience can affect. Show them the situation, but let them decide the moves.