PDA

View Full Version : High Level Balance


Bluddy
02-24-2011, 06:52 PM
OK guys,

After poring over excel sheets, I think I found the problem(s) Baki and others have complained about, and it's not the armor absorption formula. That formula is pretty close to the sweet spot. It could use a little more tweaking maybe to allow people to reach some higher armor values, but because armor values are so spread out, it does the best job it can.

Right now, armor absorption percentage can give you up to 65% at the VERY high end of plate. Since every hit gets reduced somewhat, we can translate that to an 'effective HP' of
1/(1-0.65) = 2.85x your real HP. That means that if you have armor giving you 65% protection, and you have 1000 HP, it's really like you have 2850 HP. It's really nice, especially for the warriors. The leather classes are stuck closer to 30% absorption which gives only 1/(1-0.3) = 142% HP, so they have 1420 effective HP. But they also have high dexterity to avoid being hit. Anyway, I digress.

So what IS the problem that causes the phenomenon Baki and others experience around level 50? To remind everyone, around level 50, as a warrior with heavy armor, you can kill nearly everything with 1 shot, and you can get killed very easily as well. There are 2 problems here: being killed too easily, and killing too easily.

Let's talk first about the first problem, being killed too easily. Monsters are assigned minimum and maximum damage lines. Those are nice linear functions, and they increase steadily. This is good, because the player's HP is also mostly a linear function of their vitality. Sure, occasionally you improve your armor significantly and therefore increase your 'effective HP' (see above) by x1 or even almost x3 as I mentioned above. But then, your HP continues to go up linearly, so it doesn't change things THAT much. Plus, it's very rare to find enough armor to give you such a big bonus.

Just to give an example, assuming a warrior who places 2 out of every 5 attribute points into vitality, the warrior will start with 68 HP at level 1 , have 296 HP at level 20, 656 HP at level 50, and 1256 HP at level 100. Quite linear, since you get a fixed amount of HP per vitality.

This is all fine and dandy. Where does the problem come in then? The problem is that while the monsters are given a set min and max damage values per level which are both linear (as we said above), they also get 2-4 points of strength per level (I think generic monsters get 2 and warriors get 4). This makes the damage curve of the monsters non-linear. Just to give an idea of the effect, assuming the warrior above and a monster strength per level of 2; at level 1, the player needs to be hit 37 times to be killed. At level 10, it's down to 16 times. At level 50, he only needs to be hit 8 times to die. At level 100, 5 times are enough.

These figures are moderated somewhat by good armor. If you have really really good armor, you'll get something like a 2.5x bonus to your HP, so you can multiply these figures by something like that. Except then you have to divide them by 2 for critical hits, which seem much more frequent at higher levels (though I can't find the stats for them for monsters.) And warriors don't have the high dexterity to dodge hits like rogues can... This results in many warriors being wiped out in a matter of seconds. The same obviously applies to the weaker classes but is much worse for them since they have much less HP and much worse armor. Some of them can save themselves with tricks like teleport or just keeping a distance from the monsters.

The non-linearity of the damage function is a good thing in general. It gives DC a serious difficulty curve. However, my recommendation is that it should probably be moderated by either reducing strength per level for the monsters, or reducing their damage multiplier per point of strength (currently it seems like it's at 1 which is very high). This will reduce the non-linearity, making the monsters less intense at higher levels, but still at least as intense (relatively) as they were in lower levels -- the linear part of damage growth takes care of that.

Now onto the 2nd problem: warriors killing monsters too easily. This is a very similar problem to the 1st one above. Essentially, DPS goes up extremely non-linearly for warriors. This is partially because they get the best weapons, and partially because they have the same strength multiplier that made the monster damage nonlinear. The problem is that the monsters' HP curve is very linear (just as player HP was above).

I don't have consistent data on DPS since it's so variable, but I'll give some examples out of sample characters I collected from the forum. A warrior-type character had a DPS of 32.4 at level 17. At level 17, warrior monsters have an HP of 168 and an effective HP of 207. It'll take roughly 7 hits to kill the monster, not counting critical hits and misses etc. At level 45, another warrior-type character had a DPS of 230. The monsters at this level have an HP of 468 and an effective HP of 591. 2-3 hits will do the trick, not including critical hits. By level 79 characters can have DPS values of 2000. This is more about twice the HP (and effective HP) that monsters can have at level 100!

This really strong non-linear effect is less desirable than the 1st problem. Warriors essentially get way too powerful, to the point that virtually all monsters are trivial to kill. The only thing stopping them is the first problem above, but the routine of 'kill a couple of monsters, die, kill a few, die' is not too exciting.

How do we reduce the power of warriors and high DPS? In particular, how do we reduce the power of high DPS while not destroying the chances of low DPS classes (wizards, conjurers) surviving the high levels (which are low enough as it is)? If we increase monster HP, we hurt everybody. Also, Shadow lowered monster HP specifically to help the lower classes.

One possibility is armor. Armor is severely underused by current monsters. ALL monsters are given 7 armor points per level. Using the current formula, that means that after a few weak levels, monster armor settles at absorbing 20%, and that's how it stays. Making monsters get more armor per level will hurt characters at the lower levels. But if we make it such that monsters get increasingly high armor levels (adding 10, then 15, then 20 etc), we can eventually get them to armor levels high enough to double or triple their effective HP... but only at higher levels, and only against physical damage! Elemental damage will stay as effective as it was before, which should make mages relatively more powerful in the higher levels (they'll still need the affirmative action program to balance out their skill set, regardless). Swords with elemental attacks will finally get the appreciation they deserve.

