Sunday, May 13, 2007

Mission Generation in a Star Trek MMORPG

Let's consider the systems by which a MMORPG generates missions/quests for characters. (Let's use the term "mission" for now.)

The usual way of providing mission content in MMORPGs is to define each mission as an example of a type of mission. For example, there are Destroy missions (destroy a character or structure or object), Recon missions (move to specified coordinates), "Fedex" missions (collect an item from one person/place and deliver it to another person/place), Escort missions (locate a character in one location and keep her alive while traveling with her to another location), and so on.

In some cases, these missions are skill-specific -- some are for combat characters, some are for stealthy characters. If missions are designed to require characters with specific skill types, then the mission-generation system communicates that information so people can pick the missions they have a reasonable shot at completing successfully. Information about whether a mission requires a specific character level or group size is also usually provided.

One thing about this approach to mission generation is that it's rather fragile. It doesn't cope well with changes that occur after the mission is accepted, such a character's level changing or characters leaving a group.

So let's consider an alternative. Instead of a system that generates static missions whose requirements never change from the instant they're created to the moment they're completed, and which therefore can become impossible if someone disconnects, what about a system that allows mission requirements to change depending on who's currently in the group and their capabilities?

This is "dynamic mission scaling." It's not a novel suggestion, but just for fun let's have another look at it anyway.

Dynamic mission scaling allows a generalized mission to be generated -- "End the Orion pirate blockade of planet Zirconia VII" -- then when the challenge actually begins, the specifics of the challenge are dynamically adjusted to be appropriate for the number of people in the group and their skills.

Let's say you're in a big group of characters with lots of combat skills. When you reach Zirconia VII you might find that the pirates are well-armed and hostile. If on the other hand you're in a small group with diplomatic skills, there might be just a few pirates who'd be willing to negotiate a trade agreement with the Zirconians. (Note that it would be good to randomize this slightly -- you don't want to present players with the exact same type of challenge every time. Sometimes peace is possible; sometimes diplomacy breaks down.)

The key to dynamic mission scaling is that the specific details of the challenge are generated only at the moment you actually reach the mission starting point, not when you accept the mission (as with static missions). Overall, it seems to me that this dynamic mission scaling approach offers a number of benefits:

  • It would allow for changes in your party's membership right up until the moment the mission action starts.

  • It would work for both groups and solo players.

  • It would maximize the value of a group's (or soloer's) best skills, no matter what those skills are.

  • It would allow missions to have multiple solutions rather than having only one "right" answer.

  • It would eliminate the need for developers to hand-craft every single mission.

  • It would still permit static, hand-crafted, required-skill missions (such as for a main storyline).
Of course this approach has some drawbacks as well:

  • A generalized mission-generator takes more time and care up front to design and implement.

  • Some gamers may prefer that every detail of a mission be locked down and clearly spelled out before they take that mission.

  • It minimizes the value of pre-mission preparation, which some players enjoy.
Bearing in mind the cost of these potential drawbacks, if this dynamic approach were used I believe it would make the loss of a group member a lot less painful. And that should translate directly into "more fun," which is what a game ought to be all about.

Would players find something like this acceptable? Or are there big problems with it that would make it even worse than the static "one disconnect and you've all failed" mission generation systems in use by MMORPGs today?