Post

Character Progression - Depth vs. Complexity

Character Progression - Depth vs. Complexity

What I personally want from a character progression system in an RPG comes down to two things:

  • The ability to make a character that feels uniquely my own. And that’s true both for the personality and behavior of the character in roleplay, as well as the mechanical side regarding abilities and stats. I want to define and tweak these things to suit my preferred gameplay style.
  • A feeling of progression and gradual power growth in the game, where gameplay starts simple and I get to unlock more systems and mechanics one by one over time. Instead of getting overwhelmed with everything all at once, I get to learn using one thing before unlocking the next thing.

Shorthand for that often is: depth. I want depth in my character progression systems, and by that I mean that I get define and shape my character and their role in the game and party/group through meaningful choices and decisions. In order for these choices to have meaning, and for the depth to be real, there has to be a certain level of breadth and diversity of different possible character builds. Builds that actually feel and play differently, and open up different possibilities in the game.

I don’t necessarily want complexity - but to a certain degree you can’t have depth without complexity. If you look at the card game Munchkin, it strips down the combat side of character building to a very simple number: combat strength. Higher number wins. Higher number is generally better. That simplification is perfectly fine for a card game, and Munchkin is a lot of fun to play - but for an RPG, you’d want your character to be more than a single strength number. You’d want more depth than that - and in order to achieve that, you also have to also increase complexity. Can’t do it, when the character is effectively reduced to a single number.

I know that Munchkin is a little more complex than that. Your character might also have some special abilities, as well as a Race, Class, and various Items - not just that one number. But you really can’t get much simpler than the way it handles combat. And that simplicity does have its strengths, and Munchkin simply wouldn’t be the same game if character building were complicated and difficult.

Complexity is fine, as long is does achieve depth. I don’t love it, but I accept it as the necessary cost to get what I want. What I really don’t like, is complexity just for the sake of complexity. If it does not serve to increase breadth and diversity in characters - but rather is used as a substitute instead of that. Complexity can be used to offer an overwhelming amount of meaningless choices and through that obscure the fact, that there is no real breadth or diversity in characters. I don’t think it should be used that way, though. I truly dislike that.

How Not To Do It

Don’t reduce my meaningful choices to picking a class - and that’s it. In early WoW I picked a mage for my first/main character, and while technically I had a second choice: fire, frost or arcane - in my experience it was: use Arcane Explosion or get kicked from raid groups for not knowing how to play mage “correctly”. But even if that second choice had been allowed - that’s still only three different mages. Other than that, everyone wants the same gear (whatever currently is the top-tier set), the same skills and rotation, the same everything. In the end, your mage was effectively the same as every other mage - progression was almost entirely linear. No breadth or diversity, no meaningful choices or decisions.

Disclaimer: I only played very early WoW, kinda liked it for very different reasons, and also can’t speak to how it might have changed after that.

Don’t drown me in lots of choices, that don’t really change anything. I remember reading through my brand-new Player’s Handbook right when the 4th Edition of D&D originally came out. I tried creating a few characters, and ended up feeling kinda disappointed. The D&D typical complexity was still there - you had to pick a class, race, abilities, skills, powers, feats, equipment, etc. - but the resulting characters felt all very samey. It felt like everyone just had 17 +/- 1 AC. Sure one character got it from armor, the other from DEX, the next from a special class ability or a long-lasting spell… but in the end, everyone had pretty much the same AC. Same with the main At-Will Power - to me it felt like everyone just got 1[die] + main ability bonus damage, just with a different flavor text, and maybe some minor different side-effect. I’m exaggerating a little bit, and ignoring that things opened up more in higher character levels - but that’s just illustrate my point.

Now, I’m not complaining that character depth is still small at lvl 1 and only grows over time. In fact, I think that’s a great approach. But in this case, the amount of rule complexity you had to deal with just to build that low-depth lvl 1 character, felt completely disproportionate to what you got out of it. Sure, prior versions of the game were even more complex than that - but there the complexity paid off! That makes 4e a case of “simplification gone wrong” to me.

