1. Question:
In the big bang mob damage formula - Given mob attack and player defense, how can I calculate the breakaway point?
Breakaway point - The value in which the defense type chosen by the mob attack formula changes from Flat to Percentage reduction.
2. Observe:
The mob attack formula is well known for using square roots and multiplication. The entire source code is available in the javascript for verification here.
The percentage reduction and flat reduction are also available in the readout of this HTML page, as well as which reduction type the formula chooses.
3. Hypothesis:
The breakaway point is determined by multiplying the Percentage value in the readout by 10000. This is the first value in which the result is reduced by a percentage. Subtracting one from this value ([Percentage Value * 10000] - 1) is the last value in which flat reduction is used. All values at and above [Percentage Value * 10000] are Percentage reduction, and all values at and below [Percentage Value * 10000] -1 are Flat reduction.
4. Experiment:
DEF Percentage Value Mob Attack Percentage or Flat? Hypothesis Correct? 10000 50% 5000 Percentage Yes 10000 50% 4999 Flat Yes 20000 70.71% 7070 Flat Yes 20000 70.71% 7071 Flat No (Expected Percentage) 20000 70.71% 7072 Percentage Yes 20000 70.71% 7073 Percentage Yes 9900 49.75% 4975 Percentage Yes 9900 49.75% 4974 Flat Yes 25000 79.06% 7906 Percentage Yes 25000 79.06% 7905 Flat Yes 200 7.07% 707 Flat No (Expected Percentage) 200 7.07% 708 Percentage Yes
5. Analyze & Interpret:
Some of the values did not turn out as expected. For these values I'm going to assume that they are merely rounding errors and that the base data was not accurate enough. The executable leaves all decimal places during this calculation, and the final result shown in the Percentage Value in the HTML document is rounded to 2 decimal places.
In the course of the game, one additional defense point made a marginal difference on damage taken at the breakaway point. For a very good heuristic, the [Percentage Value * 10000] is still surprisingly accurate and would be worthwhile for any user to quickly determine his damage from the mob without relying on the Javascript calculator.
For future exploration, I think it would be interesting for the mathematicians of Southperry to determine why this heuristic works at all.
Bookmarks