Balancing Drifting Lands / How to handle the difficulty of a Diablo-like game (part 1)

Disclaimer: believe me or not, for me Drifting Lands is a Diablo-like, long before being a shoot’em’up. In my mind, it is very clear what are the most important characteristics of a (good) Diablo-like… and i’m pretty sure i’m not the only one to have very passionate views about that. Obviously, i’m aware that everyone will not agree with my choices or my understanding of this genre. So keep that in mind and do not hesitate to think i’m completely out of my mind.

Difficulty_Header

My point here will be to discuss how I’ve worked on the game design of Drifting Lands when it comes to the RPG, stats management aspects and all the associated balancing. It won’t cover ALL game systems in Drifting Lands because it would be way too much work. But I’ll try to present and illustrate the basic concepts behind each layer of mechanism.

Goals & initial directives

I think i have to begin with a summary of what we’ve tried to achieve with Drifting Lands. Because unless you’re engaged in a trial-and-error process to create a new game experience, all design choices should serve this initial purpose you have when you begin to create a game.

In a few words we wanted to :

  • create a different kind of Diablo-like: with a different fighting core gameplay but with a very similar long term experience and progression
  • create an accessible shoot’em’up experience where an understanding of the game systems is more important than actual player dexterity

Here’s a small list of very important directives or design choices that did not change during all the development process.

3 classes for 3 different profiles of players
Classes in Drifting Lands are not used in a standard way for a Diablo-like. Normally classes are designed to offer a significantly different game experience. In Drifting Lands, classes are here to allow different types of players to enjoy the game.

  • The Interceptor class is for players used to shoot’em’ups and not afraid to be heavily punished for each mistake. To compensate, Interceptors will globally allow you to reach higher scores and progress more rapidly.
  • The Sentinel class is for players with little or no shoot-em-up experience. The game should be a lot more forgiving for them. The trade off is that scores will be lower and consequently progression slower.
  • The Marauder class is the intermediate for people like me! I play shoot’em’ups from time to time but I’m not particularly good at them.

Classes in Drifting Lands may not offer an experience so drastically different than in other Diablo-likes but the scope of the game was never to be as rich as Diablo or Path of Exile.

Most ARPG players should be able to finish the story mode (up to level 35)
Difficulty in the game ranges from 1 to 100. The game is designed to be playable up to level 40 or 50 with no special affinities with the shoot’em’up genre. You just have to understand the game systems, find a suitable build of skills and equipment… and use your special powers efficiently against your enemies. No crazy dodge or lightning fast reflexes are required. You can dash, shield or repair your way through nearly anything the game will throw at you. Beyond that, it’s another story. Even if special builds will allow clumsy but smart players to go way over 50…

Be very forgiving at low levels of difficulty
Drifting Lands is not a hardcore game, at least not for a good portion of the difficulty scale. At first it is even trivial with a sentinel: you can smash into half of your enemies and collect bullets as if they were bonuses, you should survive if you remember to use your repair skills! All players, even shoot’em’up neophytes should complete the first levels on their first try.

Even if you don’t succeed the first time, you can grind and eventually brute force your way through
Even if you have difficulties to overcome some situations, farming a difficulty level to the limit of your abilities should give you an edge to slowly progress.

The many faces of Difficulty

In a Diablo-like, the actual difficulty met by players comes from several factors.  Of course, since we’re in a game with RPG aspects, you’ll expect that the stats of enemies (resistance & damages) will progress and sometimes drastically over the course of the game. You’ll also expect more enemies, more projectiles but also new enemy types or more game mechanics to complexify your task.

In Drifting Lands, we have categorized these factors under 3 different terms.

Difficulty
This is the main factor. In Drifting Lands there are 100 levels of difficulty grouped in 10 grades. As you progress in the game, you will climb the levels of difficulty at your own pace. You can always decide to farm a range of difficulty levels to improve your stats and equipment. Difficulty will change a lot of statistics in the game. It will apply multipliers on a lot of enemy stats like their health points or damages. It will define target values you have to reach for your armor or resistances to be effective. It will also modify enemy waves with more opponents and more bullets.