If there are other classes that can't get enough DPS in the late game (rogue?), they can be given more armor piercing weapons for balance.

I might have messed up reading some of the data, but hopefully not too much. Thanks for reading this far!

Crisses
02-24-2011, 09:12 PM
Wow, Bluddy! Thanks for thinking all that through. I'm getting too old to rub that many brain cells together at once ;) My son is reading it over my shoulder and I'm sure he'll be thinking about it as much as you.

ValdainTheKing
02-24-2011, 10:09 PM
Wow, Bluddy! Thanks for thinking all that through. I'm getting too old to rub that many brain cells together at once ;) My son is reading it over my shoulder and I'm sure he'll be thinking about it as much as you.

It would be funny if your son got a disease. Then would you be laughing and acting like a jo?

Castruccio
02-24-2011, 10:25 PM
It would be funny if your son got a disease. Then would you be laughing and acting like a jo?

What does this even mean?

ValdainTheKing
02-24-2011, 10:40 PM
What it means is that if he is going to act like an jerkoff to me, then i am going to double the rate that he is going.

Jorlen
02-24-2011, 10:59 PM
What it means is that if he is going to act like an jerkoff to me, then i am going to double the rate that he is going.

How is he acting like a jerkoff to you? He wasn't even talking to you? Not to mention what he said wasn't in any way meant to insult anyone at all.

Castruccio
02-24-2011, 11:03 PM
How is he acting like a jerkoff to you? He wasn't even talking to you? Not to mention what he said wasn't in any way meant to insult anyone at all.

That's what I was wondering.

Manumitted
02-24-2011, 11:08 PM
Don't feed the trolls.

ValdainTheKing
02-24-2011, 11:12 PM
Haha. Got the wrong asshole. It was meant for stardusts.

Stardusts-"Maybe the king should try to play a little more to find out about the harshness of deeper dungeons instead of bragging in forum like he knows everything. Oh and try to read some posts first too."

He talks in a condescending manner and obviously is an idiot. He's a perfect example of L.

Crisses
02-24-2011, 11:52 PM
And what was joining my multiplayer game, saying something about "What's up jew?" or similar, then leaving?

Whether someone may have insulted you in the forums or not, you're in a community setting and you might consider acting like you want to be part of the community. You decide whether you want to be likable or not, but please decide quickly so we can all move on with or without you.

ValdainTheKing
02-25-2011, 12:16 AM
I got the wrong person. But still, i dont care what you say is a community. If a community is that guy acting like he's god's gift to the world, then thats not a community. Especially when he's just as new as i am here. I am sorry about getting the wrong person, but make no mistake I dont take shit. And if people dont like the truth, then they should shut their mouth.

DeathKnight1728
02-25-2011, 12:35 AM
I think that we should try and be civil as much as we can. There's enough hate going on in the world.

Crisses
02-25-2011, 12:38 AM
I got the wrong person. But still, i dont care what you say is a community. If a community is that guy acting like he's god's gift to the world, then thats not a community. Especially when he's just as new as i am here. I am sorry about getting the wrong person, but make no mistake I dont take shit. And if people dont like the truth, then they should shut their mouth.

Thanks for the apology but please don't ever talk to me again. I don't want your energy or ethics in my life. I'm glad my son didn't see what you wrote because your apology wasn't sufficient for that type of potential heartache. Now I'd like to get back to haggling about game balance.

