MMO’s are my preferred form of games. I suppose it goes back to my many years playing Dungeons and Dragons and Champions with my friends around my parent’s dining room table. I’m completely aware that there are other forms of games but when I start thinking about elements of game design I inevitably tend towards elements of MMO’s.

As a gross generalization online games can be broken into player based games (often called twitch games) and character based games (I’m sure there’s a different term used by lots of people but I don’t happen to know what it is). Of course in truth there’s usually some overlap. Player based games such as Counterstrike, Doom, or Planetside can still be viewed as having elements of a character based game since the acquisition of certain weapons can be viewed as increasing attributes(DPS, Range, Accuracy) of the character. Character based games such as Everquest or Ultima Online involve a certain level of player skill around the deploying of attribute based abilities since the games aren’t turn based. In general, though, games are viewed as falling into one category or the other with character based being a lot more prevalent in the world of MMO’s.

So given that, how an MMO handles the skills of a character seems to me to be of critical concern and a great deal of thought should probably be put into the design of the skill system. Nearly every aspect of the game (combat, spell casting, crafting, etc.) that affects the character will have some sort of connection to the skill system so it needs to be as solid as possible. Even more, since MMO’s evolve over time with new material being released the skill system needs to be extensible so that new abilities can be added without breaking the current system.

To build a skill system from scratch I would propose breaking skills (or more appropriately the use of skills) down into sets and subsets. When the skills are finally broken down to the point where it seems that any task can be defined through these sets and subset then the various factors can be coded and the system built back up, so with that in mind I thought I’d try to break down tasks a bit and then throw out my ideas in the hopes of other people spotting areas that could be eliminated as unnecessary or further refined.

To my mind actions can be broken down into a three dimensional grid. On the one side of the grid you have the moment of the action. This would consist of instant actions and extended actions. Instant actions are actions in which a single use of skill determines the result. Such actions occur very, very quickly as a general rule. Often a person can repeat the action to make a second attempt but the second attempt has no influence on the first attempt (though the reverse does not necessarily hold true). Examples include jumping, shooting, attacking, and dodging. Extended actions, on the other hand, are actions in which the results are the sum of cumulative uses of a skill. Such actions occur over a span of time, sometimes quite lengthy. The length of time it takes to accomplish a task can be determined through how many attempts it takes to reach success. Examples include things like climbing, writing, and crafting.

On the other side of the grid is the countering force to the action. This would consist of Opposed and Unopposed actions. Opposed actions are those in which the actions of the character are being actively countered by another. A good example of this is arm wrestling. Unopposed actions are those in which another character does not have a direct effect on use of a skill. Two characters sprinting is a good example. Even though they may be racing against each other the skill of one has no direct effect on the skill of the other.

On the last side of the grid is the extensibility of the action. This would consist of Open and Diminishing actions. This category is only applicable to Extended actions and is a measure of whether an action can be undertaken indefinitely or not. Open actions would be those in which there are no direct negative results caused by time. Metal working is a good example as a character can return to a project day after day and continue to work on the project without an negative results based upon time. Diminishing actions are those which have a certain length of time in which work must be accomplished before negative forces begin to impact the results. Cooking is a good example of a Diminishing action. A Diminishing action would also need some way to define the rate of the negative effect. This could be something simple such as a threshold time followed by a penalty over time when the threshold is exceeded or by the definition of a curve.

This gives us the final categories of Instant Opposed, Instant Unopposed, Extended Opposed Open, Extended Opposed Diminishing, Extended Unopposed Open, and Extended Unopposed Diminishing. Of course it would always be possible to remove the category of Unopposed by defining the world as an opposing force just as it would be possible to remove the category of Open by defining all tasks as Diminishing but with a very, very long period of time, but I have to wonder if that wouldn’t cause more complications for designers than it would solve.

From this I think most things a player would want to do can be defined in terms of these six categories. Shooting a target would be an Instant Unopposed action while shooting at a dodging character would be an Instant Opposed action. Two characters playing a strategy game such as Chess could be defined as Extended Opposed Open while two characters arm wrestling could be defined as Extended Opposed Diminishing with a threshold based upon the endurance of each character. Turning refined iron into a sword blade would be an example of an Extended Unopposed Open action while making a cake batter would be an Extended Unopposed Diminishing action with a threshold of half an hour.

Are there actions that fall outside of these definitions? I’m sure there must be but I can’t think of any at the moment.