Another effect of a greater difficulty is to allow the occurrence of greater values of ‘Complexity’ and ‘Intensity’. Most levels of Drifting Lands are semi randomly generated. They are composed of hand crafted blocks of scenario but mixed with a random algorithm. Of course it’s not completely random. Blocks are defined by tags and values of Complexity and Intensity. These attributes will decide if they can or cannot appear for a given level of difficulty.

Complexity
This value defines the complexity of gameplay mechanisms included in a scenario block. Typically, low complexity blocks only include very basic enemies, enemies you can meet right from the start of the game. With complexity, you will discover new types of enemies and new gameplay mechanisms (auras, lasers, missiles, enemies you have to destroy in a particular order, etc…).

Intensity
For a given level of difficulty, this value defines how intense a block of scenario is. When we generate a level, we don’t it want it to be uniformly relaxed or tensed. We want to offer periods of relative peace between peaks of stress and frenetic action. So our profiles of levels, a kind of mold to insert blocks from the library, define intensity ranges compatible for each slot of block we want to fill. This way, we don’t know what levels will be generated, but we can control the rythm, the pace of difficulty for each of them.

The level 1 experience

Difficulty progression is important for sure, but you’ve got to start from somewhere. If there was no stats evolution, you would still have to choose a lot of variables to define the different parts of the game. This is what I’ll call the ‘level 1 experience’.

Defining the level 1 experience is really like answering to a lot of very simple and basic questions like for any traditional game:

  • how long should it take to cross the screen with my ship ? It’s the beginning of the game. I know it will get eventually faster, but what’s the speed that seems reasonably slow or fast to reach the farthest point on screen? This will probably define the pace of the game.
  • How long should it take for my main gun to destroy basic enemies or tougher enemies? If you have the correct equipment, should the smaller enemies explode like pop corn or should it take as long as 0.5s to kill one?
  • How much of my life should I lose when taking one bullet? When I’m hit by this small enemy? i.e. how many mistakes should I be allowed to do before i die or need to repair?
  • How many flame blades (a basic skill of the game) should I have to use to kill this big enemy? Oh and remember that you’re probably using your main gun at the same time. So if you want it to survive long enough to deliver its full pattern, maybe you should increase its hit points or reduce the damages of the flame blade!
  • How many energy points do I have? i.e. how many skills can I use in a small period of time?
  • How fast energy is regenerating? Am i encouraged to save energy for very tough sections or can I use my powers nearly all the time?

Obviously there are many many more questions to answers and most of them are linked: choosing the damages from enemy bullets is linked to your amount of health points. What is important is not so much “how many hit points you have”, it is “how many bullets you can soak before you die”. So usually you’ll start by choosing arbitrarily one core value and then progress from there: a basic player ship has 200 hit points because… well because 200 is a nice value to start from, low but with enough potential for granularity. A small bullet will deal 10 points of damages. Because yes, 20 mistakes is a LOT to accept for a shoot’em’up but eh! We’re not doing a shoot’em’up right?

Your first major task is to find all the right questions that will define the basic feeling of the core gameplay. A Diablo-like is all about progression but you’ve got to have a good basis to start from. If it doesn’t work at all without progression, it most probably won’t be good.

When we developed Drifting Lands, we started by implementing the shoot’em’up mechanics. But right from the start it was a shoot’em’up with skills, special powers you could use very frequently like in any action-RPG. A shoot’em’up with a health bar, with repair powers, with a dash, with ‘AoE’ attacks, etc. For the first year of development there was absolutely no evolution of statistics in the game. We just focused on making a decent but different kind of shoot’em’up. This was like defining the level 1 experience… except it was a lot harder than level 1 at the time.

Chasing the difficulty curve

Every game has a difficulty curve : this is a more or less subjective estimation of the game difficulty across its progression. I usually like to think of difficulty analysis as 2 curves chasing one another : the game difficulty and the power of the player. Power coming from his avatar but also from his mastery of the game. This chase which can be very different from one player to another for the same game tells us a story. A story which is really important. A story of what the player experienced.

This is how I experienced Dark Souls (yes, difficulty / Dark Souls how original of me…)

Difficulty-curve00

