- Joined
- Jan 16, 2015
- Messages
- 2
- Reaction score
- 0
- First Language
- English
- Primarily Uses
Hi guys and gals,
Our team is currently working on a Turn Based RPG and along our development road we reached a slight impasse concerning the Stats of our Heroes and Monsters as well as the formulas required for our battle system to work perfectly. We have done all of our ground work well, but it feels we are still missing something to make it really good.
This game means a lot to us and absolutely any feedback is very much welcomed. So here we go.
Our Heroes are always in a party of 4. They use two position in battle - Front and Back.
At any given time 3 Heroes are in the Front row and 1 is in the back. The player can switch the positions of their Heroes at will, without consuming a turn. Once a Unit attacks it enters a cooldown state where it can’t use their skills, but can switch positions with other Units. There are Ultimate skills that activate depending on how often we use a hero, but we won’t go into that just now.
Meanwhile, the number of monsters on screen can vary from 1 to 5. Monsters also have front and back rows. There are two main groups of Monsters, Ranged and Melee. If the player fights a Melee and Ranged monster(s), the Ranged monster will always start from the Back row, from where he can only be harmed by ranged attacks and will come to the Front only once all the Front row monsters are defeated.
All characters, Units and Monsters alike, have the following stats.
C) Classes have specific COEFFICIENTS that influence how we Calculate Their Block, Evasion, Resistance to Magic and Critical chance. NOTE: Monsters of the same class as Units have DIFFERENT COEFFICIENTS
Here are the Coefficients for a Warrior Class Character.
Below are the formulas for calculating the Final block chance, Evasion Chance, Magic Resistance Chance and Critical Chance of a character
[*]ResistChance = DefenderInt/( DefenderInt + ResistCOEFFICIENT*AttackerLevel) (magic resistance)
[*]CriticalChance = AttackerDex/(AttackerDex+ CriticalCOEFFICIENT*DefenderLevel)
Squire - Warrior Class and a Rogue - Thief as the Monster. As mentioned above there are 4 Heroes at any given time but we will only take into account a 1 vs 1 Situation
The Squire’s Stats are:
The Thief’s Stats are:
Event Chances for the Warrior - Squire are:
Event Chances for the Rogue are ( please note that the coefficients are different from the Squire):
SKILLS
The Warrior (Squire) has a skill - Sword Strike - dealing 100% of Squire’s STR as strike damage ( Warrior class). So if the Squire has 15 STR he deals 15 DMG and sends him in cooldown for 3 turns. We also have a spread percentage worked into our calculations, but we’ll skip it for now.
The Thief’s skill - Backstab - Strike that deals initially 60% of Rogue’s DEX as damage and applies a Technique that deals 15% of his DEX as damage for 2 Turns and gives him a cooldown of 3 turns.
In battle we use a RNG-based system to check for various effects.
The Squire uses his skill on the Thief.
[*]We check if the hit is critical
Repeat as necessary until all units or monsters are dead.
We tried this system and at one point our Characters would either be unable to dodge/block/resist (due to low chances), or, if we buff the respective chances by raising the stats by “equipping items” (adding a multiplier to the stat), become much more powerful than the monsters can be (248 STR vs 114 STR @ lvl 30, for a block chance of 19%).
The questions are:
We hope we can start a fruitful conversation and know what you guys think. References, ideas - anything is welcome.
Thank you.
Our team is currently working on a Turn Based RPG and along our development road we reached a slight impasse concerning the Stats of our Heroes and Monsters as well as the formulas required for our battle system to work perfectly. We have done all of our ground work well, but it feels we are still missing something to make it really good.
This game means a lot to us and absolutely any feedback is very much welcomed. So here we go.
Our Heroes are always in a party of 4. They use two position in battle - Front and Back.
At any given time 3 Heroes are in the Front row and 1 is in the back. The player can switch the positions of their Heroes at will, without consuming a turn. Once a Unit attacks it enters a cooldown state where it can’t use their skills, but can switch positions with other Units. There are Ultimate skills that activate depending on how often we use a hero, but we won’t go into that just now.
Meanwhile, the number of monsters on screen can vary from 1 to 5. Monsters also have front and back rows. There are two main groups of Monsters, Ranged and Melee. If the player fights a Melee and Ranged monster(s), the Ranged monster will always start from the Back row, from where he can only be harmed by ranged attacks and will come to the Front only once all the Front row monsters are defeated.
- Type-wise, there are two big groups of UNITS AND MONSTERS:
- Warriors , Rogues and Rangers deal Physical damage - they use Strikes ( Sword swipes ) or Techniques ( bleed damage, poison, Stuns )
- Priests, Mages and Warlocks deal Magic Damage - they use Spells ( Fireballs etc.) Curses ( Debuffs etc.) or Blessings (Heals, Buffs etc.).
- Strikes
Physical based attacks - Influenced by STR and DEX
Can be blocked and evaded
- Physical based attacks ( bleed, poison ) - Influenced by INT and DEX
Can only be blocked ( if a Technique is blocked, ignore its effects)
- Spell-based abilities - magic missiles etc - influenced by INT
Can be evaded or resisted
- Magic-based malefic status effects - curses, debuffs etc. - INT-based
Can be resisted
- Magic-based benefic status effects - heals, buffs etc. - Int-based
No defence needed.
- Strength ( STR ) - Influences the Block chance (chance to block 50% of incoming damage and resist techniques) for all classes and Damage output for the Warrior class
- Dexterity ( DEX ) - Influences the Evasion chance and Critical chance for all classes and the Damage output for the Rogue and Ranger
- Intelligence ( INT ) - Influences Magic resistance (the chance to fully negate the damage of a spell/curs ) and Damage Output for Mages, Priests and Warlocks
- Vitality ( VIT ) - Influences HP
C) Classes have specific COEFFICIENTS that influence how we Calculate Their Block, Evasion, Resistance to Magic and Critical chance. NOTE: Monsters of the same class as Units have DIFFERENT COEFFICIENTS
Here are the Coefficients for a Warrior Class Character.
block coeff
24
evasion coeff
80
resist coeff
120
crit coeff
100
Below are the formulas for calculating the Final block chance, Evasion Chance, Magic Resistance Chance and Critical Chance of a character
- Block Chance = DefenderStr/( DefenderStr + Block COEFFICIENT*Attacker Level) . After the Block status is checked and if it takes place, depending on the class Block Damage Reduction takes place. Different classes have DIFFERENT Block Damage Reduction percentage.
Block Damage Reduction:
Warrior - 50 % of incoming damage, Strikes and Techniques only
- Rogue - 40 % of incoming damage, Strikes and Techniques only
- Ranger - 35 % of incoming damage, Strikes and Techniques only
- Priest - 20% of incoming damage, Strikes and Techniques only
- Mage - 25 % of incoming damage, Strikes and Techniques only
- Warlock - 25% of incoming damage, Strikes and Techniques only
[*]ResistChance = DefenderInt/( DefenderInt + ResistCOEFFICIENT*AttackerLevel) (magic resistance)
[*]CriticalChance = AttackerDex/(AttackerDex+ CriticalCOEFFICIENT*DefenderLevel)
FIGHT
Let’s take a Hero and a Monster, both Level 1, as an example.Squire - Warrior Class and a Rogue - Thief as the Monster. As mentioned above there are 4 Heroes at any given time but we will only take into account a 1 vs 1 Situation
The Squire’s Stats are:
- STR 9
- DEX 6
- INT 6
- VIT 9 = 18 HP
The Thief’s Stats are:
- STR 6
- DEX 11
- INT 5
- VIT 4 = 8 HP
Event Chances for the Warrior - Squire are:
- Block chance = 9 / ( 9 + 24*1) = 0.28 or 28%
- Evasion Chance = 6 / ( 6 + 80*1) = 0.08 or 8%
- Magic Resistance Chance = 6 / ( 6 + 120*1) = 0.04 or 4 %
- Critical Chance (vs a lvl 1 target) = 6 / (6 + 100*1) = 0,05 or 5%
Event Chances for the Rogue are ( please note that the coefficients are different from the Squire):
- Block chance = 6 / ( 6 + 40*1) = 0.13 or 13%
- Evasion = 11 / ( 11 + 30*1) = 0.26 or 26%
- Magic Resistance = 5/ ( 5 + 40*1) = 0.11 or 11 %
- Critical Chance (vs a lvl 1 target) = 11 / (11 + 40*1) = 0,21 or 21%
SKILLS
The Warrior (Squire) has a skill - Sword Strike - dealing 100% of Squire’s STR as strike damage ( Warrior class). So if the Squire has 15 STR he deals 15 DMG and sends him in cooldown for 3 turns. We also have a spread percentage worked into our calculations, but we’ll skip it for now.
The Thief’s skill - Backstab - Strike that deals initially 60% of Rogue’s DEX as damage and applies a Technique that deals 15% of his DEX as damage for 2 Turns and gives him a cooldown of 3 turns.
Battle Simulation
Monsters always start with a randomised cooldown, but never less than 1 turn. Thus our Squire attacks first in any case (we should have named him Han). In battle we use a RNG-based system to check for various effects.
The Squire uses his skill on the Thief.
- First we check if the Thief evades the attack.
Random generation gives us 0.62 > 0.26 ( see above ), so the Rogue did not evade Squire’s attack.
- RNGeezus gave us 0.36 > 0.13, so no block either.
[*]We check if the hit is critical
- RNG -> 0.03 < 0.05, which means it’s a Critical Hit (good lord, thank you it wasn’t a critical failure).
- We multiply the skill’s power by the critical multiplier, which is also different for different classes
- The final damage is 15 * 1.2 = 18.
Repeat as necessary until all units or monsters are dead.
We tried this system and at one point our Characters would either be unable to dodge/block/resist (due to low chances), or, if we buff the respective chances by raising the stats by “equipping items” (adding a multiplier to the stat), become much more powerful than the monsters can be (248 STR vs 114 STR @ lvl 30, for a block chance of 19%).
The questions are:
- How do we scale this into late-game, considering that we have not equipped any items on the Squire, and the monsters cannot have any equipped items?
- How do we maintain a balance between victory and defeat for the player? What would a good difficulty curve for a mobile TB-RPG look like?
- Are the formulas we are using, together with the coefficients giving us a viable option to scale everything into late game?
- What seems wrong with the system? What did we miss? Are there any gaps we did not look into.
- We have multiple Heroes that we want to feel different in terms of Evasion, Block, Resistance, Damage.
- Is it worth comparing the stats of the Attacker vs those of the Defender when calculating the event chance, or would the Stats vs level*coefficient suffice?
- What of the block damage reduction, does it synergize well with the Block chance?
We hope we can start a fruitful conversation and know what you guys think. References, ideas - anything is welcome.
Thank you.

