The perfect balancing in a RPG

Let’s get back to talk about one of my favorite topics, rules/game design for RPGs 😉
One of the biggest problems of all RPG designers is balancing the game difficulty and making the battles/random encounters interesting.

In my first two RPGs, Loren and Planet Stronghold, I used two similar approaches. The enemies would auto-level, but on a different scale from the player’s party, to make sure that as the player leveled up the battles would become easier.

I had defined a base enemy stats/skills values set at level 1. Then I decided how much increase they would get for each stat on every level up, and did some testing, making sure that the enemy progression wasn’t as quick/fast as the players.

For example, after 10 levels, the enemy could have gained +10 HP while the player (on average) +20HP. And then I was scaling those values based on the chosen difficulty.

However, it was very painful to code it, because I had to define every single enemy this way. Copy/paste helped, but when an enemy definition looks like this:


it’s not really the best to avoid mistakes 😀 Also, balancing the game required tweaking the numbers over and over, test again, and overall took a lot of time.

So what I have decided to do, to shorten development time and make at same time the battles fun and challenging?

The Ultimate RPG System!

I’m going to use a different system that combines auto-leveling with keywords-based allocation of enemies’ stats.

By default, the enemy will scale completely to the average values of the player party. So attack/defense/speed/magic, so that we have a 1:1 copy of the character average party members values. Then I’ll use keywords and/or relative values to define specific trait of each enemy to differentiate them.

For example I could write using relative values:

  • Attack: -5% (the Attack would be inferior of the 5% to the party average)
  • Defense: 50% (the Defense would be 50% better than the party average)

Or also write using keywords:

  • “Defender”, and define it as an enemy having +10% Defense value and +15% HP value
  • “Magician”, enemy having +25% Magic value and +10% SP value
  • “Fury”, enemy having +25% Speed, +25% Attack but -40% Defense value

and so on, you get the idea! Also, the keywords will be parsed in sequence, so I could apply two or more and the final result would be a mix of the various modifier.

I think this system could lead to a MUCH faster development time, and also to a more fun/challenging battles, even to a better randomization of the enemies (for example in a region of Fire creatures, I could define the Flaming attribute that gives +25% Fire resistance).

Of course, this doesn’t mean that all the enemies are of SAME LEVEL. Only that the default/base level now matches the average party level. So while before I was struggling trying to have enemies match the party level, now I use that as starting point to create the opponents! But I can have in battles weaker or stronger enemies.

I’m going to use a system very popular in MMORPG, using color codes:

The color coding system, so you immediately know how dangerous each enemy is

Green – weaker than your current party average
White – same level
Yellow – one level above your party averageOrange – two levels above
Red – more than two levels (it could be even 5 levels, like in the screenshot above)

This way is even more immediate to spot the most dangerous enemies just looking at the color in which their names are displayed 🙂

Those who like to grind will still be able to do it, because I can always define groups of low-level enemies, and they’ll still be easy to defeat. The items you’ll find can be sold to buy better gears, especially useful for those mad enough to play at the “Nightmare” difficulty level 😀

As you can see, I’m going to experiment quite a lot with this RPG! So far has been fun and the result are very pleasing (though as always I’ll need to wait for the feedback from testers).

This entry was posted in development screenshot, development tricks, game design, indie life, roleplay games, Seasons Of The Wolf. Bookmark the permalink.

6 Responses to The perfect balancing in a RPG

  1. Miakoda says:

    Not to mention the balancing act of players having different preferences as well 😉

  2. Jaeger says:

    Level scaling can help with balance, but isn’t necessary if you can place enemies to match the progression of the area the player is at. Baldur’s Gate and Fallout 1&2 didn’t have level scaling, instead they used higher-level enemies to discourage players from reaching certain areas too soon.

    Another thing to take into consideration is how big a variety of character builds can be accommodated. Unfortunately, in a lot RPGs, a there is certain a combination of stats and skills that become dominant. Planet Stronghold, for instance, heavily favored specialized builds, and there is little reason to spread out your skills over multiple weapon types.

    • admin says:

      Yes I plan to do that, but the fact is that I can still do the same thing, but with more accuracy, using that system.
      Example: I want an area to be very dangerous? I can put some +1/+2 enemy level there, until player reaches a specific plot point, then I can lower those enemies level.
      But I think that as the player level up and gain more skills and better equipment, the auto-leveling of enemies will start to have less impact.
      Will see better during testing 🙂

  3. Cami says:

    cant wait for this game to come out it looks amazing <3

  4. Troyen says:

    By average party do you mean “active party” or the entire party?

    I usually try to rotate through all my available characters and keep them relatively together, but there was a point in Loren (around level 15-16) where it got much easier just to focus on a subgroup of 6-8 characters and leave the others behind.

    Balancing is something that always seems really tricky. Using Loren as an example, if the monster stats are based on all 14, then it encourages people to just focus on six characters because they’ll always be above their party’s average. On the other hand, if the base stats are dependent on my active party members’ level, I could choose to fight a harder or weaker version of a boss by selecting higher or lower level characters for that fight. In theory, the relative difficulty should remain the same (because the boss’ stats scale with the active characters), but in reality there are usually some thresholds where difficulty jumps.

    Using Loren as an example under the new system, I could hypothetically choose lower level characters for the 5 companions with Saren because that would make the boss do a less damage (since his stats would be lower). Most of the time that shouldn’t matter, but if it was right around a threshold where I could heal the lower damage using a lower tier healing spell, then I’ve made the fight a lot easier, because I’m using far less mana to keep up with the damage. Whereas if I was on the other side of that threshold, I have a harder fight because I’m burning twice as much mana per heal and will run out much faster.

    • admin says:

      Right now I’m using all the characters, even those not active, to encourage leveling those as well 😉 might change it though.
      In SOTW there are less characters though so shouldn’t be like Loren.

      For Loren, no I won’t change that. And for Loren 2, I think my coder has in mind a different system, still based on “enemy templates” (because is faster/easier to design) but not using auto-leveling.

      In summary I don’t think that for the players is going to change much, is more for me (designer) that will be easier. For the players, if they play in Hard/Nightmare mode, they should always have a good challenge and that’s what I think they want 🙂

Leave a Reply

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