(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.
Share with your friends: |