So ithought i would share this.
" Something i learned is, get it working first. THen aim for perfection second. Reverse-engineering software is a difficult task and unless you see the code made by the original you will never get EXACT answers. You just gotta inch closer and closer until you limit the ratio of error the a minimal. | |
" screw simplicfication. JVM computes it just fine. I'm not a math major, i prolly couldn't even simplify it even if i wanted to. | |
" I put together a similar algorithm for damage vs mitigation in closed beta however found the unknowns to be a little too daunting. However im no professional in mathematics so im sure a lot of this is due to my lack of understanding so good luck to you friend. (╯°□°)╯︵ ┻━┻
To flip or not to flip Twitch stream link: http://www.twitch.tv/bled66 Experimenting, solidifying and straight rocking POE. |
|
I find it a little too suspect that so much of this formula repeats itself...then again you said that you didn't even tell us the right formula so whatever. I've simplified it...I don't believe it, but I've simplified it >.>
| |
Ehh my buzz is gone.
Basically this is what i did. Variable Key: z = Monster_evasion y = accuracyRating x = chance to hit % z = 10^((0.8*Log4+Log(y-xy)-Log(x))/0.8) y = (0.69/1.24)*z^0.8 x = y/(y+((z/4)^0.8) So the algorithm runs as followed. first thing, in order to find evasion, i need a value for attack rating and i need a value for chance to hit percent. So any value is currently put in any value what so ever. But the method looks eomthing like this. F(a,x) = 10^((0.8*Log4+Log(a-xa)-Log(x))/0.8) then the answer to evasion, is plugged into the answer for attack rating formula. So you can say it looks like the following. C(F(a,x)) = (0.69/1.24)*F(a,x)^0.8 Then when we have found the value for attack rating using the value generated from evasion, we now take both answers and plug it into the main formula (the one everyone agrees is right). So it looks like this. X(C(F(a,x)),F(a,x)) = C(F(a,x))/(C(F(a,x))+((F(a,x)/4)^0.8) Sorry about abusing notation. But thats amore condensed version of it without all the substitution in place. So basically, all i have to do is give my computer a task. When an attack rating value is entered, the computer will begin randomly guessing and plugging in values and cycling through the algorithm until eventually it reaches the correct answer. | |
For those of you who are not so keen on formulas and stuff like that. An intuitive way to look at it is, i make up a pretend attacker to find the evasion of the mob. Then use the evasion of the mob to generate a realistic attack rating, then use both the realistic evasion and realistic attack rating to generate a realistic chance to hit.
| |
Also i will add. It optimizes evasion and accuracy rating to a specific chance to hit %.
That most likely has to deal with laws of probability. If i change my initial entry for the fake chance of hit, it optimizes for a different % each time. The lower the fake attacker is the different % it optimizes (or minimizes) or maybe i just grabs an answer. Here is the chance to hit % i get when i enter in 3000 accuracy rating and a 3% chance to hit into my program. It prints out the following. EV: 51355 AR: 3265 Chance%: 0.6278107762336731 So basically, it found the amount of evasion and attack rating required to create that percentile. here is the same amount of accuracy rating but with a 95% chance to hit. EV: 532 AR: 84 Chance%: 0.6268057227134705 Now here is a lvl 1 duelist on twilight strand. (with 95% chance to hit from random attacker) EV: 3 AR: 1 Chance%: 0.5572838187217712 here is the same duelist on twilight strand but the random attack has a 2% chance to hit. EV: 294 AR: 52 Chance%: 0.6256067156791687 Obviously still lots of work to do. But hey. I'm still proud. | |
y = (0.69/1.24)*z^0.8
this formula is wrong. It should be: y = IN_GAME_CHANCE_TO_HIT *( IN_GAME_ACCURACY_RATING + (x/4)^0.8) i'm gonna make my adjustments and print out new feeds. | |
3000 acuracy 3% chance to hit test
EV: 51355 AR: 1272 Chance%: 0.39655670523643494 3000 accuracy 95% chance to hit test EV: 532 AR: 84 Chance%: 0.6268057227134705 level 1 duelist twilight strand test 95% chance to hit EV: 3 AR: 53 Chance%: 0.9852323532104492 level 1 duelist twilight strand test 2% chance to hit EV: 294 AR: 73 Chance%: 0.7011187672615051 same tests as in previous posts but with more interesting results. | |
My grade 9 mathematics knowledge is incapable of figuring out how this works...
|