That specific simplification of 4e also went wrong, because it didn’t really simplify what it intended to simplify. The goal was to make the game easier to pick up for new players. Older versions had completely different rules and mechanics for wizards and for fighters. 4e simplified that by making both wizards and fighters use essentially the same power mechanics. That doesn’t help a new player who picks either wizard or fighter, and only has to learn one set of rules anyway. It only makes it easier on their second character, to switch from wizard to fighter or the other way round. Then you don’t have to learn an additional rule-set. (But you could also avoid that in older versions, by not switching class and sticking with the one you’ve already learned.) For a new player on their first character though - I don’t think that did anything.

Don’t hide a handful of meaningful choices within a huge swamp of way-too-granular, meaningless stuff. The passive skill tree of Path of Exile, as well as the Devotion tree of Grim Dawn have those huge skill webs you have to traverse through. But what you really are looking for is to get certain Notables, Keystones and Mastery Skills (in PoE) or to complete certain Constellations (in GD). Which of these you pick, that’s meaningful for your character build. But the path through the web of way-too-granular nodes you have to take to get to and unlock those - that’s just an entirely separate optimization puzzle. And it obscures the real choices behind a layer of needless complexity.

I know many people seem to love this, but I do not. You could get exactly the same level of breadth and diversity of the final character build (which I do love), if you just let players pick notables/keystones/masteries/constellations from a regular tree without all those tiny other meaningless nodes, which ultimately are just noise and clutter. In the end, hiding the meaningful choices in a web like that, is complexity for complexity’s sake - not because it allows for more breadth and diversity than you could have achieved otherwise.

Disclaimer: The passive skill web of PoE seems to have changed a lot, since I last played it - it still seems as needlessly complex as ever, but I don’t actually know for sure.

Having a smaller tree that only contains Keystones/Constellations, and rolling all the tiny bonuses you now have to inevitably pick up along the way into those - would make the system and your options a lot more legible. As a player you could concentrate on what you actually want for your character and how it influences your gameplay - rather than getting distracted by the path-optimization puzzle. These skill webs don’t add any actual depth to your character build - but they do give you a ton of (meaningless, superficial) choices - thus creating an illusion of additional depth. I want real depth though. And I prefer more legible choices.

How To Actually Do It

Grim Dawn’s Mastery system is really good at offering a wide variety of possible builds. You get to select and combine two out of 6 different Masteries in the base game, later expanded to 10, giving you access to two separate skill trees which you can then mix and match to your liking. Any two skill trees contain several different nice combinations of skills, allowing you to create a number of very different builds, even within the exactly same combination of Masteries/trees.

In the end, it’s the choices of skills to train, that really defines your character - and being able to pick from two skill trees of your choice really multiplies the total options. And these options are meaningful, because even within the exact same combination of masteries, you can create several different builds that play absolutely nothing like each other. And all you are doing, is basically dual-classing. The increase in rule complexity over just having a single class is pretty low. Since everyone gets the full power of having two masteries - there’s no need to have any extra rules to balance dual-class vs. single-class at all.

Yes, I did use Grim Dawn as both a positive and a negative example. Different parts of it, anyway. Nothing in this post is meant to be a slight on any game - in fact I enjoyed playing all of those games mentioned in here. That doesn’t mean I can’t look at one specific piece of any game, and be critical of that - especially in the light of the kind of character depth I prefer. And despite my criticism of PoE’s skill web - it still does the job and provides the depth I desire. Overall I consider it a success, as it does achieve the goal - even if in my opinion needlessly complex.

Diablo 2 is another example of build diversity done right, even despite it’s skill trees suffering from a range of design problems (which I won’t go into here). In D2 you pick only one class - but each class comes with 3 different skill trees, which you can mix and match to your liking. There is some build diversity in that - but it’s only once you add in unique items and runewords, that things really go crazy. These items can allow you to gain skills and abilities normally reserved for other classes. And players have taken that and come up with character builds that the developers may have never anticipated.

Even decades after the game’s release, people were still discovering unusual builds and interactions. And this kind of mechanical emergence, as I like to call it, has gotten very rare in games. Even later entries in the Diablo franchise don’t do it quite the same way. But D2 has created this system of deep mechanics, that can interact in ways the developers did not necessarily predict - and from these interactions, new builds can emerge. And that’s why D2 has a breadth of character builds that I don’t think any later Diablo game has quite matched.

