ID:151799
 
No matter what I work on in any project that includes combat the most annoying thing in the world for me is trying to make a combat system that is balanced.

I personally like to include agility for dodging and attack speed and dexterity for ability to hit and how well you use different skills, instead of just the normal strength/defense/agi for attack speed. This however adds another level of balance necessary when I already have issues to begin with.

My question is this: What are a few combat codes you've used, and what makes them more/less balanced than others?
Well I like this system:

Offense: How well you land hits.
Defense: How well you evade hits.

So lets say in the Attack proc, you have to figure out a formula kind of like:

var/Accuracy=50*(Offense/M.Defense)
if(prob(Accuracy))
//It hits M
else
//M dodges


So if M and src have equal Offense and Defense, its 50/50 whether the hit will land of not. If M doubles their defense, there is only a 25% chance the hit will land on them and 75% chance of evasion.

As for damage, I prefer something similar. First you must ensure that Health is a stat that does not raise. There is no point having more than one stat that lowers damage usually.

So basically, you have Strength, and you have Durability.

var/Damage=5*(Strength/M.Durability)

Second rule to make this work: Health must max out at 100 at all times. It is not a stat you increase. It maxes at 100 as in 100%. Because health is not used to decrease damage Durability is, and you increase that.

That means Damage will do 5% damage to them if src and M have equal strength and durability. If M doubles their durability, M only takes 2.5% damage from src. If instead src doubles their strength, M takes 10% damage per hit.

It is my own stat system and formulas that I came up with, but I'd rather give it out publicly in hopes that more people will use it because the outdated, mundane, generic, unrealistic, redundant copy-cat systems other games are using are really getting on my nerves and making them feel unplayable.
Typically you want all of your skills to run similarly. Take Pokemon, for example - the only skill unrelated to the others is speed, which doesn't really need to be balanced too much. Evasiveness is considered to start at a typical point and can increase or decrease, while accuracy varies per attack.
I had an idea for what may be balanced system, before, but I didn't give it enough thought to work out possible flaws. Mostly it was just to provide a counterpart to Garthor's claim (in whatever chat program that was popular at the time) that any game without pre-defined classes would inevitably be unbalanced (Of course, given that it was Garthor, he refused to believe he was anything but right. I forget what happened at that point, but it probably involved him going to take a urea and ammonia bath in his own self-righteousness).

The system was rather basic, as it was mostly just a little sketch-up of a concept, but essentially skills would be divided into classes. Each class would contain three skills, and these skills would act as a sort of rock-paper-scissors system. Every skill would be very weak against one thing in the class, and very strong against the other, and, preferably, unrelated to (but possibly neither strong nor weak against) any skill outside the class.

Of course, this seems all well-and-good in theory, but I think that it could possibly get problematic when trying to put it into practice. I can't think of many situations that'd be so easily divided-up.
In response to Popisfizzy
Popisfizzy wrote:

The system was rather basic, as it was mostly just a little sketch-up of a concept, but essentially skills would be divided into classes. Each class would contain three skills, and these skills would act as a sort of rock-paper-scissors system. Every skill would be very weak against one thing in the class, and very strong against the other, and, preferably, unrelated to (but possibly neither strong nor weak against) any skill outside the class.

Sounds a lot like the Fire Emblem games. I actually think it's a pretty good system... basic, yet effective, and at least you know every character's role... which is important considering it's an SRPG.
I like using dice rolls to add randomness to a battle. I use the Agi and Dex concept, but it is like a roll("1d[src.dex]) VS a targets Agi.
As far as balancing goes, I'm a huge fan of the rock, paper, scissors idea.

The way I've normally seen it done is a matter of speed, attack power, and defense.

Class A has strongest attack, weakest defense, medium speed.
Class B has medium attack, medium defense, fastest speed.
Class C has weakest attack, strongest defense, slowest speed.

B beats A. C beats B. A beats C.

Clearly things get more complicated the more stats you add, but I would personally qualify them as subsets of attack or defense.

For instance, if one class has a better hit percentage, it's actually like having a stronger attack. However, you can add more classes by having subsets of things, and this is where class selection is a personal choice (and I find it more interesting as to what people choose).

For instance: Class A has the strongest attack, and a 50 percent chance of hitting.
Class B has a normally strong attack, and a 65% chance of hitting.

Class A's overall attack is ~= Class B's overall attack.
A vs B comes down to luck.

As far as making them balanced, the easy answer is if every class can be defeated by the same number of other classes, it's balanced. The tricky part is incorporating support classes. However, I think I've already rambled enough and probably haven't really helped out at all.