I've been thinking about plot generation. There's a lot of difficulties with plot generation, and a lot of the solutions seem to involve hundreds or thousands of hours of work.
But what if instead of plot generation, we do emergent plot?
This is hardly new, but I think my idea is relatively fresh.
Most people, when they think of this kind of thing, they think of plots which adapt to the player's choices. For example, if the game lets you shoot someone important and can still ad-lib the plot convincingly, it's cool.
Sure, but that's not really emergent - it's just self-repairing and/or variable. Emergent implies that a complex situation comes together from a set of simple rules.
To some extent, self-story games feature emergent stories by using the player's drives and preferences as a catalyst. For example, in many tabletops or LARPs, players often decide that they want to experience a particular kind of story. They want to be the redeemed bad guy. They want to be the faithless clergyman. They want to experience a particular plot arc or just experience the world from a particular angle.
In a tabletop or a LARP, this works great because the game world adapts nimbly to these people. If one player is working through a redemption story and another is working through a challenge of faith story, they will tend to naturally harmonize with each other and prod the story along. The game world itself will change to facilitate this, if the GM is any good.
Basically, when you're building a story in a live game, you see kernels of opportunity in the game world and other players. Overtures to work these things into your personal story are usually successful, as the other players bend a little to work you into their story. When it works, it works wonderfully. It's an emergent narrative, and it's usually the most interesting part of any given game.
There's two problems with it.
First is the obvious problem: it relies on the adaptability of human beings. Computers have a much harder time adapting.
The second problem is much more insidious: these plots are fueled by in-game opportunities. It's become clearer and clearer that players think in terms of using what they are shown, not engineering new content. Even the players which are exceptions to this rule and think in terms of engineering new content and long-term plots are insufficient to do the task: they simply don't have the means to provide other players with opportunities that those players can latch on to.
Now, the first problem is a problem which faces computer games. The second problem is a problem which faces live games, but can be solved by computer games.
So, I'm going to concentrate on the first point: adaptability.
Usually, when I talk about a generative plot system, I talk about an incremental system. That means that a player is given a little bit of data, then makes a choice and is rewarded with another event and more data. These are not pre-planned chains of events. The path the player will follow is forged as the player walks it, but in such a way as to convince the player that they are in the midst of a complex and interesting plot.
The idea is that there is a kind of rules system for determining what kind of progressions there are. There may also be a kind of "guide" system which keeps the plot on track rather than letting it wander around at random - there are lots of ways to do it. It is, either way, a highly complex system.
So, I saw Raph's NPC post, right on the tail of his ecology posts. I didn't get any further than the first sentence: "In thinking about the UO resource system in recent posts (1, 2, 3), I also got to thinking about other things that we either wanted to or tried to get the NPCs to do."
(Yeah, I read it later, but the rest has only a little do to with this concept.)
I thought to myself, "hey, ecologies of NPCs have been tried before. In fact, I've tried them before. But there's a nugget of newness here, descended from Chu Chu Rocket and Carnage Heart."
So this is the "chu chu carnage" theory of emergent plot creation.
Imagine your NPCs are components on a 2D field. The Incredible Machine style - lots of weird kinds of components.
The basic idea is that the player can run around and tweak these components. The player can point them in a new direction, or change the color of their laser, or even move them if they are moveable components. This is pretty similar to the Incredible Machine in most ways, but it runs continuously instead of play-stop-rearrange.
It would be fun: the player would get to experiment with making components do fun combinations of things. Instead of a simple reward system, you make a really complex reward system. If you fire a green laser here, you get a bonus, sure. But you also get a bonus if you create a blue laser feedback loop or if you can pop fifteen balloons in three seconds. Instead of having all your goals as specific to a level, you have goals which are universal to all levels. Such as blue laser feedback loops: any level you get a blue feedback loop in, you get a bonus.
Of course, this is just an example. The real goals would be far simpler with far more complex results. For example, any laser feedback loop, but the color determines what kind of bonus you get.
Now, here's the other half of the equation: that TIM-like image is just what you see when you design the game. The player simply sees the city he is wandering around in, and talks to people. To him, our "blue laser" is "love" or something. If the game world is complex enough, we might allow the player to see the real logic map as well, as that way he could plot out his course. But I imagine that level of complexity is not needed.
The idea is that the player will be running around hooking people up or making people angry or whatever. Instead of having generic NPC AI systems which adapt to this, each NPC is a kind of "component" that deals with the various social stuff in relatively simple ways. Simple but malleable and adaptive - changing even without the player there to tweak it. For example, a common component might fire a blue laser at anyone who fires a blue laser at her. Or another person who fires a blue laser at everyone of the other gender within reach.
The rules governing the objects would be relatively simple and not something that can always be ruled by the player. For example, maybe that waffling component will only settle down when focused on by a single blue laser for some time, so the way the player gets the waffler to settle is by interfering with anyone else who wants to fire a blue laser at her.
Anyhow, the point is that you don't have a bunch of largely interchangeable NPCs. You have NPCs which are carefully placed and designed so that they have the potential to create a fun plot. I've used primarily romantic examples, but the same basic idea could apply to getting people to go hunt a dragon with you, or convincing thieves to rob a bank, or anything else. The idea is that the components are carefully placed so that there is a system-wide reaction when the player changes something significant, and that system-wide reaction is a plot.
What makes this different from a normal plot, aside from the difficulty of designing a level? Well, first, it gives the NPCs a feeling of being alive (if handled correctly). Second, when the situation gets complex, it allows the player to be innovative. For example, if the player knows the situation well, he can plan ahead and tweak a critical piece, causing a very different cascade than the one you originally planned for.
Also, you could allow players to have a lot of control over creating their own plots by "pushing pieces into place". Imagine a tactical game where the members of your team are these kinds of components, and the team itself has fun social dynamics. I think it would be a whole lot of fun to try to get the team socially working together.
I'll try to work out a more specific implementation soon, but I think this "chu chu carnage" social system could work really well. :)