How to: Damage Formulas?

Started by Zexion, May 19, 2013, 05:01:17 am

Previous topic - Next topic

Zexion

Well, I had originally planned to use a semi-scripted/evented battle system. Using a script to add a basic AI and attacking functions. I've since decided to go completely by events. I know exactly how to go about doing this as I have many examples now, and plenty of ideas. I know that it will require me to event TONS of pages worth of AI for allies as well as enemies, but it is worth it to make every enemy unique.

My problem now is making new battle formulas. Using events basically makes all default stat and skills useless unless called specifically through event. Which means I can now make damage calculations through events rather than it being pre-calculated through script. The problem is that I have no idea how to make damage formulas that would work for my battle system.

I know what I basically want from it is:
6 (related) Stats
Strength, Magic, Def, HP, MP(Sp), and Weapon Strength

Weapon's Strength accounts for a big chunk of damage.
Player Strength accounts for a bigger chunk of damage.
Magic accounts for magic damage.
Defence accounts for the percentage of damage that you can block naturally (without using defend).
Hp is of course your health and Mp is magic power.

I want enemies to max out at 400 HP. At a maximum of 25HP per health bar. Meaning 16 health bars is the highest an NPC can have. I want players to max out at around 250-300HP. This means that I want damage to be relatively low. To give you an idea of the scale: An enemy encountered at early stages will have about 10HP total, while the final boss might have 375.

Does anyone know some basic formulas I should take a look at? Aswell as how low I should start my numbers.

KK20

Coming up with your own damage formulas is by far the hardest part to design in any game, especially when keeping balance and gradual difficulty. Foremost, it is imperative to know what numbers you wish for the stats to be and what bonuses equips give (e.g. are we talking a base strength of 5 and a weapon that adds 200 more?). You have already established what HP values are going to be; now we need how much damage attacks are going to do and if 0 damage exists under normal conditions (by that I mean your attack is significantly lower than the enemy defense, not special conditions like electric attacks don't affect ground monsters).

For such low HP values, I'd assume that a very low level of variance would be necessary. It seems appropriate that the character does 3-7 damage as opposed to 3-40. If 400 is the maximum, I would assume that a lot of healing will be happening in battles unless the battlers are doing like 10-20 damage or less (boss battles will be pretty short unless they spam heal). If the first monsters have 10HP, I'd expect my actors doing no more than 3 or 4 damage normally at the start.

A suggestion is to use a spreadsheet like Excel. The ability to input stat values and have them be calculated instantly will help give you ideas of balance.

Other Projects
RPG Maker XP Ace  Upgrade RMXP to RMVXA performance!
XPA Tilemap  Tilemap rewrite with many features, including custom resolution!

Nintendo Switch Friend Code: 8310-1917-5318
Discord: KK20 Tyler#8901

Join the CP Discord Server!

Zexion

I thought about it a lot last night, and I thought of some simple formulas, but I'm still not too sure. At the beginning while your strength is relatively low and your weapon isn't the strongest, you would only be dealing around 1-3 damage at a time. I don't think I'd ever want them to hit 0.

Actually, in Kingdom Hearts damage is pretty static. While you do more damage at higher strength levels, you always do the same amount with a random critical hit every once in a while. It usually gets stronger as your combo drags out. E.g. The first hit is 3, then 5, and then 7, and when you use the finishing move it will do the most damage, like around 14 in this example.

The battles wouldn't really consist of healing much. Normal enemies are not meant to be devastatingly hard, but more of something to train on. For example the most basic enemies AI will consist of:
Hide
Sneak to the player
Surface
Attempt to attack
Repeat.

Depending on the difficulty level it would also take a varying amount of hits before you die. That particular enemy (the weakest one in the game) would take around 10-13 hits to kill you on beginner mode, 5-7 on normal mode, and 3-5 on proud mode. Which of course becomes easier to survive as you gain HP and enemies stay the same. It also becomes extremely easy to stay alive once certain abilities are unlocked like second chance and once more. Not counting the fact the you will have Cure, Cura, or Curaga through most of the game.

Idk, overall this is probably the funnest part for me. I like spriting and all, but it is becoming a chore and I just want to finish so I can release my first world's demo which only involves 2 or 3 fights.

KK20

I enjoy number crunching too--it's just writing good formulas is really tedious and a heavy thought process. I'd say for now, keep your stats and equip stats relatively low (easier to manage). Do something simple like (Attack - Defense) * Variance (if any) with a check to make sure damage always does at least 1. Test it out and make modifications as you go on. I don't think you need anything very complex.

Other Projects
RPG Maker XP Ace  Upgrade RMXP to RMVXA performance!
XPA Tilemap  Tilemap rewrite with many features, including custom resolution!

Nintendo Switch Friend Code: 8310-1917-5318
Discord: KK20 Tyler#8901

Join the CP Discord Server!

Zexion

I definitely don't need anything complex, it  was mainly that I had so many ideas and no place to really keep track of them. I also needed some perspective on what I should do next, which is exactly what I got from this :) I can't wait to begin this battle system lol.