Psychochild's Blog

A developer's musings on game development and writing.

16 February, 2008

Designing an attribute system

Filed under: — Psychochild @ 2:37 AM
(This post has been viewed 3414 times.)

I've talked quite a bit about attribute systems in the last few posts. So, let me step through the initial steps I would to create an attribute system in a game.

I'll only cover the basics, since after this point a lot of the decisions would be different for different games. I'll also make comparisons to WoW's system for comparison and to show the different design philosophies.

So, to recap, in a previous post I talked about some flaws in attribute systems in general, specifically about the WoW attribute system. Then, the most recent Weekend Design Challenge dealt with listing possible attributes.

So, before we dive into this, I want to define some terms. Note that these also define the major points of a combat system in a game.

Offense - Inflicting something (damage, a status effect, etc) on an opponent.
to-hit - Chance to succeed at an offensive action.
magnitude - The size of the offensive effect. For normal combat, this is damage.
resource - What fuels the offensive action. For spells, this is usually "mana" or "spell points"
Defense - Defending against offensive action by an opponent.
avoidance - Chance to completely avoid an offensive action.
mitigation - Reducing the effect of an offensive action.
endurance - Some measurement of how much offensive action a character can take. This is usually some form of "hit points".
Regeneration - How fast Offensive resources and Defensive endurance becomes available after being expended. Note that this value can be different for offensive and defensive stats.

Let's dig into an attribute system. Of course, some of this might be different for different genres. For example, in a modern setting you might not have "magic" ratings. It might make more sense to make more of a distinction between melee/hand-to-hand and firearm combat.

In most fantasy games, you have three major types of effects: physical damage, magical damage, and special effects. Special effects includes things like stuns, polymorphs, etc. So, consider each affect with the list above. Physical damage is the easiest since that is what the list is based off of.

Let's take a moment to see what stats affect these basic elements for physical combat in WoW:
physical offense to-hit - weapon skill, +hit, expertise
physical offense magnitude - Strength, Agility, +damage, +crit rating, armor penetration, haste, weapon damage
physical offense resource - Depends on class.
physical defense avoidance - Agility, +dodge rating
physical defense mitigation - armor, Agility, Strength (with shields), +block rating, +parry rating, resilience
physical defense endurance - Stamina, +hit points

So, what do you notice? First, Agility is overrepresented in that list. Also, notice that no attribute helps to-hit, it's primarily affected by a skill that needs to be maximized with each level. Also notice that there are many different attributes that can increase physical damage; although the different attributes will raise the damage in different amounts for different classes.

Also note that you can have different types of attributes. For physical offense magnitude, you have things which give a constant improvement (+damage), and things that give a chance at an increase magnitude (+crit). As +crit increases, the damage becomes more reliable, but it's still just a chance to get an increase in the amount of damage.

Offensive resources are perhaps the most interesting aspect of WoW physical combat. Warriors have Rage which is not affected directly by attributes. Rogues have Energy which is not affected by attributes; they can increase their maximum energy pool through different special equipment effects. Other physical classes, including Hunters, Shaman, and Paladins, have mana which can be increased by Intellect. Druids, being an odd beast (or two), have all three resources, but only one at a time depending on their shapeshift form. This is different than previous games where all classes had a generic mana pool that was drawn upon and replenished over time. This is one area in which WoW was really unique and interesting.

Now, let's take a look at magical combat in WoW:
magical offense to-hit - +spell hit
magical offense magnitude - +spell damage, Intellect, +spell crit, base spell damage
magical offense resources - Intellect, +mana
magical defense avoidance - resistance
magical defense mitigation - resistance, resilience
magical defense endurance - Stamina, +hit points

Defensive endurance is the same pool of hit points used for physical defensive endurance, so the attributes are the same. But, notice how there are fewer attributes that control magical effects. In fact, at launch there was no way to increase offensive to-hit. There was also little way to increase offensive magnitude of effect beyond buying new spells, the only major element was increasing spell crit. The only attribute that affects any aspect of magic is Intellect.

On the defensive side only one attribute really matters for magic-specific damage: resistance. Increasing this attribute increases both avoidance and mitigation. Resilience reduces some damage over time (DOT) magical effects. However, note that it is hard to get a very good resistance to more than one type of magical damage, and even getting good resistance to one type of magical damage usually reduces a lot of other (usually offensive) attributes.

Regeneration is handled by the Spirit attribute. But, due to the way resources and endurance regenerates, this stat has limited use.

In WoW, some of these factors were affected by Talents; for example, Druids in a special form get a bonus to magical healing ability from Spirit, but that's a very special case. These quirks are beyond the scope of this discussion.

