Log in

No account? Create an account
Game Dev-astation
Game Development from the Inside
Massively Mathematical Optional Rational Procedure for Game development 
19th-Aug-2006 11:53 pm
So I was thinking about this the other day, as I often do. I know I've been talking about MMOs a lot lately, but that's fairly typical of me. I promise someday soon I'll switch gears and start talking about other game genres. Still, that day is not yet upon us. I wanted to talk today about MMOs again... but this time the mathematics of MMOs.

MMOGs are all about time. The goal of the game developers is to spend as much time with their game as possible. This doesn't necessarily mean as much time spent *in* the game as possible, but rather with their game. While that doesn't make a lot of semantic sense at the beginning, it becomes clearer if you think about it. What online game companies want is for you to keep spending your money on them. This means that you need to get enough enjoyment out of their game every month to not cancel your account. However, how much time you spend per month doesn't need to be that much. There are 24 hours in a day, and roughly 30 days in a month. How many of those 720 hours are you going to spend logged in, eating up server resources and bandwidth? The 'optimal' player is one who keeps spending the money, but who plays a minimal amount of time per month. The problem stems here from striking that careful balance. Users are finicky people, walking that razor's edge is no easy trick. You want to maximize the number of subscribers, but minimize the amount of time each subscriber spends in game. In this regard, the original Animal Crossing was great. After you played for a while that day... the amount of stuff you could do just dried up, and you'd stop playing. Something similar to this would probably be what MMOG developers would like to do.

In a completely tangential note...

There was another thing I found very interesting, mathematically speaking, with MMO Gaming. In the MMOG genre, there's a couple of basic axioms that pretty much hold true: the more people you have in a single group, the harder it is to coordinate. The more people you have in a single group, the more specialized each individual player's contributions become, often becoming limited to only one or two major tasks for the entire course of the encounter. So, for example, you might have 5 or 6 people in a group, and they'd have widely different roles in the group, each covering many multiple tactics. However, take that group and increase its size... let's say to 30, 40, 50, or even 100 people, and the effective roles they take decrease significantly. A final fantasy 11 black mage will always be the damage dealer, but against HNMs they stick to the same spells repeatedly. In World of Warcraft, warlocks spam shadowbolt and reapply their DoTs. Hunters spam their damage dealing abilities, mages spam their damage dealing abilities, and it's pretty much reduced to a routine. Everquest was very similar... keep the buffs up, keep the debuffs up, damage the monster till it dies while clerics chain cast complete heal on the tank(s). Why is this?

Imagine an encounter where the players would have to react dynamically... maybe one would need to use skill A in response to attack 1, then skill B to counter attack 2, and so on and so forth. The more complex a role the players have in the group, the easier it is for them to cause the group to fail.

"Ok" you're nodding. "That makes sense. And large group encounters are way more complex than small group ones, right?"

Obviously, large group encounters are more complex on an overall level than small group encounters, yes. However, on an individual basis, they are actually *simpler* than small group encounters. How can I prove this? Here comes the math.

Axiom: The complexity of an encounter is directly proportional to how often a player will fail while doing it with full knowledge. This is a question of execution. If you know exactly what will happen, you will know what you (individually) need to do during the encounter. Sometimes you know you need to do three front kicks followed by a roundhouse kick when you see a red flag, but you just mess the timing up, or press the wrong button, or miss seeing the flag, or whatever. This leads us to...

Logical Conclusion A: The simpler an encounter is, the easier it is to execute. The more complex an encounter, the more difficult it is to execute. Thus, the more complex an encounter is, the less chance you have of doing it perfectly.

Make sense so far?

Logical Conclusion B: Since complexity directly decreases the chances of successfully completing the encounter, the more people you have, the more each individual's chance to screw up becomes magnified.

How's that work?

Well, let's say that you screw up. And let's say that if you screw up, you have a chance of wiping the group. Let's say that your chance of wiping the group is 50%, since you can screw up small, or screw up big. Then let's calculate your chance of screwing up. Let's say that in a very complex fight, you have a 20% chance of screwing up (80% chance to do it right). So your chance of screwing up and wiping is 0.50 x 0.20 = 10% chance to wipe the group. 90% chance to not wipe the group. The group of one, which includes only you, or people who never mess up. Ever.

So let's put you in a group of people who are the same as you. Let's say there are 5 people total. You and 4 you-clones. You all have the same chance of screwing up, and the same chance of wiping on a screwup. That means you've got 90% x 90% x 90% x 90% x 90%. This becomes magnified. The actual chance for the full group NOT to wipe because of a screwup is only 59%. This is with a 20% chance to screw up, and a 50% chance that given a screwup, you wipe the group.

So what's this mean for a larger group? With 20 people, you have a (0.90)^20 chance to not wipe due to a screwup. This means you have a 12.2% chance to not wipe due to a mistake.

With a group of 30 people, you have a (0.90)^30 chance to not fail. This equates out to 4.3% chance of success.

With 40 people, your chances of success are 1.5%. At Everquest's magical 100 person raid mark, the chances of success would be .0026% to succeed.

"Hogwash! I beat raid encounters all the time! They're on farm status, we beat them all the time." you may be saying.

Yes, you are correct. You probably do beat raid encounters all the time. You want to know why? Here's why:

