Classes are
everywhere. Once the domain of RPGs, now class systems have been
pushed into every type of game imaginable. We’re all familiar with the tropes of Warriors and Wizards in high fantasy, but what can we learn about class design from other games?

The first question we need to ask ourselves is, “What exactly is a
class?” The term is pretty loosely defined in gaming, and there are several correct answers. In an RPG like Dungeons &
Dragons, classes are defined by the rulebook and present a list of abilities your character can have access to.

If you want to be a stealthy assassin or a shapeshifter, you need to choose an appropriate class. The thing
is, there are other choices you can make as well: choosing your race
(elf or dwarf) and background (criminal or noble) which also affect
your gameplay options. What exactly is the difference between race
and class? If your character can breathe fire because they’re a
half-dragon, is that any different from being able to shoot magic
flame from your hands? We really have to look at these things as variations on the class concept.

So when we’re
discussing classes, we’ll be talking about not just standard RPG classes and races, but Starcraft armies, Street Fighter characters, and even Mario Kart vehicles. It might seem odd to lump all of these in
the same box, but they all share something simple: a choice you make outside of the game which determines your gameplay options within the game.

Age of Mythology divides its classes into races, and then further as individual gods.

Why Use Classes?

So why even bother with
classes? What do they add to a game? There are a lot of reasons, but
one of the simplest is adding content. More classes = more ways to
play the game = more ways to have fun. When you look at World of
Warcraft, it’s not uncommon to see players with several high-level characters.

Tails was so popular as an additional character in Sonic that they later added Knuckles, Shadow, Cream, and countless others. Dungeons &
Dragons has a multitude of classes available for players, spread out
throughout optional rulebooks. At an extreme level, some games exist
solely because of their variety of classes—imagine Smash Bros with Mario as the only character. Fighting games are fun
largely because of the way different characters interact, meaning that every matchup has different strategies.

Another reason
classes are useful is because they promote diversity. This is
especially important in competitive multiplayer games, where
(generally speaking) everyone wants to be the best. If you wanted to
make an MMO where players can assign points to their skills, you might think
that the playerbase would create a range of different character types. What inevitably
happens, though, as shown over and over by MMOs like Ultima Online, is that players gravitate towards “best
builds”.

Generally, a small selection of players who are
experienced at the game will do the math and post optimal builds, and
everyone else will just copy that. This “copy others” attitude isn’t unique to MMOs (Magic: The Gathering players have debated for some time the pros and cons of “netdecking”), and any game where you can choose your skills will have at least some discussion on best builds.

Of course, creating classes
doesn’t stop the issue—World of Warcraft, despite having multiple classes, has plenty of build discussion—but it at least creates a little bit of
variety. Instead of having a single “generic tank build”, you might
have a choice of playing a warrior tank, paladin tank, or druid
tank.

And lastly, it
reduces the gap between skilled and unskilled players. Being a new
player to a game can already be frustrating when everyone is better
than you, but if everyone is also using better characters then it
can feel doubly frustrating. New players might feel as if they are
being punished for their lack of knowledge,
whereas pro players might spend their time trying to find abusive
build combinations.

New players also run the risk of “doing it wrong” by spending points on useless skills—the idea of “noob traps” is something we’ve discussed before. By forcing players into predesigned classes, you refocus the game back onto the gameplay, and away from character building.

So are there any
problems with classes? Well, obviously it can be a massive time investment. But from a design perspective, there’s really just one issue: class systems limit a player’s ability to experiment with fun builds or create specific ideas. Players love to be creative, and limiting that creativeness can limit the amount of fun to be had.

For highly competitive games, it can be argued that “design your own” systems are an extremely dangerous idea, as all it takes is one overpowered combination to ruin the whole thing. But for some games, character creation is what makes the game fun in the first place.

Impossible Creatures, an RTS where players can fuse creatures together to create their own armies and engage in Mad Scientist combat.

So, assuming we do want to add classes, how do we go about designing them? Well, it’s such an expansive concept that even if we limited ourselves to a
particular genre, we could write a novel and still only scratch the surface. So let’s focus instead on some general common issues that apply across the board.

Strict vs. Loose Class Design

The word “class” means
many things, so let’s introduce a new concept: the idea of strict and
loose classes.

A strict class is
one that defines a player’s available skillset.

A loose class gives more limited powers or bonuses to certain playstyles.