So, now let's talk about special effects. This is interesting, because there is no direct example of these stats in WoW.

special effect offensive to-hit - the chance to land a special effect.
special effect offensive magnitude - the duration or amount of the effect.
special effect offensive resources - an interesting question...
special effect defensive avoidance - the chance to completely avoid the special effect.
special effect defensive mitigation - the chance to reduce the duration or amount of the effect
special effect defensive endurance - an interesting question...

Now, the issue about special effect resources and endurance is interesting. Usually these are the same as whatever the character's primary resources (mana, etc.) and endurance (hit points, etc.) But, what if these were separate pools? One game that did something like this was Star Wars Galaxies with its HAM (Health, Action, and Mind) pools; although there were some balance issues, particularly in PvP, that exposed some flaws in that system.

Now, you can divide each of these areas into sub-divisions. For example, for special effects you might have a variety of effects: blind, stun, knockdown, bleed, etc. You could have special Offensive and Defensive values for each of these types. A more common division is to have different values for melee and ranged physical Offense/Defense.

Now we face a problem: that's a lot of attributes! We're looking at 18 different attributes to track, if we keep resources and endurance separate, before we even start talking about regeneration. This is one of the reasons why games use attributes to derive the stats. In D&D, for example, melee damage and to-hit are affected one stat: Strength; of course, level also affects base to-hit. Strength also affects carrying ability and other derived abilities. The six basic D&D attributes (plus classes and levels) are easier to remember than 18 or more attributes. Also note that sometimes you don't need some attributes: D&D has no physical offensive resource that a player notes on their character sheet; instead they have to use time and allocate actions in a round to accomplish physical damage.

