Pardon me while I name-drop. We had the chance to talk with Rob Pardo some at DICE and GDC, and from a couple of anecdotes I'm going to make a sweeping generalization - a reason Blizzard outclasses us is because the sorts of problems that I'm tempted to just make excuses about they actually solve. The example from DICE was a discussion about ladder systems: my feeling used to be "Use ELO" - like the true skill from Halo matches. Rob Pardo doesn't think ELO is fun. Which is the point where I start making excuses: "It's good enough for chess, for Halo, it works, it matches you with someone at your level."
But he's got a point - ELO has a number of issues:
It's fun to watch your ranking go up at first, until you hit a plateau, at which point the game can lose interest unless you're one of those "love the plateau" people. Again, I feel the urge to make an excuse: At least it's fun at first! It least it gives you motivation to keep playing for a while!
And whoever is the best doesn't want to play again, particularly if the game has some variance. All that can happen is their score goes down.
(I've been playing
Spectromancer a lot lately - I suck - but one thing they do notice on the system is that good players create new accounts for themselves so they can smurf - and have the fun of climbing the ladder again.)
I'm not going to tell you how Blizzard plans on solving these issues for Starcraft 2 - that may have been confidential.
One thing that isn't confidential, which was in Kaplan's WoW talk, is "progressive percentages." It's something they use on the drops during a quest in WoW - if drops were purely random, you'd end up with a couple of problems:
First of all, people are pathologically bad at recognizing true randomness. When you give someone a list of truly randomly generated numbers or coin flips, they'll see the streaks and often say, "That's not random!" (How many times have you heard somebody say that about their mp3 player or CD changer? Problem with random shuffles is often that they actually *are* truly random! (Though I once had a CD changer in my car that I was so sure wasn't random that I took the trouble to write down every disc & track it played for a while and did a chi-square (well, I asked Mark Nau do the chi-square) and was vindicated - it really did favor a couple of tracks much more than the other tracks, statistically significantly.))
Second, some people, some of your players, will get screwed by randomness. They'll get bad streaks. 1 out of 32 of your players are going to flip the coin five times and come up with "no drop" every time.
And they'll come to the programmer and say "Your random number generator is broken." (Apparently in the early days there were a lot of these sorts of reports on the Blizzard forums.) And here's where I make my excuse: when someone comes to me and tells me my random number generator is broken I say, "No it isn't, you're just suffering from the all too human tendency to not be able to recognize truly random numbers."
But it doesn't matter if it's broken or not, all that matters is it *seems* broken. And the guys at Blizzard fix it. They don't want to lose that 5% of players who happened to get enough of a bad streak that they decided to quit playing. But they want to keep some of the feeling of randomness in there. So - progressive percentages.
Which work like this: say you want an approximately 50% drop rate. Instead of it being 50% every time, you make it something like 33% the first time, and if they miss, you make it 50% the next time, and if they miss, you make it 66% the next time, etcetera. When saving the game from bad streaks you need to be careful you don't kill the good streaks as well.
Not technically random at all! But cool, huh? Blizzard doesn't even let the nature of random numbers mess up their games. I tell you, next time I find myself saying to some playtester, "Yes, I understand you think there's a problem, but there really isn't, and here's why..." I'm going to have to give myself a good kick.
Speaking of car CD players: I think my 2002 Grand Prix GT is either non-random or the firmware developers programmed a joke into it. One day it played my Nine Inch Nails - Year Zero tracks in the following order: 1, 3, 5, 9, 11, 13, 15, 2, 4, 6, 8, 10, 12, 14, 16. I bought a lottery ticket that day, just in case but did not win.
Posted by: Ted | March 31, 2009 at 07:13 PM
Well, blizzard got lots of bug reports on their RNG initially because it was, in fact, buggy. During the initial release, it wasn't uncommon for guilds to do entire Molten Core runs getting almost exactly the same drops as the week after week, sometimes exactly the same drops for an entire run. And when you have 10 bosses with giving 2 of 8 drops each on an approximately even distribution, the odds of that happening are vanishingly small. They 'fixed' this by moving to token drops instead of individual class drops. Yes, people don't recognize real randomness. But there was a problem.
Posted by: Skip | April 01, 2009 at 08:21 AM
I hear Civilization IV has a karma system. Basically, you get a bit of karma every time you fail in a battle proportional to how unlikely to fail that battle (so you get more karma to fail if you had 90% chances of winning than if you had 10% chances of winning). That karma then increases your chances of success for the next attacks.
Another approach is how in Settlers of Catan (on XBLA anyway) you can play with a set of cards instead of dice. The cards have the same proportion of each number as a "normal" spread of dice rolls. Instead a rolling the dice, you just pick a card and remove it from the stack. Once you're down to 3 cards, the deck is shuffled again. The nice thing is that limits the amount of lucky or unlucky streaks you can get. The bad thing is, it reduces randomness: if you drew a bunch of sevens, then you know that fewer sevens are coming in the future and plan accordingly.
Posted by: Pag | April 04, 2009 at 08:43 AM
I've slowly been coming to the conclusion that this topic is one of the hallmarks of the truly good game programmers I've worked with, compared to most other programmers - they have, I guess, an aesthetic relationship to math, statistics, interactions, correlations, shaping of possibility spaces, and so on - the ability to use equations and algorithms to produce results that are "good" rather than just "right" (which often means using math the way an impressionist painter might use paint rather than the way a physics professor uses math).
In the case of probabilities specifically, I wonder how much can be traced to D&D - a lot of times it seems game makers default to rules that involve purely random chance that has no memory and no connection to any other values that have been produced (of course you have a strength of 17 and a constitution of 5! The dice said so!). Makes good sense when fallible humans are running a game (and where Dungeon Masters routinely organically do, in fact, fudge random results that are aesthetically unfortunate), but clearly there's no reason that ought to be the default for computers which, really, a pretty fond of remembering numbers and doing math.
Posted by: Nathan McKenzie | April 04, 2009 at 12:16 PM
I can't count the number of times I have had this conversation with programmers on several different projects. Often times, I'll bring up the point that true randomness is not fun because of scenarios where items drop irregularly or enemies reuse the same attacks over and over. The diligent programmer will proceed to check the number generating algorithms and point out that the generator works as intended. The thing is, players don't care about "as intended/accurate" representations as much as they care about fun. Now when I suggest adding a mechanic that requires randomness, I will usually propose a way to weight the randomness in ways that create better player outcomes. I agree with you that doing things this way can be challenging at times and I applaud Blizzard for building this design into their systems and following through with it.
Matchmaking is a whole different ball of wax, and I wholeheartedly agree that ELO/TrueSkill matchmaking kills my enjoyment of online gaming in many cases. The anecdote I always like to bring up is the fact that I had a 0-5 record (approximately) on Ridge Racer 6 for the 360. I'm going to assume they use TrueSkill matchmaking for the time being (which I realize may be a bad assumption). The next opponent I was matched up with was the number 1 player in the world. While I chalk that up to what was probably a low player population count, it was a fairly telling moment for me. The problem is that a good matchmaking system is not enough. I'm a big fan of online systems that allow players to earn rewards along the way whether they are dominating the competition or not(leveling up in Lost Planet, earning new gear/classes in Call of Duty, and earning new ranks and medals in Halo). While this doesn't necessarily fix the matchmaking issue, it keeps players engaged enough to keep coming back. Through repeated practice they can improve their skill over time and gather a new set of tools that can help them win in the future.
Posted by: Max Szlagor | April 04, 2009 at 07:18 PM
I wasn't hoping to find better information on this.
Thank you for sharing your thoughts
Posted by: On a cheap vacation | July 17, 2009 at 12:07 AM