Comparative Skills

Now, I am, besides being a 17' high, furry blue toad, a devotee of the 'Fair play for Mobiles' school of thought. In mud processing, the only difference between a mobile and a player should be that the player gets sent messages to tell them what is happening and has (some) control over their character. In view of this, the terms 'mobile' and 'character' are used interchangeably in the following.

Traditional Skill Systems

The most common approach to skills is to rate each one as a percentage. This percentage is considered to be the character's chance of successfully completing any action requiring the skill (possibly modified for the difficulty of the task). While this works fine for tests against an environment it has problems when dealing with tests against other skills. Most often this will result in the attempter's making a skill check to see if their action succeeds and the resister's making a skill check to see if they can stop it. Thus the number of successful attempts is the product of the attempter's chance of success and the resister's change of failure.

As an example consider a novice knight (skills - attack 40% and defend 40%) and a common orc (skills also attack 40% and defend 40%). When the knight attacks the orc, the change of getting a successful hit is his change of attacking successfully (40%) times the orcs chance of not defending himself (60%). This gives a success rate of 24%, resulting in about one blow in four hitting home.

A veteran knight (skills - attack 90% and defend 90%) fighting an orc chieftain (skills also attack 90% and defend 90%) has an effective hit rate of only 9% (successful attack - 90% times failed defense - 10%). This is about one blow in eleven.

As the skill of the defender gets better the fight just gets longer and longer, with the number of effective blows getting lower and lower, until mobiles (or players) eventually become unkillable (100% skill).

Normal 'fixes' for this are to cap defense skills at a suitable value (around 70%). While this solves the problem of unkillable mobiles it adds problems of higher skills not affecting the game and reducing the differentiation (and thus the risk of fighting) higher level mobiles.

These fixes don't solve the more subtle problem that lurks here. A character with a low attack skill will only make simple attacks, so a character with a medium defensive skill should be able to parry them more easily than he can the attacks of a master swordsman - and it shouldn't be just a sheer volume effect.

Comparative Skill Systems

Comparative systems work, as their name suggests, by comparing the skills of the attempter's and the resister's to work out which of them is successful. This has the benefit of making the result dependent upon the relative skills of the combatants, not upon their absolute skills. A typical comparison mechanism is to add a d100 to each skill and then to compare the result, with the highest one winning. This means that, it the two combatants are evenly matched, then each has an equal chance of winning the contest. If the novice knight and the common orc, from the example above, fight under this system, each blow has a 50% chance of striking home. If the veteran knight and the orc chieftain fight, then each of their blows also has a 50% change of hitting home.

Points to note:

This system makes fights quicker.

It adjusts for the skill differences properly. A character with a low defense skill should not be able to parry blows from a sword master as well as they can parry blows from a novice. Not only does a sword master make better attacks, but his attacks are, inherently, more difficult to parry. Likewise, someone with a high skill in defense should be better able to defend themselves against attacks by someone with a low sword skill than someone with a lower defense skill.

As blows hit more often, there is much less need for weapons and mobiles that deliver near lethal damage on the one occasion in 20 when they actually get to hit something. With all attacks delivering reasonable damage, a player who attacks a more skilled mobile will lose, and probably more quickly than a traditional system would allow.

A comparative skills system requires that unrestricted skill development is allowed. Mobiles can learn, practice and study skills, as well as use them. From this they can improve their skills - and keep improving them. Once a skill reaches 100, a character has mastered it - but they can still go on learning. And, as there is no upper limit to the skills, this can provide a goal for player characters (other than simply the amassing of kills). A character attempting to become the best swordsman in the world is much better role playing than a homicidal maniac who tries to kill everything in sight.

Some actions are needed to control rampant skill development though, or everyone will be walking around with 100+ scores in everything.