So, the next step is to see how each of these attributes can be eliminated through alternative mechanics, combining attributes, or other tricks. Your best bet is to pick a theme that fits within your game world. For example, using a system of elements is pretty common. (Of course, this could cause localization problems if you pick themes that aren't appropriate to the cultural assumptions.) Associating one or more of these attributes with an element can allow players to remember the attributes easier. Or, you can provide interesting game decision: if water can affect both physical to-hit and magical defense, then how important is this attribute to a player? Is this overpowering if to-hit is a major attribute in your system and a high magical defense shuts down magical damage-focused characters?

In the end, this is all about the player. How should they build their character? The job of the designer is to make sure there is no one, universal "right answer" for all players; although each player may think there is a "right answer" for his or her style of play. You also need to make sure that this system doesn't make it too easy to counter one particular build or another.

Hopefully this has given some insight to the design process and how attributes can work in a game system. What are your thoughts? What questions would you ask in this process? What next steps would you take for your ideal game?

RSS feed for comments on this post.

TrackBack URI: http://psychochild.org/wp-trackback.php?p=377

5 Comments »

  1. Fascinating Links on a Sunday Morning

    [...] on February 17, 2008 There are just too many things I've found recently that I felt like sharing:Psychochild on Designing Attribute Systems - Thoughts on designing attribute systems for RPGs.Profit vs. Passion Photos from Casuality 2008 - [...]

    Pingback by Tales of the Rampant Coyote — 17 February, 2008 @ 10:14 AM

  2. I get the impression that one major source of complexity in the WoW system comes from the need to introduce dampening to the power increase from gained levels. An item with +2 str in D&D does not give less of a bonus after you gain a level (even if you might be able to find a better one after levelling) while in WoW you actually do gain less crit% per agi or crit rating for every level you gain.

    In some sense I believe its a good design idea to make each level reset your progress, this allows the game to give you noticeable powerups every level. On the other hand you then need to cut the negative effect of gaining a level to where players will find it likeable.

    From my perspective the stat system needs to support the "levelling system" which for a smaller system might be a "no levels system". If you do go down the path of using levels then you will benefit from making a system where the player "wins" by gaining a level which allows you to reset the board and start over in the neatest way possible.

    Comment by Wolfe — 18 February, 2008 @ 12:31 AM

  3. Hi, thought I'd chip in some malformed thoughts on attributes as they're currently a sore point in my lack-of-design.

    I find that flat attribute systems, where each attribute corresponds to a single, straightforward game mechanic, are incredibly dull. FFX had such a system, and although it's not really fair to compare the western and Japanese style of CRPG, it definitely felt artificial, shallow and purely mechanical to me, in this respect. I'm sure there are plenty of other examples, but that one really leapt to mind.

    On the other hand, trying to model attributes too closely on those we recognise in mundane reality leads to some of them (strength, agility, dexterity, intelligence and so on) dominating because these are the things we associate strongly with incredible feats in our own experience. Other attributes (wisdom, charisma, perception etc) get short shift because although they end up shoehorned into the design of the attribute system, no one really gets the same buzz from playing a wise, charismatic, perceptive wimp when they could be crushing skulls with their pinky or dodging bullets whilst laughing at laggardly foes. Not in a CRPG environment anyway, because combat is what they're about. Nonetheless such systems seem more evocative of a heroic narrative and we love 'em, even if they're intrinsically rather broken. I guess D&D has a lot to answer for there.

    There are also frequently hidden couplings between attributes. If you have to make a test first to hit a target (say, to-hit vs. evasion) and then another test to apply some effect to that target (damage vs. soak, status effect vs. resistance) then increasing the bonus to either test has less effect than increasing both by a correspondingly smaller amount. You try to model success at a single activity by splitting it into two smaller dependent sub-activities, often with different inputs, and so you end up with a distribution based on the level of these two attributes. And then you further obfuscate matters by convolving with another random distribution in the form of dice rolling or your favourite (pseudo)RNG. All this complexity without even invoking the crazy stuff the WoW lot are doing...

    The whole thing's rather messy, at least in part because we get emotional/narrative concerns mixed up in our combat simulators. But not doing so strikes at the heart and soul of an RPG of the non-MMO flavour, as if there's no story or setting you really might as well pull up Excel and have your fun there. Perhaps the solution is to completely divorce the attributes on a player's character sheet with those that drive the action-resolution code, making them just a view on some underlying system which is more fair but infinitely more dull.

    Hmm, that was longer and more boring than I intended.

    (Related post: http://oblong-code.blogspot.com/2008/02/attributes-background-waffle.html)

    Comment by Snut — 18 February, 2008 @ 5:06 AM

  4. I'd be curious to know: when designers beta-test massive systems such as this, for use in PvP, how do they begin to address balance issues? Do they look at derived stats like DPS, or do they look more organically at how people play? What types of sub-questions do you ask when attempting to find out, "is this system balanced?"

    Comment by Bret — 18 February, 2008 @ 8:36 AM

  5. Wolfe wrote:
    From my perspective the stat system needs to support the "levelling system" which for a smaller system might be a "no levels system".

    This is an important point. However, I think it's possible for a game to have smaller rewards. As you point out in D&D, the attributes are meaningful at any level. You don't need a significant amount of strength at higher levels to keep up, although a higher strength value can be a tremendous asset. On the other hand, the common computer/online RPG practice of giving people constant small rewards tends to work against this.

    Bret wrote:
    when designers beta-test massive systems such as this, for use in PvP, how do they begin to address balance issues?

    The most common has been "gut instinct", but that usually leads to a position where players complain about some aspect of the game while the devs repeat, "Working as designed." However, this does tend to work about 90% of the time. (Plus, even in a perfectly balanced game players will find something to complain about.)

    The more enlightened approach is to see how the players interact with the system once it's actually out there through data collection, sorting, and mining. This gives you a good idea of how players are actually interacting with the system. (Of course, showing players data that contradicts their own experiences or "data" they have improperly tabulated can be problematic.)

    The big problem is that it's hard to change a system once it's live. The double-whammy here is that it's hard to get good feedback before a system is live; real players won't use the system as hard as they will when it's live (so you don't get proper testing), and some will even hold back reports in order to know how to better exploit the live system. So, part of design is trying to anticipate how players will abuse a system before you release it; I think the advance lesson is knowing how to build in some wiggle room so that you can change the system without breaking it or requiring a total rewrite. This is why experienced developers who have designed and run a game before are very valuable for upcoming projects, because they know "where the bodies are buried" to quote Jessica Mulligan. :)

    Comment by Psychochild — 18 February, 2008 @ 2:04 PM

Leave a comment

If this is your first comment, it will be held for moderation and therefore will not show up immediately. I will approve your comment when I can, usually within a day. Comments should eventually be approved if not spam. If your comment doesn't show up and it wasn't spam, send me an email as the spam catchers might have caught it by accident.

Line and paragraph breaks automatic, HTML allowed: <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <div align=""> <em> <font color="" size="" face=""> <i> <li> <ol> <strike> <strong> <sub> <sup> <ul>


Recent Comments

Catagories

Search the Blog

Calendar

July 2010
S M T W T F S
« Jun    
 123
45678910
11121314151617
18192021222324
25262728293031

Meta

Archives





Information

About Psychochild

Game and Online Developers

Game News Sites

Game Ranters and Discussion

Help for Businesses

Other Fun Stuff

Quiet (aka Dead) Sites

Posts Copyright Brian Green, aka Psychochild. Comments belong to their authors.

Google