Costing Abilities and Motivating Players to Advance

Blizzard’s been taking advantage of the Wrath of the Lich King beta to make major changes to their core RPG. This is a nice situation for them — they get to iterate, they get tons of player feedback, people are actively playing (unlike most games’ test servers), and they don’t destabilize their live service.

One of the latest changes is a change to the way that mana costs are calculated. They’re switching from the normal fixed costs for particular spells (Generic Fire Nuke (Rank 1) costs 17 mana and by god, it always costs 17 mana) to scaling percentage costs (Generic Fire Nuke (any rank) costs 10% of base, unmodified mana no matter what).

A few players are excited, but the majority are unhappy about this because it does away with “downranking” — casting a lower-level version of the same spell because it costs less mana and is more efficient for your purpose. Healers do this quite a bit. If I know that my target only needs 1k HP healed, why should I spend a ton of mana to cast my max-rank heal that heals for 3k, when I could cast a lower-ranked version that heals for 1k and costs much less mana? Smart healers usually play with a couple of different ranks of several of their spells on their cast bars. Hey, it’s strategy!

Usability-wise, in World of Warcraft, where your spellbook displays all the old ranks, it’s not hard to sit there and do the mana-per-HP healed calculation yourself, or you can use a mod like DrDamage to do it for you. (People downranked in Shadowbane too, but they had to rely on oral tradition to get the slash command to access those “obsolete” spell ranks.)

Loss of the strategy of downranking aside, it’s a good change for the designers, in terms of using their time efficiently.

When I’m costing a spell the traditional way, I’ll use a spreadsheet that says something like “okay, this is a level 10 spell, and at level 10, you should have about this much mana and this much mana regen, and I want you to be able to cast this spell this many times before you run out of mana.” I’ll have to do that for every rank of the spell, taking into account how much mana and regen I think the character should have at that level. And later on, I may have to revisit those numbers once I mine the character data to confirm those expected mana values — if that data is available to me.

Generally speaking, I want that number-of-times-cast value to remain consistent as the character gains spell ranks, because it fits the player’s expectations — a lowbie spellcaster knows that she can kill a certain number of mobs with Generic Fire Nuke before she has to rest, and every time she gets a new rank of Generic Fire Nuke, that should remain the same as before. In other words, her downtime shouldn’t fluctuate dramatically as she advances, because downtime is a defining class characteristic.

The percentage cost model makes my life a lot easier. I don’t have to figure how much mana I think you should have at that level, and I don’t have to check the character data to confirm. I just say that I want you to be able to cast Generic Fire Nuke about 10 times before you run out of mana, so I say it costs 10% of your mana. DONE. (Okay, it’s not quite that simple because I need to account for mana regen, but I’m still DONE in a lot less time.)

Now, this breaks down a bit if new spell ranks aren’t granted quickly enough. Lowbie Spellcaster will find that she has to rest more often, killing the same number of mobs, because Generic Fire Nuke does less damage relative to the content she’s doing, so she has to cast it more times, but she can’t cast it more times because it still costs the same percentage of her mana. Theoretically, with traditional fixed costs, if her mana pool was scaling at the same rate as her other stats, she’d be able to cast it more often before resting to make up for doing less relative damage. (However, this means that her mana pool needed to scale properly … but math is hard and it doesn’t always work out that way.) And she still feels slightly less powerful with every level that passes without a new rank, because she has to cast more often.

The thing is, stairstepping is required to make advancement feel meaningful. I wouldn’t do percentage damage to make up for that problem. Damage is usually figured as a percentage of the intended target level’s HP, same as the traditional way of doing mana costs. The Generic Fire Nuke I intend for Lowbie Spellcaster to use at level 10, versus level 10 opponents, is probably supposed to do N% of the average level 10 mob’s health. If Lowbie Spellcaster use that rank of Generic Fire Nuke against level 12 opponents, it’ll do less relative damage. But this is the way it should be. It motivates Lowbie Spellcaster to get off her ass and level to earn the next rank, same as Lowbie Fighter should be motivated to level to use a new sword. When they get their respective rewards, they feel like they’ve accomplished something.

Going back to WoW’s situation: the loss of downranking, to be fair, might increase workload because the designers may want to build and maintain abilities that perform the same purpose (like small, low-cost heals for that poor shaman in the thread I linked). But in the long run, percentage mana costing makes their lives easier. If I were balancing an RPG right now, I’d be inclined to make the same decision.

Age of Conan Combat Statistics

Because these things are good to know.

Shadowbane’s combat outcomes were similarly based on ratings, determined by gear and base statistics, not level. But if I remember correctly, attack rating and defense rating only determined chance to hit. Damage wasn’t scaled.