Generally speaking,
the more complex a system is, the more likely it is to be
strict.

In Diablo 3, players can choose from classes like Barbarian, Monk, and Wizard. These classes have special abilities, and those abilities define what the character can do. Only the Monks have Cyclone Strike, and only Wizards have Hydra. The classes gain specific skills at specific levels, and can never learn skills from other classes. Diablo 3 is very firmly a strict system.

Compare to a game like Desktop Dungeons, which is a loose system. When a player chooses a class, it simply gives that player a minor advantage: Berserkers have 50% magic resistance. Priests deal double damage to undead. A Berserker can still do all the things a Priest does, but is better (or worse) in certain situations.

Obviously, there is no clear distinction between “strict” and “loose”, and there will be games which can be argued to be in either camp. Vampire: The Masquerade allows players to choose a clan, and although each clan has unique powers, these powers do not define the character and the game otherwise operates like a standard point-buy system.

But what of other genres? Well, Hearthstone allows players to choose a class,
and this gives them a class ability they can use in game, such as producing minions or
drawing extra cards. Since this ability only gives a minor advantage in game, it counts as a “loose” class advantage.

However, Hearthstone also has
class cards which can only be used by certain classes. Cards like
Backstab or Sap are Rogue-only cards, but are theoretically useful
for every class. This limiting of cards means Hearthstone is “strict” class design, as every class will have a variety of options unavailable to other players.

So why does this all matter? Well, the stricter a game is, the more pronounced the
benefits of a class system are (as discussed above in “why use classes”). More variety between classes, fewer “noob traps”,
more fun for players. Additionally, strict design allows you to
create incredibly flavourful classes. In Hearthstone, playing
a priest feels like playing a priest (or at least, as close as you can
get in a card game). Each of the classes feels distinct, and this
distinctness allows the player to play the game in a variety of
different ways (hopefully finding one suitable to their playstyle).

The downside is, of
course, the same downside mentioned above—that the player is
limited to the playstyles defined by the developers. It doesn’t
really allow for exploration beyond that. And because each class has
a certain playstyle, there are times when you’re going to know how
the game will play out before the first move is made or card is
drawn.

This can be pleasant (if you’re winning), or frustrating (if
not). If you struggle to beat rogues and continually get matched
against them, the game can become unfun very quickly. Depending on
what playstyles or meta is popular at the time, it might
mean playing a string of games against not just the same class, but
the same deck or character build—which can be pretty
underwhelming.

Mechanical design is
just one aspect of character creation, however. We need to ask what players want from their games, and there are several answers. For most new players, they’re not thinking about the mechanics behind each class—most often, they want to play the cool soul-stealing ninja, or the alien that eats face. This side of character design, which includes things like backstory and visual design, is often referred to as “fluff” or “flavour”. It’s an important part of the design process, but it’s enough of a topic by itself that we’ll have to leave it for another time.

The other question players most often ask is, “Well, what does it do?” Sometimes the answer is obvious, sometimes less so—but generally, the player will be trying to find a class which allows them to play the game in the way they want.

South Park’s “Jew” Class is a non-standard class with powerful lategame abilities.

Fulfilling a Role

Generally speaking, the purpose of a class is to allow the player to play the game in a way that they enjoy. Not everyone enjoys playing magic classes, so it’s important not to force players into roles they don’t enjoy. Of course, for multiplayer games, some players will be pressured into playing certain roles, but generally speaking players will play whatever is the most fun.

In certain games (like MMOs), the ability to fill a role becomes doubly important. If your party is planning to fight the Dragon Emperor, then you probably need to have a strategy. Typically, tank/damage/healer roles are primary, with other roles such as controller, leader, tracker and so forth dependent on the game.

Because available party slots are generally limited, it’s important that your team is able to get the most out of its available party slots—all healer parties tend to do poorly. Players will want to choose roles that complement each other to maximise their chances of success, and this means giving the players the option to choose classes that they enjoy and feel are useful to the team.

Regardless of the game style, you want to create classes that allow for an enjoyable gameplay experience. The classes you design will determine how the game is played. If all your characters are swordsmen, then gameplay is going to be focused on close quarters fighting. If you add a single sniper to the game, then suddenly the whole dynamic changes—environment and cover suddenly become more important, and rushing around in the open is no longer a viable tactic.

