I've been restructuring the Attack/Defence numbers and thought some of you might find this interesting. Disclaimer, there are quite a lot of numbers so read at your own risk. The numbers aren't the hard part anyway. Finding the right way to do this was the hard part.
First for a little context - my game has procedurally generated equipment stats (weapons, armor, etc.) combined with skill based combat. Randomness can be a problem in skill based games so from the very first prototype I knew I wanted to have a very limited amount of base stats randomisation for my loot. Instead I focused on level based curve with a tiny bit of randomisation that was also level based. A light weapon's stats look like this:
Evaluated from curve: 0/50
Random: 0 to 1/0 to 10
Total: 75 to 76/125 to 135
I have light medium and large weapons. The way I use the weapon's size is I multiply the above stat for medium by 1.4 and for heavy by 1.8. The formula is:
((B + E) * SizeMod) + R = Total
This gives me an easy procedural size difference and means I spend less time on balance since I know with certainty what light, medium and heavy weapon attack stats are going to look like.
Notice that at level 1 there is a 60 point difference between light and heavy base damage and at level 100 the difference is 100 points. At level 100 heavy weapons will take less hits to knock out an enemy than light attacks. To address this I have a skill based critical hits system that significantly favours light weapons.
A staple of roleplaying games, character abilities like Strength and Dexterity are used to give the player extra control over the amount of damage they deal to enemies. My game has multiple damage types but I'll only cover physical damage scaling here. As you can see I use soft capping for damage scaling. The soft cap is at 40 points.
I add the scaling directly to weapon attack points and that is how I end up with the final weapon damage. Well it's a bit more complicated than that as every weapon has moves and every move has it's own internal modifiers but that's for another time.
Going back to the damage graph - notice how a light attack is ~52% of a heavy attack and how with scaling the same ratio is ~72%. Scaling is the other mechanism (apart from critical hits) I use to keep light and heavy attacks closer in damage. In the hands of a skilled player light weapons actually deal the most damage.
Every item in the game can give the player an amount of defence if it was generated with a defence type bonus. Frankly that makes calculating desired defence points at the various levels a pain.
I tried many more and less complicated methods. I settled on a simple ratio between damage and player defence. The problem with a straight ratio is that I have 9 different item slots that can provide the player with defence. The reason this is a problem is that I'd like to have defence points per item grow at a rewarding rate as the player levels up. I decided to multiply the points I originally used by 5 and then divide by 5 during the ratio calculation. You can see below the process I went through to balance the defence ratio.
The bottom 4 lines are what I use in the game at the moment but its a process and I'm far from done. Notice the gradual decrease in defence usefulness on higher levels and against heavy weapons, this is by design and will most likely be decreased further to encourage more aggressive play styles.
In conclusion - use spreadsheets! That's it for now, hope to see you next week!