22 January 2010

January Challenge #22:
Computationally Epic

Yesterday, I promised to share one of my more half-baked ideas. I've fired this idea across the bow of more than a few colleagues. Some think the idea has promise, some think I'm an idiot, some are dismissive, some feel threatened.

One of the great strengths of multiplayer virtual worlds like World of Warcraft and Everquest is the shared experience. Maybe you've never played with a certain person before, but if you've both played the content in a certain realm of the game, you've played the same quests. You have an instant connection and topic for conversation.

But I think this great strength can also be viewed as a great weakness. The notion of a world setting with such a tremendous population of an "adventurer" social class (read: armed vagranta who make their lives in the cracks of society, dangerous to the ruling class but too useful to be done away with) is a pretty big stretch. But once you swallow that pill, the nature of the dominant quest system shatters any immersion you might have attained.

The old man at the edge of town has been ranting about the same bunch of ghosts that no one else has ever seen down in the mines, no matter how many times they've been cleared out. The Baron's daughter never stays rescued from the trolls. The dark figure in the corner of the inn keeps offering a sack of gems to anyone who will clear the demons out of his ancestral home.

These stories are never resolved. It makes a certain sense from a development standpoint. Those quests took time and talent to design and implement. The studio wants to get maximum value for the effort.

I'm suggesting something much more ambitious, a quest generation system that assembles a quest from the base elements of story and game design and presents it to the first player to come along.

Story atoms are arranged in a pleasing, meaningful way to create a good story. The method of this arrangement can be thought of as a grammar, a set of rules to define how elements are combined and flow from one to another to create meaning. Anyone with a computer science degree reading this is starting to nod their head. An important early exercise in the study of computer science is the construction of a basic grammar.

A quest system designed to assemble potential stories looks for atoms in the virtual environment to connect according a grammar. But where do the atoms come from, especially if these stories are expected to reach conclusion and go away?

Saga of Ryzom features an ecological modeling system. If a prey species grows in population, one or more predator species will likewise grow in population to eat it, and the prey's food source will shrink from over comsumption. These variables and many more dynamically create an emergent ecology.

Think instead of an ecology of story atoms. Different sorts of atoms connect to others in different ways, like a predator species eats a prey species. The element on each end of the connection contributes an interface that can connect only with compatible interfaces. Uncoupled interfaces are detected by the ecology simulation and the chance of spawning a story atom with a compatible interface is increased. So a kidnapping victim is only a potential victim until a kidnapper is spawned.

The element that the system shouldn't spawn is the Hero. There should be plenty of those wandering around, directed by the human participants in the simulation. Once one of these is added to the equation, the Distraught Matriarch with Money to Burn offers a reward to Rescue her Son from the Ogress on the High Mountain, and the Call to Adventure is issued.

Notice that last named atom, Call to Adventure. The stages of Campbell's Monomyth are also story atoms but are interstitial, more part of the grammar than ruled by it, though they can be said to be ruled by their own grammar. Thinking in terms of finite state machines, the stages of the Monomyth could be defined as states through which the story as FSM must progress to reach conclusion. Each state defines the specific rules of the story grammar differently and sets different rules for entry to and exit from the state.

I'm not saying that this would be an easy system to implement. Far from it. But I think it's ultimately possible and worthy of the effort. I'm also not saying that quest/mission/level designers and writers would be obsoleted. I envision this system as providing a source for infinite non-repetitive side quests for players to pursue at leisure. The core quests and arching meta-plot for the setting should be human-crafted for that special touch that computational systems can't provide (yet).

But the freed-up creative energy, no longer bogged down with the challenge of designing engaging side content, could be put to much more productive use making a knockout central story. And I think that would benefit everyone.

1 comment:

  1. To those of my universe, not so crazy an idea...
    I experiemented with an idea like this back when I was playing with the NWN game and core engine I got as far as the most simple ecological model.
    Towns people + Wolves in the forest.

    But what you propse is much more of having an AI.
    From the "Hamster wheel of Ideas" that existis in my universe...have you made a periodic table of story atoms yet...then if we have the table we can write the basic equations...discover the bonds that an AI can play with....and a player can break...