Sunday, May 31, 2009

Last year at GDC I was talking to the Wild Shadow Studios guys about traditional classes in fantasy RPGs (ranger, wizard, barbarian, cleric, etc.). Some of our complaints about classes in many multiplayer RPGs:

  1. Classes come with roles such as “tank”, “healer”, “ranged”, “melee”, “crowd control”, etc. If you want to join a group that needs a tank, but your class is about melee damage, you can't join the group.

  2. The beginning of the game is a bad time to choose a class, which impacts you for the entire game. It's too early in the game to know what style of play you might like or what kind of roles are needed/useful. By the time you can make this decision it's too late; you've already invested lots of time into the game. Either you throw all that away or you keep playing the class that's not best for you.

  3. Every class's play style can be considered “content”, and by choosing just one the player is missing out on other styles of play. As a game developer, if you have 5 classes, and players only play one of these on average, you're spending a lot of money on “content” that most players won't see, especially if armor/weapons are written for just a few classes in mind.

In Diablo 2, you picked a class but you could also customize that class by choosing skills as you level up. For example, Barbarians could choose skills such as Taunt or Double Swing. The skills had level requirements and prerequisites; for example, Double Swing was only available if you already had Bash. The trees were divided into three specialties per class; each of these effectively acts as a sub-class, so you had 15 styles of play instead of just 5 classes. The skills available to you were fairly limited at the beginning of the game, so you're not overwhelmed, and you don't have to make your choices at the beginning. This partially addresses complaint #2.

In Guild Wars and Titan Quest, you get to pick two classes. Multiclassing has been around since the D&D days, but these two games makes two classes the default and one class an option. Multiple classes can help with complaint #1, since everyone has two roles. It also helps with complaint #3, by adding lots of variety without having to create new content around it.

In Silverfall, World of Warcraft, and Titan Quest, I can change my skills later in the game, but not my class. WoW also has hybrid classes such as druid and shaman that can perform multiple roles. This also helps slightly with complaint #1, but it's quite a hassle. (Recently, WoW introduced “dual specs”, which help quite a bit by letting you set up two sets of skills that can be swapped with one button.) Being able to change my skills later greatly increased my desire to experiment. In Diablo 2, I would pick skills based on the recommendations of others. Decisions you can't change are more likely to be conservative. But in WoW, I am much more willing to try out new things, because I can undo them.

In Dungeon Siege II, there are skill trees but no classes. You essentially define your class by choosing skills along the way, but you don't have to decide anything at the beginning of the game. Titan Quest also delays the decision-making of your first and second classes. Either approach addresses complaint #2.

Another way to address all three complaints is to have more than one character, each one trying out a different class and play style. But when playing these characters, you start over from scratch.

What I'd like is (a) delaying decisions about classes/skills, and (b) allowing trying out other choices after I'm “finished” with my current class. So here's the idea: as you progress in the game, you are given choices of specialties. If you later master multiple specialties, you can become a generalist. Here's a diagram:

class diagram showing specialization followed by generalization

After you've played for a short time, you get to choose weaponry or magic. I choose weaponry. After playing more and leveling up with weaponry skills, I am able to specialize again, and I learn melee. After learning all the melee skills, I specialize in swords. After a few more levels, I am now fully specialized by mastering swords, and there's no more for me to learn. This is the equivalent of “level 80” in WoW.

At this point, it's time to try the branches I hadn't tried. This could either be by starting over with a new character at the novice level; or it could be by restoring a previous savegame where I was still at weaponry (playing a “clone” in a scifi setting), and choosing the ranged path instead; or it could be by using my current character to go back and learn ranged attacks. I don't know which of those approaches would be best for a game. In any case, I'm now trying out other play styles, just as with current RPGs.

Where this design differs is that there's something gained in-game by learning multiple specialties. This is the lower half of the diagram. If I master both the sword and axe, that unlocks the halberd. If I master both ice and death magic, it unlocks wizardry skills. By playing and mastering all types of characters, I become a Master.

An open question is how you handle the huge number of skills once you've pursued multiple paths. Titan Quest and Guild Wars limit your classes to two, so that it's not too bad. WoW lets you have two sets of skills, and you can swap back and forth at any time. Guild Wars further gives you a fixed number of skills at any time, and you can swap these out when you're in a major city. In a scifi setting, such as a robot or spaceship based game, you could assign the skills to the robot/vehicle you're in, and then jump into a different robot/vehicle to swap skills (Wild Shadow Studios is working on a tank-based MMO that does this). Choosing sets of skills before you go into combat seems like a reasonable way to limit the complexity, and also encourage planning ahead.

This skill graph addresses complaint #2: you don't have to make permanent choices at all, and the choices you make come after you've been playing the game for a bit. It also addresses #3: there's a path for the player to experience all the “content” the developers create. It partially addresses #1, by allowing you to play different roles at different times. Novice players can follow a recommended path to specialize in just one “class”, whereas experienced players can experiment more and try out new combinations. I think it could be fun to play with such a system, but I'm not planning to write an RPG any time soon.

