Developer postOriginal post (opens in a new tab)

Developers diaries #19: Balance in a tactical RPG

Recently players asked us how many man-hours we spent working on the game balance. The question seemed interesting and we tried our best to work out an estimate. In the end, it’s pretty hard to even find a close approximate. All members of our small team work on multiple tasks and it’s pretty difficult to pinpoint the hours spent in any one thing. Problems are solved as they appear and at other times we work on our specific tasks. As an approximate we could say that, Dmitry Goncharov, who had to deal primarily with balancing, spent anywhere from 1,000 to 2,000 hours working on it. Though it is wise to note that Dmitry didn’t think that was accurate at all! He didn’t even try to name a number and simply explained the way it works.

In the case of Legends of Eisenwald, balance includes many factors (weapons, equipment, characters, spells, and location variables) that can influence the gameplay. As soon as we were able to produce the first fight, balancing followed soon after. We didn’t do balance full time because there were many other tasks to take care of. The characteristics of characters and heroes were changed as time went by, little by little depending on their influence.

Many things in the balance turned out well and worked from the start. For instance the weapons were thought through and they didn’t change much during the development. But it’s easy to remember some changes in regards to lances and horses. In the beginning mounted units were too strong.

Changes on NPC characteristics took a lot of work, and small fixes are still being done to this day. The biggest change was done when we realized the battles started to drag on for too long. Following our main concept in battle - no extra actions and the battle should be as compact as possible - Dmitry increased the attack of all the characters by 5 points which made combat dynamic and tough. It was the result we aimed for.

Most of the work was done changing the spells. Some spells didn’t really fit thematically and ruined the common balance in Eisenwald so we had to rewrite them completely. For a long time Dmitry tried to find a balance between healers and priests since in the beginning priests seemed completely useless. As a result we found a solution - healing had to depend on willpower and the combination of a priest and a healer was now quite viable as support characters.

Weapons, equipment and amulets were not changed much and balancing was mostly done for the latest ones which were added to the game for diversity sake.

If you are interested to look at the balance correction from a technical side, our AI programmer Denis Lomako prepared a small presentation with a story of how automatic balancing was done.

One of the balancing tasks was to make weapons in the game equivalent to each other so that after few battles there would not be a clear leader among the weapons used. For this during the testing a specific part was made for a consecutive characters test. Melee fighters and ranged characters were included in the test. The test looked like this:

  • Four embedded loops are used: 1) on characters, 2) on weapons that these characters can use, 3) on enemy characters, 4) on weapons that the enemy uses. As a result, we get a sequence of test battles of all the characters with all of them using all available weapon types.
  • In a test battle each of the sides fills its army with a selected character with its selected weapon. The only difference of these characters is how initiative is set. If nothing is done, then the one army will go first with all characters and it is not fair for the test. So, the initiative of all characters is decreased by one with each turn, so characters move in turns after a certain while. For example: our character’s base initiative is 15, the enemy character’s is 12. Our first character will have 15, the second 14, the third 13 and so on. The enemy will have 12, 11, 10. So four of our characters will move before the enemy character with the initiative of 12, moves.
  • As a result of test, it is determined how many HP and characters are left in the victor’s army.
  • Receiving data is summarized according to the type of weapons and characters. They are all stored into a separate file.

Efficiency of weapons

--------------------------
Sword 44.7%
Axe 40.1%
Crowbill 47.1%
Mace 35.4%
Pitchfork 9.8%
Spear 33.8%
LongSword 69.6%
Halberd 64.4%
Hammer 86.9%
Pike 44.3%
Lance 100.0%
Sword+Dagger 42.9%
--------------------------

Survival of characters

--------------------------
Knight Hero
Sword 18.9%
Axe 17.8%
Crowbill 16.8%
Mace 18.1%
========= 17.9% ~ 0.7%
--------------------------

Baron
Sword 50.7%
Axe 56.2%
Crowbill 49.6%
Mace 52.9%
LongSword 48.0%
Halberd 52.6%
Hammer 54.7%
Lance 70.7%
========= 54.4% ~ 6.6%
--------------------------

Peasant
Axe 4.7%
Mace 4.8%
Pitchfork 7.4%
========= 5.6% ~ 1.3%
--------------------------

Based on the numbers received, the necessary corrections of weapons are done regarding both the efficiency of the weapon’s special features and their characteristics.

===================

Русскую версию Дневников разработчиков #19 вы можете прочесть на нашем официальном сайте.