1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Experiment 175 Level difference influence on damage dealt

Discussion in 'Latest Experiments' started by Palkah, Oct 9, 2018.

  1. Palkah

    Palkah User

    Joined:
    25.08.15
    Messages:
    409
    Likes Received:
    261
    Oh that's easy.

    I use a freeware program called Scilab which is an alternative to much better and paid MatLAB. It has a ton of built-in functions for matrix operations, and it's free so I'm free to use it.

    The whole process is done with few built-in functions, but I'll show you how it works, just for fun.

    I take a vector of x values (in this case level differences) from my measured data:
    x=[-5,-4,-3,-2,-1,0,1,2,3,4,5]
    I assume I want 1st degree polynomial, so a linear function (because the measured data looks like it would be a linear function), so I set:
    n=1

    Then I create something called Vandermonde matrix, which has a set of rules about how to fill it, these are boring and depend on the degree polynomial, it should suffice to say that the matrix looks like this:

    V =
    -5 1
    -4 1
    -3 1
    -2 1
    -1 1
    0 1
    1 1
    2 1
    3 1
    4 1
    5 1

    Next I need to do a step called QR decomposition. It would take too much time to describe how it works, so let's stick to saying that it takes matrix V and uses it to create 2 other matrices Q and R, which will be useful in a moment.

    Q=
    -0.4767 -0.3015
    -0.3814 -0.3015
    -0.2860 -0.3015
    -0.1907 -0.3015
    -0.0953 -0.3015
    0 -0.3015
    0.0953 -0.3015
    0.1907 -0.3015
    0.2860 -0.3015
    0.3814 -0.3015
    0.4767 -0.3015

    R=
    10.4881 0.0000
    0 -3.3166

    Then I take my data from y axis, so that's damage divided by base damage:

    y=[0.9564, 0.9634, 0.9715, 0.9849, 0.9925, 1.0000, 1.0087, 1.0168, 1.0250, 1.0343, 1.0441]

    And there's a theorem that says I can calculate my coefficients of a function using a matrix equation:

    p = R\(Q'*y) and it will have the lowest error possible (least-square error), so it's a very good fit.

    The result of the above equation is:

    p =
    0.0087
    0.9998

    which means the final function is
    y=0.0087x+0.9998
    Now 0.9998 best fits the data, but we've got another requirement that "value of this function for 0 lvl difference must be 1".
    That means the 2nd parameter must be 1.
    y=0.0087x+1
    The reason why the process didn't give us exactly "1" due to the slightly varying P.Atk of character. If we had better test conditions, to eliminate that problem, the process would give a better result.
    Now the reason why I can modify that constant, is because the change can introduce a maximum error of 0.02% that is constant. The reason why I'm not touching 0.0087 is because any change to that number would multiply the error by X, so for X=10 we would have 10x the first error. The reason why I can be sure it's a good fit is that this function perfectly passes through points that had ~same P.Atk (x=-5,0,5,1), while the points with lower P.Atk are below it, and with higher - above it.

    Welcome to the daily engineer's life. I don't even need to know how the functions and algorithms mentioned work, all I need to know is that 1 guy has proven them to be the best for my situation, know the dangers, and use them at will :)
     
    Hax likes this.
  2. SnoWyz

    SnoWyz User

    Joined:
    14.09.13
    Messages:
    3,729
    Likes Received:
    452
    If you guys don't understand that kind of math, why ask how?
     
  3. Hax

    Hax User

    Joined:
    24.11.11
    Messages:
    4,812
    Likes Received:
    825
    rekt
     
  4. zauliuz

    zauliuz User

    Joined:
    26.03.14
    Messages:
    2,303
    Likes Received:
    384
    hax, dont act like you understand something.
    anw my soft after same procedures show 0.0095.
    :)
     
  5. Palkah

    Palkah User

    Joined:
    25.08.15
    Messages:
    409
    Likes Received:
    261
    That would mean that the last value (X=5) for your number is 1.0475. For mine it's 1.0435. Data says 1.0441. I had 8096 P.Atk for X=0. I had 8105 P.Atk for X=5. That's 9 more P.Atk. It means that the real value there should be less than 1.0441, cause I did too much dmg. My estimate is much closer. That's what I meant about multiplication of errors.
     
    Hax likes this.
  6. zauliuz

    zauliuz User

    Joined:
    26.03.14
    Messages:
    2,303
    Likes Received:
    384
    well.. maybe my london is chujowno. not sure.
    tests with some numbers from some soft it's... well. interesting for you only.
    as for common player i preffer simple test with shown damage logs. and now.. now is just attention seeking and showing how awesome you are at math. thats it.
     
  7. Palkah

    Palkah User

    Joined:
    25.08.15
    Messages:
    409
    Likes Received:
    261
    You're asking questions how the results here were calculated into final result. You've got the answer. Now you complain that I "show off", while you literally asked me to do it.

    https://pastebin.com/Rhgc6GhY

    Happy now?
     
    Hax and Oscar like this.
  8. zauliuz

    zauliuz User

    Joined:
    26.03.14
    Messages:
    2,303
    Likes Received:
    384
    1. attacker:
    2. lvl,p.atk,dmg
    3. 100,8104,1647
    4. 101,8069,1659
    5. 102,8054,1673
    6. 103,8147,1696
    7. 104,8124,1709
    8. 105,8096,1722
    9. 106,8093,1737
    10. 107,8086,1751
    11. 108,8074,1765
    12. 109,8091,1781
    13. 110,8105,1798
    that's what how test "data" should looks like. not like this

    anw. make a test with PK and items drop ;) that one should be interesting and fun.
     
  9. Rnika

    Rnika User

    Joined:
    15.10.15
    Messages:
    403
    Likes Received:
    151
    Just to show you how it can be done

    Pros:
    Post is Shorter
    Its more clearly to read

    Cons
    You not getting as much attention of being geek as you want.
     
  10. Tauto

    Tauto User

    Joined:
    22.06.18
    Messages:
    10
    Likes Received:
    1
    What's exactly the point of all the fuzz? We didnt had any decent experiment, majority were just a translation of the russians.


    Now we finally have someone doing it with big interess, willing to reply to any question very quickly and not getting paid for it ( i guess). So what's the point of all the counter-productive with diminishing complaings?




    @Palkah I do apreciate your work/effort to explain the whole process and methodology thank very much! I just suggest at next experiments you try to make the conclusions more clean/friendly


    l2 is an old game with old players. Let's start behave properly.

    o/
     
    SnoWyz likes this.
  11. Oscar

    Oscar Read оnly

    Joined:
    29.03.14
    Messages:
    245
    Likes Received:
    61
    that outrage is hilarious, if you dont like math for any reason (and we all know why) simply dont press that spoiler LOL
    some actually does like to know how the whole process looked like and dont mind refreshing some of uni math

    if you prefer simple answers, just read "conclusion" part wrote down for downers who can't conclude themselves XD
     
    Hax likes this.
  12. Bers Ser

    Bers Ser User

    Joined:
    28.02.14
    Messages:
    209
    Likes Received:
    22
    @Palkah thanks you very much for you Continued interest in decoding the mysteries of the world of "Lineage 2 " and help those who have doubts about these Secrets.If I tell you the truth I did not understand the "x" or the "y" but with the explanation you gave at the end and with the magnificent table that you did then I have no doubt.

    Now I will give you some advice that I have gained from experience. You are doing this "Free not?" for the interest of knowing that it is true and that it is not. When you do something "FREE" you tend to lose motivation for the passage of time. Since you do not have a prize or something that says "I have to do this" part of the fault lies with people who do not know how to thank your work, effort and dedication in what you do.

    The best you can do is ignore these people. Surely nowhere says you have to answer them if you do not want to. Respond only to people with suggestions and good ways so that your work becomes easier and do not lose motivation.

    Sorry for my English and my best wishes for you :3107:
     
    Palkah and SnoWyz like this.
  13. Palkah

    Palkah User

    Joined:
    25.08.15
    Messages:
    409
    Likes Received:
    261
    SnoWyz likes this.
  14. Robby

    Robby User

    Joined:
    10.12.11
    Messages:
    417
    Likes Received:
    116
  15. Takanodan

    Takanodan User

    Joined:
    22.08.13
    Messages:
    800
    Likes Received:
    317
    nice, and the testing begins
     
  16. zauliuz

    zauliuz User

    Joined:
    26.03.14
    Messages:
    2,303
    Likes Received:
    384
    for majority of players test like this would be more acceptable, and you get more rep points if you make something like this.
    https://4gameforum.com/threads/596290/

    btw i used my mad math skills and got ~2% difference for damage when level is different. that 0.89 still confusing me.