Labels: ,

9 comments:

LeonardoCA wrote at June 01, 2009 4:34 PM

Hi, what would you think of classless system, where you do not choose any starting class, all characters have exactly same starting point and the development of abilities depends solely on player actions. Player useses melee skills he gets new abilities in melee, if he uses magic, he gets magic skills.

The second level to this would be - high level skill loosing over the time if not used. This way will be granted that noone gets excelent in all skills because he slowly looses the skill level in his allready developed while he "trains" other skills. And noone gets superpowered actually, without any limitation to highest level of any skill, the level would be limited effectively by the speed of skill loosing on very high levels.

I think this system is addressing all 3 complaints you mentioned above. You don't have to worry about what you decide to put your skill points in. Because you simply don't have any skill points to distribute. The skill grow as you do certain actions ...

For example, the skills systems valued by numbers 0 - approx. 10. All skilles learned till level 5 would be permanent, but anything over lvl 5 will be affected by the rule of skill loosing when not used.

I am currently working on a web RPG and this system I'd like to use...

Amit wrote at June 01, 2009 4:44 PM

Hi LeonardoCA, I believe Dungeon Siege I does a completely classless system, and you could call Oblivion's system classless as well. I think it's not bad. However, Oblivion's system encouraged me to perform stupid actions to get skills; you have to be careful not to encourage mindless behavior.

I've not seen the second part of your idea, that of losing skills over time. That could be interesting, although given how people feel about losing things (they react disproportionately to the loss), it might be tricky to make it work.

A topic for a separate blog post: it's more exciting to get a few distinct actions than a continuous improvement over a numeric variable. For example, Diablo 2's Bash, Double Wield, and Taunt are more fun than having Strength go up from 1 to 10.

Rick C wrote at June 02, 2009 11:53 AM

The Final Fantasy Tactics games allowed a pretty interesting variation. You had a number of classes available. Each class had a skill set with a number of skills, which you used by using weapons. You can use two different sets of class skills, one from your current class, the other from any set you've partially learned so far. At any time outside of a battle, you can switch the secondary skillset or change classes to get a different primary skillset. The game is party-based, so you'd typically play around six characters per mission, from a set of up to 20 or so characters, which encouraged you to mix it up. Also, the skillsets themselves were relatively small--on average, each would have about 8 skills, and the vast majority of skills could be learned fairly quickly. This let you have time to experiment more.

LeonardoCA wrote at June 02, 2009 12:48 PM

Thanks for you comment. Well, the losing skills system is not my idea, I have read it someplace. The loosing will be slow. The idea is though everybody can get all abilities not everybody should be the best in all of them same time. The point is to prevent early joined players or "all the time online" players in MMO game to have too much advantage.

You are right about the "distinct actions". But Diablo has them and still has some number based attributes anyway.

Rafael wrote at June 02, 2009 1:43 PM

Hi. I played Morrowind and Ovlibion, Dungeon Siege, Diablo and some more. The replayability is very low.

So, if you master sword and you want to master axe then you have level X and can kill monsters developers made for around level X with sword, but when you choose going back and play with axe in mind then you must kill monsters of level below the ones you can kill with sword.

That could be replaying , and it would be boring.

What do you think?

Amit wrote at June 02, 2009 3:27 PM

Hi Rafael, yes, that's definitely an issue. I think the second time through I want to go through faster. In some sense I want the “novelty rate” to stay constant, and the second time through the novelty is less, so the rate at which I go through the game needs to be faster.

On the other hand, people *do* play some of these games more than once, so I don't think it's completely unreasonable to design a game that allows the replay. We just need to make it more fun somehow.

Kevin wrote at June 05, 2011 2:03 PM

You know how, in WoW, there are three talent trees available to each class? I've often thought it would be interesting if all the trees from all the classes were available to every character. The trees themselves reward specialization, so players would still be likely to specialize, but with a greater variety of builds. And their roles could still be automatically classified based on their deepest trees (e.g., 50-point physical defensive, 30/20 physical offensive/magical offensive, etc.)

Amit wrote at June 05, 2011 2:41 PM

Hi Kevin, that might be an interesting approach. Guild Wars and Titan Quest both offer multi-tree systems. I believe Rift does something similar. On the other hand, it's useful for game design to have some more distinct roles to design around. The classes are also useful when you want to know what another player does — it's simpler to classify them as warrior, mage, priest, etc. than to try to understand a complex anything-goes system. It seems like it's worth experimenting with :)

medwards wrote at August 02, 2012 6:03 AM

I know its an old post but I like the blog so thought I'd weigh in here:

Eve Online forgoes specialization of skills for specialization in equipment. Skills mostly unlock gear, and then slowly improve that gear, but since you have a limited number of slots you don't really have anyone as an 'omni' character. A team of gear specialized individuals in different roles is better than a team trying to do everything at once (at least at equivalent skill).

Also, I find specialization in non-progression based games like League of Legends to be interesting, but I'm not sure it applies here.