This week's blog post ended up being a general-purpose article about MMO design. I'm working on revising the Shield skill's mods today, and I figured it might be interesting to talk about how a game designer does something like this.
Making The Model
Balancing an MMO isn't a science. It can't be. This is surprising to many gamers because they think that it should be possible to perfectly balance a game. It's just a simulation, right? Just figure it out! With math! But an MMO is much too complex for that.
Here’s an example I liked to use from Asheron's Call 2. (I've probably got the details wrong -- it's been a decade -- but you'll get the idea.) An archer could stand on the bank of a river and shoot a monster on the other side of a river. That was a good strategy because monsters moved a bit slower when they had to cross water -- they had to transition animations from standing to swimming, then back, which slowed them down by a second or two. As the monster got out of the water to attack, the archer could run backwards, still shooting, forcing the monster to chase it, all the while using obstacles like trees and bushes to confound the monster. But there was a catch: arrows in AC2 had physics, so if you didn't have a clean shot, your arrow would miss and hit a tree. Being an archer required a little bit of real skill, and situational awareness, and a tiny bit of planning.
So... how do you represent that situation with formulas? Well, you start with some observations to make a simpler model, something that approximates the bigger factors, and then you iterate. In other words, you make something up. MMOs are complex 3D spaces with obstacles and surprises. But even if it were a 2D game you would have similar problems. In fact, unless the game is turn-based (and pretty simple!), it's never possible to model everything. You have to abstract away most of the complexity -- leaving the right parts, and in the right structure, to get down to something you can deal with.
In the example above, we might say, "An archer tends to have time to make three attacks before a melee-only monster can reach them." That’s a guess we'd make after play-testing for a while. So we'd make a formula around this idea. Depending on our goals, we might give the monster a certain amount of extra health to compensate. Or we might make other kinds of monsters that archers have a much harder time with, or a million other things. But it's all based on that earlier simplification. In other words, it's all just bullshit formulas that we make up. Then we test them, see how they work, and repeat.
But ... how do designers actually do it? Spreadsheets. Lots and lots of spreadsheets. The spreadsheets are exported to custom tools, and those tools generate the data that the game server and client use.
(An aside here: I've been on development teams where the systems designers were expected to use fancy graphical tools that the tools engineers built just for them, for that game, to enter damage and health and so on. These tools are always worse than spreadsheets. Spreadsheets have had decades of development and they're really good at formulas. I sincerely suggest that MMO teams never waste time on graphical data-entry tools. Tools for object placement? Pathing? Appearances? Those tools are very helpful. But if something can be done in a spreadsheet, find a way to do it in a spreadsheet! As a bonus, training time is reduced because all professional systems designers already know how to use Excel. In fact, we've always known how to use Excel since birth. It's in our DNA.)
It takes a lot of these bullshit formulas to model combat. For instance, here are just a few of the balancing formulas for the Unarmed skill:
- Regaining 1 point of Armor is as good as dealing 2 damage
- Regaining 1 point of Health is as good as dealing 3 damage
- Regaining 1 point of Power is as good as dealing 5 damage
- Dealing 150 damage over a 10-second time period is as good as dealing 100 damage immediately
- Taunting +15 is as good as dealing 1 extra damage
With a whole bunch of these formulas, I can then "balance" the abilities and mods. If one mod deals +50 damage, another might restore 25 Armor. Balance! Of course, it's not balanced at all -- regaining 1 point of Armor is actually WAY better than dealing 2 extra damage! But since I only expect Unarmed to have a couple of mods that restore Armor, I've artificially inflated the formula so that they're more practical. More fun.
If the Unarmed skill ends up being too powerful, I'll revise some of these formulas as needed. But the first step is to make them fun, and only then do you try to clamp down on overpowered things. Sometimes a fun thing stops being fun after it's balanced. In that case it has to be thrown out. There used to be a mod that let Fire Mages stun with their Super Fireball. This proved impossible to balance. I tried turning it into a combo, but eventually decided the combo wasn't fun either, and ultimately I just threw the mod out. But that's rare. Usually a fun-but-overpowered idea can be watered down to make it fun-but-less-overpowered.
Living With The Formulas
Sometimes when a formula changes, it only affects a few things. If I decide tomorrow that Unarmed is regaining too much Armor, I can fix it in a few minutes. No big deal. But some formulas are ingrained into everything. For instance, there are formulas that determine how generally useful a mod should be, based on how many abilities the mod affects, how much Power they cost, and how fast their reset time is. When I change THESE formulas, everything breaks. In the October 31 update, I changed those formulas so that an ability's reset time is less important in determining the power of mods. Changing that formula meant that every single mod needed to be re-calculated. It sucked. But that happens sometimes because these formulas are just educated guesses about what will be fun without being too overpowered.
And sometimes, you just ignore the formulas. Here's a snippet of one spreadsheet (click to make larger):
This shows some of the balancing data for the mod that turns Hip Throw into an AoE attack. See the "Balance Problem!" column? Anything that's over- or under-powered turns red like that. I can either fix it, or write in a reason why I'm leaving it overpowered. (I deleted the "reason" from one of the columns so it would turn red for the screenshot.) I've decided that this particular mod is a "signature mod" for Unarmed, so it doesn't matter what the balance formulas say: it's staying. Every skill has a few of these. Almost all mods that turn a single-target ability into an area-effect ability fall into this category. Some other abilities just do really weird stuff, unique things that are probably not overpowered, but that I don't have any formulas for. In that case, I can either spend the time to make more formulas, or if it's a one-time effect that probably won't show up again, I would just leave it "overpowered" and write in an explanation in the "reason for overpowered" column.
But they can't all be special cases! Most of the mods need to fit into my formulas. This is where I get to be clever and creative. I have a "budget" and it's my job to make the most fun thing I can within that budget. I'm working on revising the Shield skill right now, and one of Shield's mods makes "Take The Lead" restore Health. This is a mediocre mod because Take The Lead is supposed to be used BEFORE combat begins, when you probably don't need healing. So I'm changing it to wait 15 seconds before giving you health. That gives you time to get hurt before the healing happens, and as an added bonus, my formulas say that delayed healing is cheaper than instant healing, so now the mod heals more than it did before. Finding clever ways to fit interesting mods into these formula budgets is a fun part of the job.
But I can't go too crazy because it's easy to break the formulas. For instance, if I made fifteen or twenty different Unarmed mods that all restored Health, Unarmed would be really overpowered. It wouldn't matter that each particular mod is "balanced" by my formulas, because the formulas were made with the idea that there wouldn't be very many healing mods! The formulas are only approximations and simplifications, and a lot of times the "corner cases" (as programmers call them) don't come out right. Basically, I have to avoid certain kinds of extremes.
Systems designers are constantly evolving their balancing model for as long as they have time. And there's never enough time! Each time I iterate, I need to see how it plays out. I'll collect combat metrics over a month or two to see if it seems to be working, if players seem to be using certain abilities, and so on. Then, if there's time, I improve things. I could easily do this as a full-time job and never run out of things to work on. In fact, an MMO could easily have two or three systems designers all working full-time on these spreadsheets, play-testing, studying metrics, and iterating. And they would still be saying "there's not enough time!" Systems designers always say that. It's always true, because the job is never finished.
I could ramble about this forever, but my break time is long over and I have to get back to the spreadsheets. I hope this was interesting to people who are interested in game design! Let me answer a few likely follow-up questions:
- Yes, this is a horribly inaccurate model of the game -- there are tens of thousands of numbers involved, but it's still a super-simplified representation of combat! And yet, it's the best approach available.
- Yes, this is what most systems designers do throughout the industry. Some designers are better at it than me... some are a LOT better at it than me, actually... but the basic idea is the same in every MMO.
- Yes, this means no video game will ever really be perfectly balanced. Even games that pride themselves on balance use this sort of model; they just spend more time improving it. In the case of a genre like RTSes, designers might use the trick of letting the AIs play against each other, then deciding that real players should be X% better than an AI, and make formulas from there. But underneath all the techniques we can use, it's still just a bunch of made-up formulas that are found via trial and error.
- Yes, that's Excel in the screenshot. I prefer LibreOffice because it's free, but none of the free spreadsheet apps can handle the complexity of an MMO's spreadsheets! (Yet.)
Finally, an observation: the MMO with the best at-launch balance I've ever seen was Aion. I played it in 2009 and it was surprisingly well-balanced. I haven't kept up with the game since then, so I have no idea how the balance is now, but at the time, the designers had restricted themselves to only using a few VERY simple ability types. This made it much easier to model the combat balance, which is extra important for PvP. But... well, the combat was pretty boring. (Unless you like PvP a lot more than I do.) That's the trade-off that MMOs always have to make: the more complex and interesting the combat is, the harder it is to balance.
Happy Thanksgiving, and I'll talk to you again next week!