Crisses
02-25-2011, 12:46 AM
Bluddy, is there a way to post a plugin for a potential fix? Again thanks for the number crunching, it's something I would have done before I became older and realized how OCD it made me seem :)

Oh, how will this affect critter-to-critter damage....pets and inter clan wars and slight of hand want to know.

Bluddy
02-25-2011, 05:34 AM
Bluddy, is there a way to post a plugin for a potential fix? Again thanks for the number crunching, it's something I would have done before I became older and realized how OCD it made me seem :)

I'll try to come up with values for a plugin for the first problem's solution. The second problem can't be solved properly using the method I suggested of raising monster armor unless Shadow provides some programming support for it. If I change monster armor per level from 7 to say, 20, that won't be enough to raise % armor absorption levels at the higher levels enough, but will hurt the lower levels a little since now instead of 20%, monsters will absorb 30%. A non-linear (I keep using that word) method is needed. The alternative is to lower the damage per strength bonus for player characters (just as I will for monsters). This will lower the non-linearity of the player's DPS somewhat.

I'll see if I can cook up something even without programming support.

That reminds me that I forgot to link to my (now huge) excel file (http://www.mediafire.com/?wjg2h89g6ywhc6q). It's got many pages now:

DefOld - the old armor formula
DefNon - trying to play with the armor formula (and not succeeding)
DefX^2 - what I think will be a good tweak for the armor formula
ResOld - old resistance formula
ResNon - my tweak to the resistance formula
PlayerCalc - calculated player statistics
Samples - sampled values from real characters
MonsterCalc - calculated monster statistics
Values - constants used for calculations

Oh, how will this affect critter-to-critter damage....pets and inter clan wars and slight of hand want to know.

Good question. I think if anything, these changes should make inter-monster fighting better, or at least more similar in the higher levels to how it is in lower levels. Though I haven't checked it yet, my guess is that just as player vs monster combat gets unbalanced at higher levels, the same occurs to monsters. They'll kill each other way too fast because their HP won't match their fast-increasing damage. This should improve that.

Bluddy
02-25-2011, 06:50 AM
OK after playing a little and having the values not match my calculations exactly, I realized I was missing a factor: aside from 0.6% per strength point, warrior classes get an extra 0.2% of damage per strength point, per tree! A full warrior gets 1.2% per strength point! A partial warrior will have 0.8%.

So basically, the most powerful class in the game gets the most powerful bonus, based on a stat that only it has tons of (ie. strength). This is very overpowered. To give you an idea of how powerful this is, at 1.2% per strength, at level 50, the warrior hits for 253% of damage all the time. At level 70 it'll be 313%. The full-time warrior finishes the game with around 400% damage. A part time warrior (only 1 warrior tree) gets 0.8% per strength. At level 50 he'll have 202% damage. At level 70 he'll have 242% damage, and at level 100, he'll reach 300% damage. You can see that even comparing a regular warrior to a part-warrior, the full warrior has a big advantage and will massacre monsters much more easily at high levels.

EDIT: I just realized that other classes (thief, hunter etc) have bonuses of 0.1%/strength each -- but they'll also have far fewer points in strength, so it won't make nearly as much of a difference.

In my opinion, these percentages all need to be lowered. They're the most powerful modifiers in the game, and they cause even worse, severe non-linearity in the DPS levels. 0.6% per strength can probably be lowered to 0.5%, and the bonus per tree should be lowered to 0.1% or even less.

I'll make a plugin of my changes pretty soon so they can be tested out.

Baki
02-25-2011, 07:24 AM
Str isnt the only thing influencing damage. I think its too early to try to balance in that area.

Things like passive skills, damage bonus from skills etc also count. Those things have to be considered. Adjust the general area frist, look how it works, then move on to inter class balance.

Bluddy
02-25-2011, 08:27 AM
Str isnt the only thing influencing damage. I think its too early to try to balance in that area.

Things like passive skills, damage bonus from skills etc also count. Those things have to be considered. Adjust the general area frist, look how it works, then move on to inter class balance.

Valid point. Adjusting the monsters' damage is quite predictable; the player character is far less predictable, mostly because of passive boosts. I tried to zone in on the biggest sources of non-linearity, though. The situation gets even worse once you count the different passive boosts warriors (and other strong classes) can have.

In any case, I'm trying small tweaks in these particular things to see how much effect they have. It's likely that ultimately, the solution will be to beef up wizards, and then raise the HP/armor of the monsters.

BTW could you attach the character that's giving you trouble? It'd really help me with testing changes.

Baki
02-25-2011, 08:48 AM
since i exploited the stamp out the infestation thing with him he wont be of much use now :(

Chumpy
02-25-2011, 01:40 PM
Wow, Bluddy, amazing job!

I'm almost at level 50 with a couple of characters, so this'll help me a lot down the road.

Crisses
02-25-2011, 02:44 PM
Bluddy (& others)

I suggest having an online Dropbox account - 2GB storage free, and it synchronizes on your hard drive. Just keep the spreadsheet in the dropbox/public/ folder on your harddrive, post the "public link" to the file, and we'd be able to get the latest spreadsheet without you having to re-upload it.

http://db.tt/tojDqIX (link for a dropbox account)

I use it to sync files between my laptop, desktop, iPad, and I have a couple folders for graphics files shared with frequent-flyer clients who constantly have projects in the hopper. I was going to suggest it for the Din's Additionals plug-in too because the free file storage site he's using is a little annoying.

Bluddy
02-26-2011, 04:10 PM
Thanks for the Dropbox tip -- I'll check it out!

I did some more thinking and some more number crunching.

It's indisputable that the factor causing imbalance in the game is damage. It grows very fast for the monsters and much faster than that for some player characters. At the same time, it's very hard to say if the monsters are causing too much damage, mostly because the data is just too confusing. Yes, the monsters' damage curve grows fast -- it's essential to invest in vitality or skills/items that boost vitality, especially if you're not a warrior (warriors will find armor that'll double or triple their effective HP). However, there are so many vitality boosting items obtainable by the higher levels, that even a mage should be able to get his vitality pretty high.

Still, it's possible that it's worthwhile to lower monsters' strength-to-damage multiplier a little. As I've said before, this little multiplier is one of the biggest trouble-makers in the game. Even the smallest change makes a huge difference because of the non-linearity of the damage curve. I would need a lot more sample characters though to determine if this adjustment is really needed. If it is, the min and max damage curves for the monsters need to be adjusted as well so as to keep the lower part of the curve with the same behavior as it is now.

The problem seems to be more in the DPS that player characters, and in particular select characters (ie. warriors), can inflict. It goes up so high that it's far beyond the effective HP of the monsters. The poor monsters just can't keep up -- their HP only goes up linearly.

I really have to talk about classes separately here. Full warriors get a huge unfair advantage. Not only do they get 3 trees, they also get +1.2% per strength instead of 0.6% for a plain character, or 0.8% for a partial warrior. I think this is excessive and should be reduced -- this is what allows them to reach insane DPS levels. Other characters' bonuses in this stat should be examined as well. Like I said, this is a very problematic multiplier. I'm attaching my plugin, which reduces by a little the bonus that warriors get per tree. It should probably be reduced even more. It also includes my resistance formula fix.

The problem with DPS getting so high can be seen in Baki's original complaint. His DPS long surpassed the hitpoints of monsters 10 levels higher, but really, because of the non-linear behavior of the monsters' DPS curve, playing at his own level (50) would have reduced monster average damage from 108 to 82. This is a difference of about 1/4 ie. 1/4 more life for him, buying time for him to invest in vitality, get better items etc. The problem is that playing at his own level wasn't challenging enough -- the monsters just couldn't keep up with his insane DPS. Warriors don't need the huge damage per strength boost (and 0.6% per strength point is huge). They already have enough skills to help them with that.

So this is my advice: any boost of DPS to the player, and especially damage per strength, needs to be carefully reexamined because of its potential to cause such huge imbalance late in the game. Any skills affecting damage or attack time for any class need to be examined carefully. The monster strength to damage multiplier may need slight adjustment, but I'm leaving it as is for now.

Aside from this, mages need to be boosted as we've discussed in another thread. They have virtually no non-linearity to help them out with damage.

Castruccio
02-26-2011, 04:18 PM
Great work, and very clearly explained. Thanks so much for this.

Baki
02-26-2011, 04:53 PM
Imo the damage of mages is fine. What they need is Crowd Control and single target root / fear / stun whatever. They should be quishy but they also need ways to to get out of harms way. If getting out of harms way is achieved by killing everything before it can reach you something is wrong. Mages have to play there spellcombitions very well. Sadly Dins Curse only offers very few good combos to make that even possible.

Every melee char with a weapon can achieve great DPS. Its not only warriors. My char you were talking about was Gladiator / Firemage, so not much str bonus there. But lets assume the warrior class does far more damage than every other class: nerfing the damage bonus from str is the wrong way because str a warrior thing, he should benefit more from it than any other class. There are other ways to nerf warrior dps: Skills, lower crit rates etc.

By adjusting the armor formula you could counter the high dmg of both players and monsters by increasing the opponents effective life in a nonlinear way.

Oc the same has to be done with the resistance formula. After that you would probably have buff mages dmg.

But the general setting is relatively easy to balance. The harder part are the skills. Companies like blizzard spend a lot of time and money there and they only have somewhat like 5 classes. We have 1xx here.

alstein
02-26-2011, 04:56 PM
Suggested change: +modifiers for classes such as +0.2% str, don't stack, you just get the highest one. Adjust modifiers thusly

Defenders get +1 from Con (currently 0.8)
Shamans get +3.0% instead of +2.0% for spirit
Magicians get +3.0% instead of +2.0% for int
Reavers get +0.3 Strength (currently 0.2)

maybe a couple others.

The thing is you need to encourage mages to diversify their skillsets, Warriors don't have a problem with this- mages do.

Maybe damage should be more a function of int and mastery , and less a function of the skills?

Bluddy
02-27-2011, 12:09 AM
Imo the damage of mages is fine. What they need is Crowd Control and single target root / fear / stun whatever. They should be quishy but they also need ways to to get out of harms way. If getting out of harms way is achieved by killing everything before it can reach you something is wrong. Mages have to play there spellcombitions very well. Sadly Dins Curse only offers very few good combos to make that even possible.

This part of the discussion probably belongs better on the 'help the mages' thread. Mages need to be able to invest in offense and defense if they want. Since they currently live off skills alone, my suggestion in the other thread is to give them bonus skill points.

Every melee char with a weapon can achieve great DPS. Its not only warriors. My char you were talking about was Gladiator / Firemage, so not much str bonus there. But lets assume the warrior class does far more damage than every other class: nerfing the damage bonus from str is the wrong way because str a warrior thing, he should benefit more from it than any other class. There are other ways to nerf warrior dps: Skills, lower crit rates etc.

Interesting. Really wish I had that character to see what made it tick. BTW you said you used the creature exploit. Does that mean that at later levels, your character did better?

Anyway, what I'm pointing out is the biggest, most easily fixable imbalance, and that mostly lies in the 1 multiplier. This one change doesn't necessarily solve the runaway DPS problem, but warriors were the worst offenders. They can still have a higher damage bonus relative to other classes -- the numbers just need to be reduced.

BTW I have no problem in general with characters getting high DPS using active skills. Those should cause high DPS for the moments that they are used. The problem is if high DPS is available without using any skills, or with just passive skills are used. It's fine if you invested 30-40 levels just into a passive skill that gives you higher damage, to the exclusion of all other skills. But otherwise, default damage should not go quite as high as it does now.


By adjusting the armor formula you could counter the high dmg of both players and monsters by increasing the opponents effective life in a nonlinear way.

Adjusting the armor formula would be tough because of the type of function it is. Instead, in my first 2 posts in this thread, I suggested armor values should go up faster for monsters. There's currently no way of doing that in the game, but if armor absorption kept climbing, you'd be giving the monsters more and more effective HP without hurting the mages, who still do elemental damage. This would be another part of affirmative action for mages, and would reduce the strength of rampant DPS.

Shadow
03-01-2011, 02:39 PM
This is all fine and dandy. Where does the problem come in then? The problem is that while the monsters are given a set min and max damage values per level which are both linear (as we said above), they also get 2-4 points of strength per level (I think generic monsters get 2 and warriors get 4).

I mentioned this in a different thread also, but to make sure everyone is on the same page I'll mention it here also. Monsters don't get bonuses from strength. It kind of looks that way because they have a class, but their damage is based on MinDamage/MaxDamage and MinDamagePerLevel/MaxDamagePerLevel specified in BaseMonsters.gdb and the difficulty multiplier.

Bluddy
03-01-2011, 03:28 PM
I mentioned this in a different thread also, but to make sure everyone is on the same page I'll mention it here also. Monsters don't get bonuses from strength. It kind of looks that way because they have a class, but their damage is based on MinDamage/MaxDamage and MinDamagePerLevel/MaxDamagePerLevel specified in BaseMonsters.gdb and the difficulty multiplier.

Yeah I got that part wrong initially. The only thing making their damage non-linear (aside from specific race based multipliers) is the damage increasing between difficulties (normal, champion, elite, legend). This is what makes them a challenge to fighters at level 50, but it's really not that bad unless you try 10 levels higher than your own.