Guild Wars Designers, Maintaining More Crap than Ever

I haven’t seen anyone else point this out, but after many years, Guild Wars has opted to create different PvP and PvE versions of abilities. I’m not familiar with the scope of the problem, but it must have been pretty bad to cause them to choose such an ugly and inelegant solution after so much time without. Looks like the first revised data rolled out a few weeks ago.

Warhammer Online’s Balance Philosophy

Sayeth Jeff Hickman:

We think of Warhammer Online as a PvP game that also has monster and PvE content. So, when we balance our careers, we balance the content around player verses player, not fighting monsters. We balance the classes against each other. Then, instead of balancing those classes against the monsters, we balance the monsters against the classes. Our philosophy is to make the best PvP game in the world and build the PvE content around it. We know how much damage each class can do and take, plus all the utility each class can provide. So, instead of balancing each ability, we just need to modify the overall damage output and absorption of each career.

Excellent! That’s exactly how to do it.

There’s a helpful shortcut for building PvE content here, too — for the first pass, anyway. Keep monster performance as close as possible to player performance. That way, you don’t have to do a separate PvE balance pass. And it gives you another argument against doing separate combat formula and values for PvE and PvP, which is absolutely abhorrent and a terrible, terrible idea. It’s a bitch to maintain, it’s hard to communicate, and it’s just not elegant.

Links for Wednesday

Charting WoW Balance Changes

I’m home with a cold. Thanks a lot, fellow AGDC attendees, for getting me sick. I’m home drinking Nyquil on this fine Monday morning. Maybe too much Nyquil.

I got up this morning to email my boss and send out a few mails I had planned to take care of at work this week, one of which was to mail out a link to an interesting website a World of Warcraft player put together: Changes from Live Patches to World of Warcraft Classes, via the Elitist Jerks forums. He’s listed every class change made since the beginning of recorded history (i.e. early beta), and he’s categorized it by buffs, nerfs, bug fixes, changes, new features, and overhauls. (If you read the Elitist Jerks link, you’ll see that he’s been revising the classifications with their feedback.)

As I reviewed the list, I realized that if I sat back and squinted, I could see patterns in the category colors, and it occurred to me that I could write a Perl script to parse the data and chart it. (Thanks, Nyquil!) But I’m home, and I don’t have Office on my new desktop, and my laptop’s screen is broken. Enter Google Docs and their (new-to-me) charting feature.

Class-specific charts after the jump.

(more…)

What’s Going On

Thanks for all the kind comments and emails. My wrist’s recovery isn’t quite on schedule — I was supposed to be able to type by now, but the doctor’s telling me to wait for another freaking month. This has significantly hampered my ability to work, but after a few days learning to target with the keyboard, I’m playing WoW at about 90% efficiency. It helps that I’m a caster druid, so my job is to either “tab to target, hit Moonfire hotkey, hit Insect Swarm hotkey, hit Wrath hotkey a bunch of times, tab to next mob” or “hit f key to target groupmate, hit Lifebloom hotkey, wait … hit Lifebloom hotkey, wait … oh shit, hit Healing Touch hotkey, wait …” About all I ever have to type is the initial “am I healing?” when I join the group.

This may say something about group gameplay and dynamics in WoW — not that I’m complaining. I’m happy I can do something other than watch Star Trek: The Next Generation on DVD.

In “stuff I wish I could comment on further that’s come up in the last few weeks:”

  • The discussion on guilds at Will’s is timely, because another one of my recent WoW activities has been shopping for a raiding guild. It’s been an interesting experience, and I plan to rant about it later. See also Kevin’s followup commentary.
  • Terra Nova talks PvP balance. I’ve done PvP balance for a long time. I eventually discovered a secret to making changes that feel responsive, rather than change-for-the-sake-of-change or an attempt to jerk players around: wait until the last minute to commit changes. Producers hate it, QA complains, but if you fix a perceived problem and sit on it for two months, nine times out of ten that’s enough time for player ingenuity to solve the problem on their own. Then you post the patch notes and they think you’re an out-of-date idiot, and you are! (Well, regardless, they always think you’re an idiot.) (And assuming that the game mechanics allow for sufficient emergent behavior.) I’ll have lots more to say on this in the future, heh.
  • Darius Kazemi’s new metrics middleware company gets off the ground. They have an extremely awesome blog so far. I expect they’ll be an extremely strong competitor to Emergent.
  • Holy shit, Rush Limbaugh intelligently defends games. Well, he defends games by way of comparing them to guns, which doesn’t really work on the target anti-game audience, but hey.