jimmynewguy wrote:Hey Bee, how do you come up with all the stats for items and enemies in this and WB2? I'm making an RPG type game and I'm not really sure what stats should be like in order to keep balance. I want different equipment to have its strengths and weaknesses, but it's hard to test ALL items at ALL levels in the game and such and see how to hold up to the harder enemies without making some weaker enemies too weak, if you get what I mean. Maybe you can shed some advice on this for me? Thanks, and everything looks good so far.
This is gonna be a looong explanation. Please bear it. So, here I'll share everything...
--- STATS ---
Firstly, decide what stats you want to use. In WB2, I used:
- HP (Health Point - decides your life)
- EN (Energy, or MP in some games - decides your "ammunition" to ram attacks)
- ATK (Attack - decides your strength)
- DEF (Defense - decides your bulk)
- SPD (Speed - decides who will strike first)
But in WBR, I use:
- HP (Health Point - decides your life)
- EN (Energy, or MP in some games - decides your "ammunition" to ram attacks)
- PATK (Physical Attack - decides your physical strength)
- PDEF (Physical Defense - decides your physical bulk)
- MATK (Magical Attack - decides your magical strength)
- MDEF (Magical Defense - decides your magical bulk)
- SPED (Speed - decides your walking speed, not displayed in Summary though)
Now, decide on how will you increase your character stats when levelingup. In some games, they will just add constant value for each stats till certain level. But in other games, they use some kind of complicated formula. I have used and am using both methods.
In WB2, I used the constant value addition. As the basis, I set some kind of basestats for each character. For example:
BaseStats of IZE
- HP: 3
- EN: 2
- ATK: 4
- DEF: 3
- SPD: 3
Total BaseStats: 15
The number for each stat varies between 1 - 5. Standard "strong enough" value is 3.
And here's the simple formula to calculate them:
- HP: BaseStats*Level+Level+20;
- EN: BaseStats*Level+Level+50;
- ATK/DEF/SPD: BaseStats*Level+10;
So the default stats value in level 0 are:
- HP: 20
- EN: 50
- ATK: 10
- DEF: 10
- SPD: 10
With those formulas, everytime you levelup, your stats will be increased by your BaseStats number. In that case, in level 100 you will get this stats distribution:
- HP: 420
- EN: 450
- ATK: 410
- DEF: 310
- SPD: 310
But once I start making WBR, I found out that those formula kinda unbalanced and too simple
So I come up with adding some additions. For example:
Basestats of IZE
- HP: 45
- EN: 40
- PATK: 50
- PDEF: 40
- MATK: 50
- MDEF: 40
- SPED: 50
Total BaseStats: 315
The number for each stat varies between 1 - 99. Standard "strong enough" value is 50.
And here's the kinda complicated formula to calculate them:
- HP: (BaseStats*4+Effort/8+Level+15)*(1+ElementBoost);
- EN: BaseStats*4+Effort/8+Level+75;
- PATK/PDEF/MATK/MDEF: ((BaseStats*4+Effort/8)*Level/100+5)*(1+ElementBoost+BattleMethod);
- SPED: ((BaseStats+Effort/51.2)*(1+ElementBoost/2))/10;
What is Effort?
Effort is an additional stat boost point you get by defeating enemy. For example if you defeat a speedy enemy, then you will get a speed effort point. Max Effort point you can get for one stat is 512. And 1024 for total. In this case, you can only maxout 2 stats.
What is ElementBoost?
ElementBoost is a stat multiplier boost you can get from the element your character has. For example if your character has a Rock element, then it will get ElementBoost on PDEF. If your character has a Fire element, then it will get ElementBoost on MATK. Etc etc...
ElementBoost will give 0.1 value to the benefical stat, and give 0 value to other stats.
What is BattleMethod?
BattleMethod is a stat multiplier boost you can get from the battle method your character has. Unlike ElementBoost, while this booster will increase one stat it will also decrease one stat. For example "Reckless Fist" battle method will increase your PATK, but will decrease your PDEF. But "Balanced Power" battle method won't boost any stat nor lower them. Boosted stat will get 0.1 value, lowered stat will get -0.1 value, and 0 for other stats.
So if IZE has 512 PATKEffort and PDEFEffort, Rock element, and "Reckless Fist" battle method... his stats in level 100 would be:
- HP = (45*4+0/8+100+15)*(1+0) = 295
- EN = (40*4+0/8+100+75) = 335
- PATK = ((50*4+512/8)*100/100+5)*(1+0+0.1) = 295
- PDEF = ((40*4+512/8)*100/100+5)*(1+0.1-0.1) = 229
- MATK = ((50*4+0/8)*100/100+5)*(1+0+0) = 205
- MDEF = ((40*4+0/8)*100/100+5)*(1+0+0) = 165
- SPED = ((50+0/51.2)*(1+0/2))/10 = 5
That's all for stats. How do you manage your stats?
--- DAMAGE ---
If we talk about stats then we have to talk about damage too since they're related. For standard RPG, there're 3 kinds of damage. Neutral, Critical, and Resisted. Each damages has it's own multiplier. But there's some additional kind of damage in some RPG. Like in Pokemon, there's "supper effective" and "not very effective" hit. I don't want to talk too much here, so I will just give one example. In WBR, here's how I calculate the damage:
- PhysicalDamage: (0.025*(AttackerLevel*2/5+1)*AttackerPATK*AttackerMovePower*AttackerMoveSTAB/RecipientPDEF+1)*crit*harm;
- MagicalDamage: (0.025*(AttackerLevel*2/5+1)*AttackerMATK*AttackerMovePower*AttackerMoveSTAB/RecipientMDEF+1)*crit*harm;
Here I add another multiplier other than "critical". It's "harm". Much like Pokemon "super effective" and "not very effective" hit that comes from type matchup, in WBR it comes from element matchup. You will get "harmful" or "harmless" hit there. The default value for crit and harm is 1 (neutral damage). The chance of critical or resisted hit are 5%. I just randomize a number: n=rand(100); if(n<5)crit=1.5; if(n>=95)crit=0.67;
As far as I know there're 2 kinds of multiplier, extreeme and less-extreeme. The damage multiplier in Pokemon is kinda extreeme for me. *2 for critical or super effective, and *0.5 for not very effective. In that case, if you get both critical and super effective hit then your damage will be multiplied by 4 (or even *8 if you have double weaknesses). Gosh... it's just too much for me. An instant kill. In other hand, if you get "not very effective" hit then your damage will be multiplied by *0.5 (or *0.25 if you have double resists. You can even get *0.125 by the aid of some abilities). Well, that's just very few for me.
So here I use the less-extreeme damage multiplier. I use *1.5 for critical or harmful, and *0.67 for resisted or harmless.
If you get both critical and harmful damage, then your damage will be multiplied by *2.25. And if you get both resisted and harmless damage then your damage will be multiplied by *0.4489. Not too much, but also not too few.
STAB stands for "Same-Type Attack Bonus". In this case, if you're a Fire element user, and launch a Fire-type attack, then you will get *1.25 bonus. In Pokemon, you will get *1.5 bonus. Once again, it's too much for me.
--- ITEM ---
What kind of item you want to ask?
Judging on it's relation to stat, then it may be Recovery items?or maybe StatBooster items?
On standard RPG, there're 3 levels of recovery items. Low, Mid, and High. For example in WBR, I have "Red Fish" that will recover 50 HP, "Green Fish" that will recover 100 HP, and "Blue Fish" that will recover 200 HP. To decide the recovery number, check the "common" value of HP in certain level.
Usually low-level recovery is made for level 25 or below. Mid-level recovery is made for level around 50. And high-level recovery is made for level around 75. There's also a special recovery that will fully recover the HP, and made for level 100 (or any max level you use).
A suggestion on this recovery item, don't recover the HP or MP in percentage. Like, low-level recovery will recover 25% HP, mid-level 50% and high-level 100%. I used that in WB2 and it just made you waste so much money in early game. Avoid that.
As for the StatBooster items, I will use less-extreeme multiplier on those. Maybe *1.1 is enough. For example, "Black Pendant" will boost MagicalAttack by *1.1
"SuperGlove" will boost PhysicalAttack by *1.1 etc...
If you want to make something that will boost certain stat over *1.1... maybe *1.2 then you should add additional bad effect on it. For example "Big Axe" will boost PhysicalAttack by *1.2 but will lower Speed by *0.9 etc.
OK now I will shut up -_-