As a third example, I want to mention Star Wars Galaxies, especially the pre-CU version. The breadth in that game was enormous, as you weren’t limited to just combat, but could also become a dancer, or a cook, or a politician, etc. The way this was achieved was by simply having a large number of professions for the player to choose from. Each profession came with it’s own separate XP, and it’s own separate skill tree.

The real build diversity though came from the fact that you could mix and match as many different professions on a single character as you liked. Only the skill limit stopped you from doing it all - but it was still generous enough that you could max out roughly two and a half professions’ worth of skills - or dabble in many more. Ultima Online did something somewhat similar - but there you got to combine individual skills rather than professions/trees. What skills you chose to train is what defined your character and it’s role in the world.

Stars Reach is now taking the concept of trees of SWG, but making them more flexible, more diverse and bringing back an updated version of UO-style skill unlearning and retraining, allowing players to continue tinkering with and adjusting their character even after the skill limit is reached. Since the breadth is achieved through having that wide range of very different professions (skill trees) - the rule complexity required for that is fairly modest. But it does, of course, take a large number of systems and mechanics, to support that wide a range of professions in the first place.

I also want to point out that all three (SWG, UO, SR) are considered to be classless systems. D2 has classes, but uniques and runewords allow access to certain abilities of other classes. GD’s masteries are basically like dual-classing by default. Breaking free of class boundaries seems to be a repeating pattern.

What is a class, if not a developer-created character build template? In a system that allows the player to mix and match skills and abilities as they like, that’s a more or less arbitrary limitation that blocks access to many other skills and abilities. Removing that limitation and granting access to everything, only increases breadth and possible build diversity.

There are many other, often quite different systems, worth mentioning: the complete free-form character training of Kenshi, the many different approaches and solutions that Deus Ex offers to it’s levels (which reflect in allowing a character to specialize in each of these), Morrowind for allowing you to build outright weird characters, and many more. I don’t have the time and knowledge to go in-depth for all of those - but there are many more great examples out there. Many different approaches to achieving character build depth.

What Can We Learn From This?

The real character breadth of a game depends heavily on how many mechanics it offers. SWG can only have that large breadth of professions, because it also does have game mechanics for singing, cooking, politics and other things. PoE has many different damage types, resistances, damage-over-time effects, crits, attack speed, accuracy rating, projectile speed, stun effects, status effects, leech, evasion, marks, energy shield, mines, traps, minions, brands, curses, totems, and so on, and so forth - you get the idea.

If combat didn’t support all those different effects in the first place, then you couldn’t have true depth in character building, because it would inevitably have to boil down to whatever combat actually supports. If your combat system has evasion, blocking, and armor as different mechanics - then character creation can use those different stats and expose them to builds. A high-evasion - low-armor build can play and feel different from a low-evasion - high-armor build.

But if your combat system has just one single number for AC which combines armor and dexterity and magical protection and shield blocking and class features, then obviously the only difference between your high-DEX evasive character, your heavily armored tin-can and your mage behind protective spells is gonna be the flavor text. They are all using the same AC, and there’s no way to build a low-AC - high-dodge character, because dodge simply doesn’t exit.

If the number of choices your character creation offers outnumbers the number of such mechanics to actually support it, you inevitably end up with “fake depth”, where the complexity lies only in the rules of how to build the character - but the actual character then has far less depth and complexity. You can add a ton of needless complexity and build choices that way - but it’s ultimately shallow and meaningless, because it doesn’t have the breadth and diversity of results/outcomes it needs. And those results and outcomes can only exist, if the game has that diversity of mechanics to support it.

Increasing the number of choices offered in character creation can not increase the actual depth beyond what the game’s systems and mechanics actually support. Decreasing the number of choices can reduce how much of the existing mechanical depth is actually accessible to tweaking by the player. It can reduce how much of the depth is exposed to the player and can be used for builds. Once all the relevant mechanical dimensions are accessible, additional choices can only subdivide those dimensions thus only increasing granularity rather than breadth.