This analysis, this comparison between a player’s power and the challenge of the game is in my opinion the single most important thing for a Diablo-like game : the main goal for a Diablo-like player is to race against the numerical difficulty of the game. I know it doesn’t sound extremely appealing when told like this, but it really is for me. At first, you can keep up with it. You can even overtake it for a while if you know the game pretty well, if you are a bit lucky or if you farm some areas. But eventually you’ll be left behind and have to compensate with dexterity, perfect knowledge of the rules and of course by hoarding the best equipment.

Here are the kind of curves that I used to define the experience of Drifting Lands. The enemy power (black) is a representation of all numerical values associated with enemies in the game. Min player (dark blue) power is a representation of how powerful you are with the worst equipment for this level. And max player power (light blue) is a representation of how powerful you are with the best equipment possible.

Difficulty-curve01

These curves do not include other difficulty notions such as complexity or intensity as described above. They are a pure representation of statistics evolution for the player and his enemies.

These curves define 3 regions: the first one for the first 30% of the game shows how a player with an average stuff will probably keep up easily with the enemy. Your only mission here is to get stuff from your level at least. The second section between 30% and 55% of the game shows that you’ll need progressively to equip items that are nearer the maximum of what you can actually get. So you’ll either take the time to do so by farming or you’ll move on and suffer a higher difficulty. Finally, in the last 45% of the game, you won’t be able to keep up with the enemy. Even with the best items, you’ll still be left behind. If you want to survive, you’ll have to be actually better. How much better is still depending on how good and optimal is your stuff.

The same way, you create your own stories in a sandbox game, the main story told by a Diablo-like game is that competition between your avatar’s progression and the progression of its hostile environment. Your understanding of the game’s systems, your luck with loot, your choice of class, choices of skills should dramatically change one game from the next. Finding a unique item early in the game must be a rare event but one that could dramatically alter, the perception of the difficulty for several levels. A particularly “bad” roll on a level generation should generate sometimes a spike of difficulty on an otherwise peaceful progression, etc.

Here is maybe the most important table of values for the balance of Drifting Lands :

Base_chart

These values represent the evolution of the health and damages of enemies along the 100 levels of difficulties of the game. You can see that at the end of the game an enemy has 150 times more health points than at level 1 and it deals 75 times more damage. In comparison a player with average stuff and stats will have a maximum of 20 more health points and will deal 25 times more damages.

These base values are not random. They are the very core of the vision behind the game and will guide pretty much everything else afterward. Here are a few comments to understand why they were chosen.

Why so much difference between level 1 and level 100 ? 150 times more heath points ?!
In an Action RPG with random loot, there is a need for steep augmentation of enemy stats. With this you guarantee that the player will need to change his equipment often because you loot items from a range defined by the level you’re in. Changing your stuff is a source of choices. Making a lot of choices is something desirable during the progression in a Diablo like. There’s nothing worse than being able to stop thinking about your build and equipment early in the game.

Why don’t enemy damages scale as much as enemy health ?
We do want the game to be harder but not necessarily too punishing. Making enemies hard to kill is not so drastic as making them able to kill you with one shot.

Why don’t stats of players scale as much as those of the enemies ?
We do want the game to get harder and harder. Also, these base stats are not really the top scores you will be able to reach. Their represent the health and damages a very average stuff will grant for a given level. If you get items with the maximum bonuses for damages or resistance, these values will likely be multiplied by 2 or 3. It will just not be possible to get maximum bonuses for resistance AND damages at the same time. Choices…

Why is there a maximum for player stats at 65 ?
Because it’s the maximum level for items in the game. It’s a classic trick for Diablo like games. Beyond this point the game will continue to get harder but you won’t get items of higher level. It means that you enter a phase where you need the right items with the right modifiers. Improving your stats will require that you find equipments with the rare combinations of bonuses that you want. Yes, it means that the game will get too hard for some, but you will already have been playing for dozen of hours at this point… Or it means that you haven’t yet found how to ‘break’ the game (more about that later).

Pfew ! That was a lengthy introduction wasn’t it ? Now I’m supposed to get into the thick of it. To avoid making a too long article though, I’ll make a break here. Expect the second part real soon.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>