Firstly, each character should only get a few skill points (3 or 4 practice sessions each giving 7 or 8 points) when they go up a level. This makes where they spend them rather important, as they will shape the characters abilities and determine their play options. Each player must decide for themselves if sword fighting is more important than spell casting of it, perhaps, climbing, searching or a language would be a better investment. Given a variety of role-playing challenges this should lead to some diversity in character development. Getting good in a skill (60+ points) requires two or three levels of planning and investment. It helps if the mud supports a good number (50+) of levels.

Secondly, the more a character knows about a skill, the harder it should be for them to learn more about it. This means that a mobile with a skill of 40 should learn more from a practice session than a master with a skill of 110. After all, the master knows all of the easy things. This should apply to all of the ways that a mobile can improve their skills, not just to practice sessions. This also prevents character from achieving invulnerability by always using one or two practice sessions for defense every level. As their defense skill gets better they get less and less (and eventually nothing) for each practice - hopefully they'll realize that it is a futile investment and move on to rounding out their other skills. That said, they'd also be idiots (and frequently killed ones) if they didn't push at least one defensive skill up to 60+ fairly quickly.

Let us now look at some mismatched examples.

If the novice knight should fight the orc chieftain, then under the traditional system he would have a 4% chance of striking an effective blow (40% by 10%). Under the comparative system he has a 13% chance of hitting (but the orc has an 87% chance of hitting the knight). Not a good situation for the knight. The traditional approach would have given the orc a 54% chance of hitting the knight (60% of 90%).

The calculate the odds of success, take the overlap when rolls of 100 are added to each skills, d, and the formula 100 - (d*d)/200. In the above example, skills of 40 and 90 are compared. The overlap between them is 50 (the range from 90 to 140), so the formula gives 2500/200 = 12.5% (the chance for the lower skill) and 87.5% (the change for the higher skills). The overlap between skills of 50 and 80 is 70 (from 80 through 150), giving a result of 70*70 = 4900/200 = 24.5% (the chance for the lower skill) and 75.5% (the chance for the higher skill). Skills of 30 and 100 have an overlap of only 30 (100 through 130), giving a chance for the lower skill of 4.5% and for the higher skill of 95.5%.

The upshot of this is that comparative skills amplify the importance of skills beyond that of a characters level. They enhance role-playing, provide a set of goals for players beyond a simple body count and, to some extent, increase the realism of the mud and the way that different skills interact.

Graphical Comparison

The two graphs that follow show the chance of success for both systems, the traditional on the left and the comparative on the right. The 'attack' skill increases from 0 (left) to 100 (right), while the 'defense' skill increases from 0 (bottom) to 100 (top). Black indicates no chance of success, while white indicates a high chance of success. The red line marks where the 'attack' skill is equal to the 'defense' skill.

This should illustrate that the comparative system is fairer (and allows a better change of success under many all circumstances). It also allows the extension of skills beyond 100, because its surface continues indefinitely along the x=y line, where as the surface of the traditional system continues along the x-axis, being entirely determined by the defense skill.

Implementation

An open_d100 is an open ended roll. The d100 is rolled and, if the result is greater than 95 it is rolled again and the two results are added together. Likewise, if the roll is less than 5, the dice is rolled again, and the second result is subtracted from the first (giving a negative result for the dice roll).

The attack roll is made once, but the character is allowed up to three defense rolls - shield block, dual parry, normal parry, and dodge (you can't get dual parry and shield block at the same time as they both use an item held in the mobiles off hand). The highest of the three rolls counts. The final difference between the attack roll and the highest defense roll is then used as a damage modifier. The same system is also used for magical attacks.

Notes

Those familiar with Role-playing games may recognize certain similarities between this system and Iron Crown Enterprise's MERP and RoleMaster systems. This is not coincidental, they are very good systems for managing skills (if a little heavy on the paperwork). The system on CthulhuMud was adapted from the base Sunder system by allowing for open ended skills and skill rolls and adding a 'reduced return' mechanism that was inspired by the RoleMaster system.