Friday, I recorded some of the skill advancement systems I’d looked at, played with, or thought about. Sunday, HRose/Abalieno had comments about how math systems distance the player from the creative impulse that should be the heart of the game.
In defense of the concept of basing skill systems on equations, I offer the following rationale for modelling skill systems with math and equations instead of fuzzy concepts.
If you know how hard it is to advance a skill at a certain point, you can begin to tell how long (how many tries) it should take a place to advance the skill.
For instance, using what looks like it may be DAOC’s model, “Scaled skill improvement based on inverted rating,” at 400 skill, I should have an 80% chance to improve skill for any action my character performs (such as a crafting combine), or for every five combines, four will result in an improvement to character’s skill. By comparison, at 900 skill, 14% of the successful combines will improve the skill, or roughly three in twenty.
The game designer can take these numbers and say, “No, I believe skill improvements should come less frequently” and can tweak the equation to produce the results (and graph) that matches what is the design requires. The designer can also begin to estimate the average total number of combines that should be needed to max that skill, determine how long each combine should take, and provide a result for how long a player should spend maxmizing that skill and compare that with the goal in the design document.
The chance to improve (or succeed at) a skill should be generated as a table, either when the server starts or in a data file. It can be quicker to look this value up than to calculate it, especially when working with complicated formulas or those that themselves require table lookups (sin/cos/tan, etc.). An offset into an array of fixed length values is probably the fastest lookup method.
const double SKILL_IMPROVEMENT_CHANCE [100] = {1.00, 0.9999, 0.9980, ... };
. . . source code happens . . .
double get_skill_improvement_chance(unsigned int skill_rating) {
if (skill_rating > 99) {
return 0.0000;
} else {
return SKILL_IMPROVEMENT_CHANCE[skill_rating];
}
}
Nebulous statements like “it’s harder to advance a skill when you’re already an expert” need to be backed up by some rule. In a PnP game, it’s more likely to be a GM’s judgement call or house rule (“To save Lagolass from the poison, the master alchemist had to find the correct plant out of season, work under a time limitation, under stress as his friend lay dying, and with less than ideal laboratory conditions. I think he learned something.”). MMOs don’t operate with fuzzy rules, generally, and to keep the game moving reasonably well for thousands of players, things must be simplified and described concretely. If people complained that DAOC or Eve were spreadsheets turned into games, there were good reasons for it: the design had to be modelled somewhere, someway, and predictably. Failing to adequately state or model this kind of mechanic can lead to balance problems when the game is tested or goes live. It’s almost always cheaper to test something in a spreadsheet than it is to code it into a server.

February 27th, 2006 at 11:26 pm
What I criticized is not the rule itself, but the trend. I just picked up the occasion to rant about those points.
If you start to use that approach for something basic like the skill improvement, you’ll finish to use similar formulas to calculate health, mana, regeneration rates, to hit rolls, resistances and so on. At the end the game will be PERMEATED by those rules.
The point is: Is it possible to instead use a transparent system even for the players that is able to reproduce similar patterns?
That math is really necessary? Is it INDISPENSABLE?
I think it isn’t. There are better, much simpler ways to “translate” those rules.
DAoC is one perfect example of a messed ruleset that even Mythic’s programmers cannot figure out anymore. It grew complicated and inflated and the majority of the mechanics, even those directly exposed to the players, are incredibly hard to figure out and understand completely.
That complexity, imho, is useless. For the simple reason that I believe there are better alternatives.
I don’t criticize the merit of your rule or what it tries to simulate. I criticize the approach. In the case there’s a simpler one available.
Oh, and spreadsheets are probably the worst way to test the balance in a game. They are blind about the gameplay and are more rough approximation than the biased perception of a player.
There’s no need for spreadsheets when the game systems can be tested properly with a piece of paper, a dice and a pencil. That’s enough to simulate EVERYTHING.
February 28th, 2006 at 10:12 am
I can’t think of many PnP games which use pure percentages for character skills. Most that do (Rolemaster, for instance) are hybridized, with level advancement dictating skill improvement.
RuneQuest did. I’ll have to review my copy later to verify how skills advance, but it wasn’t “simple”–it could be done with pen and paper, but there was a reason that the RQ players didn’t encourage novices to join their game in my high school.
Star Wars (West End Games/Greg Costikyan) arguably did. Admittedly, skills weren’t based on percentages but dice were rolled against ranges. The Ghostbusters RPG, Shadowrun, and Traveller 2300/Twilight 2000/Dark Conspiracy, among others were similar. Each had different mechanisms for advancing skills, but most were generally purchased. Traveller (the original) was notoriously difficult for advancing character skills, but it could be done.
All of these, however, required some mechanism that would be more or less difficult to implement. Purchasing skill improvements isn’t a bad idea, but in the interest of simulation, MMO designers seem to have taken their cues from many CRPG designers and MUD developers: take advantage of the computer and let it keep track of what skills improve. Just like real life, skills only improve with use, and in game skills can advance as they are used.
Players also spend a lot more time playing an MMO than they would playing a PnP game. Dedicated RPers might play a single character for 24 hours a month, while typical MMO players may play 24 hours per week. Characters in MMOs are also more active than in PnP games: if you’re not out fighting something in 15 minutes in DIKU-derived games, you’re either crafting, RPing, or still stuck at the auction house. In a PnP game, it’s not uncommon to spend 30 minutes on a scene or important conversation, and more than that on a single battle. Time limits how far you can advance your character in a PnP game, and it may take a couple years to max out for a given campaign (say, level 20 for a D&D3E game), so the games are necessarily scaled differently.
An MMO character is played more often, and is more active during a typical session. (When was the last time a PnP character slaughtered 700 creatures in a gaming session without the use of explosives? My DAOC characters averaged that over a four or five hour session.) The game necessarily needs to scale differently, not just to keep the player busy for three months or more, but also to provide an appropriate feeling of the growth of power. Applying PnP rules to a PvE MMO would quickly cause the player to run out of directions for growth (and thus we have one of the reasons DDO has to be fundamentally different from D&D3E in character advancement).
However for PvP, players want their characters to max out quickly and to assume an equally competitive state with other player characters. In that case, your simplified PnP mechanics are absolutely appropriate: a minimum of PvE content with the focus of the game on PvP (ala Shadowbane) means that characters can and should max quickly and easier mechanics result in easier to balance systems. Arguably, even these systems should be reduced to mere equations so that actual character advancement in game can be verified against the expected rates to help find bugs or imbalances.