 

|
Story
arcs and quests
(Back to TOC)
22 December 2005
by Mike Rozak
It's now time for me to wrap a number of ideas together...
Quests
Just about every virtual world has quests, and
as I've posted many times before, I feel that quests are critically
important for the future development of virtual worlds and computer games in general.
To summarise what a quest is:
- Players are provided a bit of narration and given a goal
to complete. Contemporary MMORPGs usually rely on either "Kill N monsters of type
X", "Acquire N items of type Y", or "Deliver item Z
to NPC A". Some even include, "Escort NPC B to location C."
- The player runs off and completes the actions.
A recent (aka: in the last 10 years) feature is to actually show the player their
progress, displaying "Only 7 orcs left!" after an orc has been
killed, or "Only 3 rat tails left to collect!" after a rat tail has
been collected. This automatic tally capability is important, as I'll
discuss in a bit.
- Once the player has completed all of his tasks, he is either rewarded
immediately, or returns to the NPC to receive his reward.
Of course, such a simplified description of a quest is like
saying that a novel is merely "about a character that gets into conflict with
another character." While the statement is true, it doesn't explain the
subtleties that actually make novels interesting, nor does this oversimplification of
quests do much to explain their potential.
Since I've discussed the potential of quests many times
elsewhere, I want to talk about the "automatic tally capability".
Code associated with quests
When a player kills an orc for a quest, most MMORPGs
increment a counter in a structure (or database) that's linked to the character's
instance of the quest. The, "You have 4 orcs left to kill!" message is
displayed. When the counter reaches a preset value, the quest is done, and some code
executes that says, "You finished your quest!"
In most MMORPGs, quests are NOT C++/programming objects.
They are database entries with associated "global" code for counting
quest-related actions. What quests they were objects?
Imagine that whenever a player undertakes a quest, a
new "quest" object is created. That object attaches itself to the
player character and "goes wherever the player's character goes". It sits
silently and watches what the player character does. When an orc is killed, the object
registers this fact, increments a counter, and displays, "You have only 4 orcs
left to kill!"
Ultimately, this is more work. What does it get you?
- All the code for a specific quest is nicely encapsulated.
- All "FedEx" quests are merely sub-classes
of the master FedEx class. All KillNMonsters are merely sub-classes of the master
KillNMonsters class.
- Something wonderful... Turning quests into
objects unifies many of the concepts I have discussed in previous articles.
Object + Quest = Story arc
Since I want to distinguish "Object + Quest" from
just quests, I'll call "Object + Quest" story arcs.
A story arc easily enables the following
ideas:
- Story arcs enable quests, or at least the
monitoring of quests, as above.
- Story arcs can be used to create quest arcs.
After a player kills 10 orcs, they're asked to kill 10 ogres, and then 10 trolls. In this
case, there are four story arcs, one for each monster-killing quest, and one that holds
them all together. Contemporary MMORPGs handle quest arcs by asking the player to kill 10
orcs, then as soon as the orcs are slain, ask them to kill 10 ogres, and as soon as those
are slain, introduce the 10 troll quest. Using a story arc, the player might kill 10 orcs
and think they're done with the quest. Several hours later, they might
receive some mud-mail from the NPC saying, "Help! Thank you for killing the orcs
two hours ago, but unfortunately some ogres have moved into the abandoned orc layer!
Please kill the ogres! They're worse than the orcs!". Several hours of delay (a)
makes the scenario more believable, (b) creates some nice intertwined storylines that
weren't possible before , and (c) makes the player feel responsible for causing the
problem with the ogres, producing sympathetic goals.
- When a player character acquires a personal NPC, they also acquire an associated story
arc. From time to time, this story arc creates quests that involve the personal
NPC. The story arc for a troublesome pet might cause it to run away, eat the
neighbour's chickens, be kidnapped by the player's personal villain, etc. (You could
incorporate some of these quests into the pet's AI and bypass the story-arc object, but
the best way to have the player's personal villain kidnap the pet is using a story arc.)
- When a player makes a choice that leads down a different
branch of the story arc, the current story arc object could be replaced by a new one.
For example: If the player doesn't opt to rescue his kidnapped pet, it
might side with the villain and become the player's personal villainous side-kick.
Similarly, a player could team up with the 10 orcs instead of killing them,
causing the "den of monsters" story arc to be replaced with the "working
for the orcs" story arc.
- A story arc can be used to monitor and control the main storyline.
- A story arc can be used to monitor and control intertwined storylines, which means that players
aren't all racing towards the same long-term goal. This uncertainty produces more
interesting relationships between players, since if everyone is trying to kill the evil
overlord then the obvious answer is to work together. If some players are trying to slay
the evil overlord, while others are working form him, and still others could care less
because they're trying to discover the lost city of Atlantis, player interactions are much
more uncertain and complex.
- Story arcs also tie into the player
pyramid, since for the player pyramid to work, some players must be
innkeepers, some town mayors, and a few be overlords. A story arc (or two) associated with
each "role" in the player pyramid can spice up the player's experience.
Alternatively, you can think about a "role" as coming with a "personal
NPC"; after all, innkeepers have inns that need to be taken care of, and overlords
have kingdoms that need protecting. Not all of the threats/activities for an inn or
kingdom will come from other players. Some will be computer generated and controlled by a
story arc.
- Finally, you can think of a story arc with AI as personal game master, whose purpose is to make the
player's experience more fun. Of course, it will be decades before AI gets this good.
Some random thoughts...
Story arcs could easily perform the following tasks:
- Monitor the players' actions. At its simplest,
the object counts the number of monsters of type X that a player kills. More complex
monitors watch the player's moral behaviours, or even what they say to other players and
NPCs.
- Steer players towards certain content, by
sending players mud-mail, or having relevant NPCs "coincidentally" meet players.
- Steer players into meeting other players,
either potential friends or enemies.
- Tamper with the minds of NPCs to maximise the
"story". The most obvious approach is to put words into the NPCs' mouths.
- Allow players to access story-arc specific content.
- Control which version of fractured
reality a player character will enter. Is the village of Whitherwill peaceful
and oblivious to a future attack, in the process of being sacked, or recovering from the
attack?
- Make choices (detected by monitoring the
player's actions) that replace the current story arc with another.
- Create other story arcs.
- Create NPCs and objects as
needed.
- Create instances of content as needed.
- Actually create content... eventually.
Procedural content, like Anarchy Online uses, might be acceptable once in awhile
though.
- Cause "acts of god", such as falling
meteorites, that might either hit the player character, the player's enemies, or lead to
quests.
You should allow players to turn off their story arcs
if they don't wish to be manipulated; Theoretically, a story arc will make the experience
more fun though, so players will want to have story arcs enabled.
Some deeply random thoughts...
- Players explore/experience a physical world
constructed from three dimensions, landscapes, dungeons, puzzles, traps, etc. (This is
adventure game and CRPG fare.)
- When players talk to NPCs, they explore a mental and
social world, manoeuvring their way through conversations, social ties,
personality conflicts, etc. You could imagine, for example, that taking part in a
conversation or trying to climb a social ladder is like wandering through a maze of twisty
passage, all alike. (Chris Crawford's AI is working in this direction. CRPGs have NPCs
that aren't interacted with on a mental/social level.)
- Story arcs let players explore a relational world,
where choices and actions have long-term ramifications. Choosing to slay 10 orcs means
that ogres will take over their abandoned stronghold later. Story arcs can be used to
explore consequences.
|