You need to understand what you want from your game, and the roles and abilities you have should promote that gameplay style. If you don’t want a role being fulfilled, then simply don’t add it to your game. Don’t like the idea of healers slowing down gameplay? Remove them. It’s your game, so there’s no reason you have to stick to “traditional” design roles.

Despite many games using the traditional tank/dealer/healer design, there are plenty of reasons to avoid it. The most obvious is that if you design your game around those classes as a central idea, anything which does not fit into those criteria is bad. Imagine a Warrior, Rogue and Cleric being joined by a Banker or Farmer. There’s no reason that players shouldn’t be allowed to play those alternative classes, but the chances are they have no place within the “holy trinity” framework. Classes not only have to be balanced with each other, but within the game itself.

Balancing the Classes

Sometimes, however, we can get obsessed with concepts like balance—making sure every class is fair to use. While for some games this is necessary, it’s not necessary for every single game. Bad classes can provide extra challenge, or a balancing factor for experienced players. The Binding of Isaac’s “The Lost” can fly, but dies in one hit. Street Fighter’s “Dan Hibiki” is a popular joke character. These “bad classes” are simply more options for players who choose to challenge themselves. Additionally, if every class is perfectly balanced, then what does it matter which one you choose?

We should also ask what we’re balancing for. Do we balance based on win rates? Or how they compare for 1 on 1 combat? Some games, MMOs in particular, struggle to keep characters balanced between the PVE and PVP elements. In the Binding of Isaac, damage is often considered a “god stat” for characters—not only is it incredibly handy to be able to one-shot everything in sight, but the game rewards fast play with secret bosses and going unhurt with “devil items”, powerful items that serve to snowball a good character even further. The slower, tankier characters like Magdalene look fine on paper, but simply can’t compete with the bonuses that high-damage characters get. Whereas The Lost is an interesting character because of intentional difficulty, Magdalene is simply a boring character.

The Lost, one of the many characters from The Binding of Isaac.

League of Legends embraces this and uses an idea called “perfect imbalance” to keep gameplay fresh. The game is incredibly complex, and trying to balance over 130 characters is basically an impossible skill. Not only do the designers have to contend with how the characters interact, but every time a small change is made it could theoretically throw everything out of balance again.

They try to ensure that no single character is overpowered, but there are plenty of “bad characters”—and due to the evolving of the game, sometimes characters which are seen as bad suddenly become viable. The complexity and ever-changing nature of the game mean that players are constantly forced to re-evaluate the best strategies, ensuring that gameplay is never “solved”.

“Solving” is a problem for many games. When you look at classes, sometimes you can put down all the abilities on paper and work out what exactly each class is capable of. What this means is that in team games, classes are often judged by a single metric: how much damage you can output, how quickly you can heal, or how quickly you can race to the end. Your character has one job, and the best character for that job is whoever has the highest numbers. This raises an interesting question: is it better to have a class that is exceptional at just one task, or to have a class that can do everything satisfactorily?

Specialisation vs. Flexibility

When we create a
class, we should generally have a rough idea of what we want from it.
In an MMO, the perfect tank is basically a granite boulder—something
that will just sit there and soak up damage while the rest of the
team throws flaming death. This creates a sort of “arms race”
which means the most specialised characters are (almost always) the
best ones for the jobs.

The problem with
this is that if one character is the best at the job, every other
character is (by default) not the best—and why would you
intentionally play a bad character? This is a problem for MMOs who
are trying to juggle balancing dozens of character classes. Why play
a rogue if mages have better DPS?

Imagine making a game, similar to Civilization, wherein you try to take over the world. You can achieve victory through political, military, or cultural might. You can also choose a race, and each race has a benefit: elves are better at politics, orcs are good at military, and so forth. Why would a military fan ever choose anything other than orcs? Also, if you’re playing against orcs, why would you invest into political defence? The specialisation of the races restricts your playstyle and forces you into certain options.

The races in Civilization IV encourage players to use certain tactics without forcing them down any particular avenue.

This is the biggest problem with specialised classes. If
specialisation is doing one thing well, then it means not doing
anything else. If choice is a core component of gameplay, then
doing the same thing over and over again is bad design. This is a
problem many games face, and it’s a problem especially with regards to
healing classes.

So what’s the
solution? As we discussed in the healing article, you need to
make sure the player has a range of options available during the
game. It’s one of the most fundamental aspects of game design: keep
the player engaged. If the player doesn’t have to make any choices for their actions, then they’re not engaged, and that’s when things become boring.

