Simple combat formula:

Att >= def:
Average Damage = def*(def+2) / (6*(att+1)) + (att-def)/2

def >= att:
Average Damage = att*(att+2) / (6*(def+1))

I check this formula for att, def of 1-250 and it is correct. Also, it agrees with the few numbers I checked on the database under the [LIBRARY] button.
702 views 7 replies
Reply #1 Top
LOL when you said simple, I thought it would be something I could do in my head while playing. LOL

~SDC~
Reply #2 Top
When I said simple, I meant compared to SUM[i=0,1,..Def] { SUM[j=i+1,...Att] {j-i} }/[(Attack+1)*(Defense+1)] or looking it up on a spreadsheet. The quick-and-dirty way to estimate damage when Att >= Def is as follows:

Damage = Attack/2 - Defense/3

Actually, the defense contribution ranges from Def/3 to Def/2, but is proportionally larger when Def is small, at which point it hardly matters. (I.e., for Att=20 Def=3 the actual result is closer to Att/2-Def/2 than Att/2-Def/3, but who cares?)

When Att < Def, Damage = Att*Att/(3*Def), i.e., pitiful.


~SDC~
Reply #3 Top
Sigh, I meant:

When Att < Def, Damage = Att*Att/(6*Def), i.e., pitiful.



~SDC~
Reply #5 Top
Elaborate a bit pls, when i run the If Attack >= Def Formula, i seem to get a higher value if attack is barely higher, than if it is substantially higher...


~SDC~
Reply #6 Top
Uh, there's a combat simulator on the site. :)

http://www.galciv.com/metaverse/simulator.asp

~SDC~
Reply #7 Top
Jay Bond:

Not sure how you get a higher # with a lower att, which is what you seem to be saying. Rest assured, with my formula for att>=def

damage = def*(def+2)/[6*(att+1)] + (att-def)/2

damage always increases with attack value. What happens is that it doesn't increase as *fast* when attack is almost equal to defense as it does when attack is much higher than defense. For example, if att=def=18, the average damage is 18*20/(6*19) = 360/114 = 3.15 but if attack goes up to 19, the average damage increases to 18*20/(6*20)+(19-18)/2 = 3+.5=3.5 -- an increase of 0.35, less than you might expect. That's because the first term def*(def+2)/[6*(att+1)] decreases while the second term (att-def)/2 increases. But the second term always grows faster than the first term decreases ... provided you didn't forget the 6 in bottom part of the first term.

Other quick estimates:

If attack is much higher than defense, damage ~ att/2 - def/2
If attack is **slightly** higher than defense, damage ~ att/3 - def/6