More granularity means more detailed fine-tuning, but also means that each single point spent has far less meaning and impact. I want enough granularity to be enable to mix mechanics - and not just have to decide between “all” or “nothing” - “on” or “off” - for any given system/mechanic. But I also want granularity to be low enough, that any point I do spend feels meaningful to the character build, and that the choices I can make remain legible and understandable to me - so I can focus on what I want my character to be, rather then solving a puzzle.

Because we all know, once solving the puzzle requires Excel sheets with complex formulas, most players will just follow a guide anyway. I say make it easy for the player to get exactly what they want - but make it hard to decide what to want. Not the other way round.

The Elephant In The Room

Many of the rules and restrictions and complexities you do find in the character-building process often do have another reason to exist. They aren’t just there to inflate the number of choices and to increase the perception of depth without increasing actual depth - they exist for reasons of balancing.

Same with classes. You want players to specialize and pick their strengths and weaknesses. Without any rules, everyone could be completely overpowered, taking all the strengths from everywhere. Well… that’s not necessarily true - but depends on how the system works, of course.

Players do love to min-max, and I don’t think that min-maxing is bad per se. It only becomes an issue when min-maxing does collapse the possibility space down to just one single mathematically optimal solution. That’s something you can prevent through clever application of diminishing returns, situationality, and other methods, though.

But with that tendency to min-max comes an inherent tendency to specialize. You max one thing at the cost of everything else. So, players actually do like to pick their strengths - at the cost of everything else becoming a weakness. You do not have to enforce that through build rules - you can bake it into the system.

A simplified example: let’s go back to evasion (don’t get hit) vs. armor (get reduced damage from a hit). We want a system that has both, and we want it to be a trade-off. You can be average at both, or strong at one at the cost of being bad at the other.

You could add some complexity into your character build system to somehow enforce exclusivity and stop players from maxing both. But I would instead build the base values into the available armor pieces. You can get regular armor with average base values all around - or you can get light armor with a high base value for evasion and low protection - or you can get heavy armor with low base evasion and high protection.

Then your skill tree can freely offer upgrades to both, and allow players to pick whatever they want. Let players pick heavy armor, and then invest skills in evasion. The result probably gonna be rather average - similar to using regular armor and putting a few points in both protection and evasion. Let players pick light armor and invest in evasion - maxing their strength, and minimizing the weakness. Let players pick any kind of armor, and invest in both, which probably is kind of a waste of skill points - but maybe there is some special game mechanic or special bonus you can get from some item or spell or whatever - that somehow makes it work and creates a super-tanky character that has both evasion and armor. The high cost in skill-points spent on that will automatically make the character less developed in other areas.

Add in diminishing returns, where evasion and protection both get more expensive to push further, the higher they already are - and suddenly going medium armor with some points in both does become an interesting alternative to going light armor and maxing evasion, or going heavy armor and maxing protection.

You can play exactly the same game with attack speed vs. attack damage. That should prove that you can take care of balancing, without having to add complexity to your character build rules. If you then make your enemies/monster be diverse as well, and have the same strengths and weaknesses - you’ve already achieved situationality too.

A player with fast attack speed can be particularly effective against high-health enemies, where sustained damage matters. A player with with high damage will be more effective at overcoming the armor of a particularly tanky enemy. A player with heavy armor can be made very effective against an enemy with high attack speed but low damage per attack. A player with high evasion will be particularly effective against an enemy with low accuracy.

Conclusion

Through methods like in the examples above, you can get all the depth and breadth that your mechanics actually allow for - without needing any additional rule complexity at all. Of course the complexity will already exist in your mechanics - and that base level of complexity is the cost you have to pay to achieve depth. But the additional rules complexity of how a player can spend their progression points, can be kept to an absolute minimum.

And with that low complexity overhead, you also get increased clarity and legibility. The choices available to the player become a lot more understandable.

You can have a game that has both, high depth and high complexity - or a game that has both low depth and low complexity. In fact, those seem to be the most common cases to find. Both of that is perfectly fine. I personally would probably pick high depth and complexity over low depth and complexit though (depending on the style of game of course).

But when a game has high complexity but low depth - that’s what irks me. And if a game has low complexity and high depth - that’s when I start applauding. Doesn’t happen a lot - I can tell you that.

This post is licensed under CC BY 4.0 by the author.