Logical Conclusion C: Raid encounters have an absurdly low chance to fail on an individual basis. Let's say, for example, that you've got a raid encounter. And if you make a mistake, you've got an averaeg of 10% chance to wipe the raid (this is averaged out among every member of the group). Let's say that your average chance of not making a mistake (once again, spread out across the entire group) is 90%. So you've got an average of 0.1 x 0.1 = 1% chance to wipe the raid on a mistake. A 99% chance *not* to wipe the raid, any given attempt.

With a group of 5: 95.1%
With a group of 20: 81.8%
With a group of 30: 74.0%
With a group of 40: 66.9%
With a group of 100: 36.6%

If you're aiming for an encounter where groups succeed roughly 80% of the time, here are the individual chances of success you would need:

Solo: 80%
Group of 5: 95.64%
Group of 20: 98.89%
Group of 30: 99.23%
Group of 40: 99.44%
Group of 100: 99.78%

Now... while these numbers look similar, they are actually very very different relative to each other. In a group of 5, you've got 4.36% chance to fail. In a group of 20, you have 1.11% chance... almost 1/4th the chance of a 5-man. In a group of 40, you have a 0.56% chance to fail, roughly 1/8th the chance of a 5-man to fail. This is all in order to hit the 80% success rate for the whole group.

"Right, so it's easier to screw up in a 5-man, and harder to screw up in a big raid. Duh." is what you may be thinking.

Yes, my friend. That's exactly it... but not necessarily for the reasons you may think. If you ran a 40-man raid with individual difficulty equivalent to a 20-man, you'd have a .9889^40 = 63.99% chance to succeed. If you ran a 100-man raid with the individual difficulty of a 5-man group, you'd have a 0.9564^100 = 1.16% chance to succeed. The aggregate difficulty of a raid is more complex than a smaller group, but each individual's contribution *must* be reduced to a super simplistic state, or the group will have almost no chance at all of succeeding regularly.

This is why most raid encounters reduce most classes to performing a set (and very simplistic) pattern. You need to make it so simple that the average player can succeed over 99% of the time, when they know what to do. If they do not, they will not have a chance to succeed more than they fail.

9th-Sep-2006 04:52 pm (UTC) - I must respectfully disagree...
I believe that you formulated a good axiom from which to analyze the rest of the problem, but then lost your way in the conclusions. For example, you said "Logical Conclusion A: The simpler an encounter is, the easier it is to execute. The more complex an encounter, the more difficult it is to execute. Thus, the more complex an encounter is, the less chance you have of doing it perfectly." In fact, you could have a trivially simple encounter that a player will fail arbitrarily often. For example, consider the case of the boss with a "death touch" style ability that cannot be countered, but any attack from the player will likewise kill the boss. If the chance of the ability being used at the outset of the fight is 50%, the player has a 50% chance of simply being killed regardless of whether he knows the death touch can happen.

In a case like this, the encounter isn't difficult, it is simply random, (and, one might argue, unfair). Winning or losing doesn't really depend on what the player knows or does. Some WoW encounters are like this. If the randomly assigned Burning Adrenaline from Vael happens to select only primary healers, the chance the encounter will be defeated is small indeed, even if everyone else performs perfectly.

I would propose an alternate formulation: Each encounter can be thought of as a function that maps the set of possible player interactions onto the set of items in the boss loot table. A difficult encounter is one that has a very sizeable nullspace (that is, set of actions which are mapped onto the empty loot set, i.e. a defeat) and an easy one is an encounter that maps a sizeable number of interactions onto non-empty loot sets. Seen in this light, encounters can be thought of as a kind of Random Oracle (in the sense used in cryptographic proofs) that returns a deterministic result from random input in such a way that if the same random input is given again, it always maps onto a non-empty loot set.

From here, there are two obvious ways to make an encounter difficult: to make repeating the same set of player actions difficult, or to decrease the degree to which the function is deterministic, that is, to make it so that the same random input given twice does not imply the same result. From here, I would continue your deductions much as you did above.
11th-Sep-2006 05:45 pm (UTC) - Re: I must respectfully disagree...
It doesn't matter. Take a step back and think about it. In the uncanny event that Vaelastrasz continues to death touch only healers, that's still a just another percentage modifier (and a small one). It is always a possibility. It is a general formula; obviously for some fights there will be 'weights' assigned to specific classes of players (4 horsemen - warriors, vaelastrasz - healers, etc.). However, that doesn't change the fact that the rest of the conclusions based on this. Winning or losing *do* depend on what the player does. There are fights where single player contributions are less critical than others (golemagg), but this doesn't mean that the player still can't make a mistake and wipe the group. It just means that the chances of wiping due to mistake are incredibly low.


As the sample size increases, there will always be strange anomalies in the system, such as a vaelastrasz wipe that seems 'inevitable' or server hiccups that disconnect everyone. However, these are the extreme exceptions to the rule. Even with death touches, it doesn't matter. The encounter is designed to kill X players per minute. There will be X players that die each minute. Depending on how you assign your grouping, there will be the chance (assuming everything is random) that something weird will happen. However those fall far outside of the 95% afforded by 2 standard deviations in the sample space. So while it may be true that there is some combination of randomness that will make the game unwinnable in that instance, the vast majority of the time it will hold true.

The principle still holds for over 95% of the time. It's not gospel, but it *is* enough to draw a reasonable conclusion.
This page was loaded Apr 25th 2018, 4:21 am GMT.