So when you make your class, make sure they’re able to participate in the game at all
times. If you’re designing an RPG, make sure the classes all have
skills for both inside and outside of combat, rather than creating a “skill-monkey” character. If you’re
designing a game with multiple paths to victory, try to make sure each race has the option of winning in different ways.

Allow players to adapt to the flow of the game, and if they realise they need to change tactics, allow them. The more specialised a class or race is, the more likely it
can only do one thing, and the more likely it is to get stuck doing that thing over and over again. Choice is important.

Soft and Hard
Counters

Players like to win. In a competitive, class-based game, players will generally choose the best class. Best is often subjective—it depends on the player’s skill, playstyle, the map, and even recent gameplay changes. For most players, “what is best” is really just “whatever beats your opponent”.

For some games, this means trying to anticipate what your opponent is going to play. For CCGs like Magic and Hearthstone, players talk about “the meta“—what the most popular decks are and what cards your opponents are likely to be running. A player might choose to play a deck specifically to beat the meta, running cards that shut down certain decks. In magic, some deck archetypes can be entirely shut down by a single card, meaning that playing the meta can be an effective way to win.

In other games, players take turns “drafting” their characters. Knowing what your opponent has chosen means that the ability to choose a counter becomes especially important. The tactic of trying to pick
a character or class specifically to beat your opponents is known ascounterpicking.

Having counters in
games is generally a positive mechanic. It allows a certain amount of
self-balancing from the players themselves, as any player who uses an
overpowered class can expect to hit a higher share of
counter-classes. The existence of a meta-game allows players to discuss
the best tactics, the best counters to those tactics, and the best
way to play in the current environment.

The question is then
to what extent counters should be effective. Generally, counters
fall into the category of “soft counters” and “hard counters”.

Soft counters are
classes that have a slight bonus against certain character types. High mobility characters are generally a soft counter to snipers—although the sniper can win, they need to be skillful or lucky to stand a chance.

Team Fortress 2s “Meet the Spy”. Some would argue whether the Spy is a soft or hard counter to the sniper, although it largely depends on the player’s skill and general awareness.

Hard counters are
classes which completely obliterate another class with little to no
effort. Spearmen are often given as a hard counter to cavalry charges—although the cavalry could win, it’s more than likely not going to happen. The best answer here is to call in some archers.

So are soft counters or hard counters better for your game? Well, obviously it depends on what you’re aiming for, but for nearly every game out there the answer is simple: soft counters are better.

The reason for this
is simple: hard counters deny counterplay. Having a more difficult game
due to a counterpick is fine: being unable to do anything at all is bad.
Soft counters can generally be worked around, but hard counters leave
no room for creativity or tactical moves.

So can a hard counter
ever be acceptable design? Yes, under two scenarios:

The player is
able to change class midgame, allowing them to counter the counter.

The player is
part of a larger team and is able to “offload” the problem onto
someone else.

That’s not to say
that hard counters are acceptable in these situations, but the
problem is less pronounced. The player still has some sort of choice available, and may be able to “avoid” the issue.

Boiling It All Down

So what can we take
away from all this? Really, class design isn’t all that complicated.
It comes down to a single idea:

Let the player play
the game in a way that they enjoy.

That’s it—the great
secret to class design. It doesn’t matter what sort of game you’re making, all that matters is that the players are having fun.

The very essence of class design is, as we’ve said so many times, about choice. It’s about the player choosing to play something they enjoy, about being given meaningful choices throughout the game, and about how those choices interact with the challenges they face, be it enemy AI or other players.

And because new games often contain a world of information, it allows players to make choices more meaningful. A new player might be overwhelmed looking at 100 different statistics, but if you give them just a handful of choices—ask them which class they want to play—they can answer that easily. They don’t need to worry what the correct number of points to spend on vitality is; they simply pick a class and get stuck in.

Your class gives
players additional ways of playing your game, and in a way each class
is like making an entirely new game. As long as your class doesn’t stop other people having fun, it’s probably fine.

And remember, at the
end of the day, each game is different. There is no “correct” in game design, and there are no doubt many successful games that break some (or all) of these rules. Just try to consider them when designing your game, and don’t be afraid to break the mould and try something different. All of this is aimed at one simple idea: make your game fun.