1. #11

    Re: Finalizing a global score spreadsheet

    good work guys, cant wait to see the the final results of this, bookmarked
    Share this post

  2. #12

    Re: Finalizing a global score spreadsheet

    that's great data, MegaTrain!

    I plugged all that stuff in and it nails down most of the first half of the tracks. I also ran the tournament data, which locks in the coefficients for most of them now. Your first TYM score with a bazillion faults was good - it revealed that there is indeed a minimum score, of 10,000

    The Swamp Fever entry looks bad - an initial time, but zero initial score?

    I've updated the first post with what tracks are still unknown.

    Now that I now have 100% times for almost every track I have a platinum on except for Home Run and Physics Factory my computed score should be getting very accurate... but my computed total score is looking like it's about 9,000 too high. Not quite sure why, as every single individual score I've entered so far is pretty much exactly matching the recorded data. I'll have to double check that I've data entered all my current times correctly when I get home later today (no XBox at work).

    I'll be busy all day here, but I may find a window of time where I can start to work on writing up the scoring math in presentable way.
    Share this post

  3. #13

    Re: Finalizing a global score spreadsheet

    Originally Posted by GrantR
    that's great data, MegaTrain!

    I plugged all that stuff in and it nails down most of the first half of the tracks. I also ran the tournament data, which locks in the coefficients for most of them now. Your first TYM score with a bazillion faults was good - it revealed that there is indeed a minimum score, of 10,000

    The Swamp Fever entry looks bad - an initial time, but zero initial score?

    I've updated the first post with what tracks are still unknown.

    Now that I now have 100% times for almost every track I have a platinum on except for Home Run and Physics Factory my computed score should be getting very accurate... but my computed total score is looking like it's about 9,000 too high. Not quite sure why, as every single individual score I've entered so far is pretty much exactly matching the recorded data. I'll have to double check that I've data entered all my current times correctly when I get home later today (no XBox at work).

    I'll be busy all day here, but I may find a window of time where I can start to work on writing up the scoring math in presentable way.
    Yes, getting 1900 faults on that tourney was challenging, but I wanted to beat the next-highest fault count (1600 faults, I think). I did discover that the per-track max of 500 faults is still in place, so the max hypothetical faults is 499 * 7 = 3,493.

    My initial Swamp Fever runs were during the scoring glitch on day 1. (The cumulative score got added, but the time wasn't added to the leaderboard. The leaderboard scores have since been fixed, and my score records account for the error). So just treat it as if my very first run on Swamp Fever was a platinum:

    Swamp Fever: 0 fts, 0:27.979, Score: 310263

    So there's no way to figure out the "100% time" from other data? Like some fixed % of the Platinum time, or Platinum time - X seconds?
    Are the multipliers at least consistent for each track difficulty/group?
    Do the tournaments also have a "100% time" involved in their calculation?

    I'll work on getting Platinums on the hard and extreme difficulty tracks, but I can't necessarily promise I'll have those all by tomorrow

    Regarding your 9000 pts, are you sure you have accurate silver/gold/plat times for all tracks and tourneys? I have self-verified medal times for all tracks and tourneys if you want to see them. The only other resource I found (the IGN wiki) had some inaccurate medal data. I've corrected their wiki now, but see this thread for the errors I found.
    Share this post

  4. #14

    Re: Finalizing a global score spreadsheet

    Originally Posted by MegaTrain
    My initial Swamp Fever runs were during the scoring glitch on day 1. (The cumulative score got added, but the time wasn't added to the leaderboard. The leaderboard scores have since been fixed, and my score records account for the error). So just treat it as if my very first run on Swamp Fever was a platinum:

    Swamp Fever: 0 fts, 0:27.979, Score: 310263
    OK, my bad, that does work out: 100% time is 15 seconds. When I was data entering it the spreadsheet was initially saying it's score was 340,000 so I skipped it, but that was just because I hadn't plugged the correct platinum time in yet (duh).

    Originally Posted by MegaTrain
    So there's no way to figure out the "100% time" from other data? Like some fixed % of the Platinum time, or Platinum time - X seconds?
    Are the multipliers at least consistent for each track difficulty/group?
    Do the tournaments also have a "100% time" involved in their calculation?
    I tried looking for patterns, there's nothing consistant, but when back-computing the % of patinum time that works out it always gives an exactly rounded number of seconds ranging from the ball parks of 25% to 65%, so basically it's a made-up number per track just like the platinum, gold and silver times themselves.

    Originally Posted by MegaTrain
    I'll work on getting Platinums on the hard and extreme difficulty tracks, but I can't necessarily promise I'll have those all by tomorrow
    yeah, that's a challenge Another forum member is working on doing a bunch of high end plat runs to help out, so he should be able to help us fill a lot of these blanks in! Anyone else who feels like joining in too and can do plat runs on the high end tracks is more than welcome

    Originally Posted by MegaTrain
    Regarding your 9000 pts, are you sure you have accurate silver/gold/plat times for all tracks and tourneys? I have self-verified medal times for all tracks and tourneys if you want to see them. The only other resource I found (the IGN wiki) had some inaccurate medal data. I've corrected their wiki now, but see this thread for the errors I found.
    I originally got the times from that wiki, then I got your updated times. I've looked through them a couple of times to make sure they're right. If the numbers were wrong then all the other times you gave me would start spitting out warnings about score mismatches, but all it takes is for one single number somewhere to be off! I'll review all the numbers I can.
    Share this post

  5. #15

    Re: Finalizing a global score spreadsheet

    I worked through the over-flexible stuff in my spreadsheet, now that I know for sure what many of the numbers are it allows the formula to be simplified down to something readable As far as I can tell this gives me correct numbers per track - except maybe one out of every 100 scores is off by -1.


    So, let's say we want to compute the score for a given run with a number of FAULTS, and a raw TIME, at some track.

    First, for any track, there are 5 values that are custom for that track. These numbers are plugged into the spreadsheet and will have been either copied from in game, or determined by observing score changes for every track.

    SCORECOEFF: short for "score coefficient"
    TIMESILVER: the raw time required to achieve a silver medal.
    TIMEGOLD: the raw time required to achieve a gold medal.
    TIMEPLAT: the raw time required to achieve a platinum medal.
    TIME100%: the raw time required to achieve maximum points for a track.

    The next step is to figure out scorepct, the "score percent", which is basically a 0 to 1 value of how your raw TIME fits into range of times from infinity to TIMESILVER to TIMEGOLD to TIMEPLAT to TIME100%. If TIME hits the 1 hour time limit, scorepct will be nearly 0.0. If TIME is exactly TIMESILVER, your score percent is 0.25. If TIME is exactly TIMEGOLD, your score percent is 0.5. If TIME is exactly TIMEPLAT, your score percent is 0.75. If TIME is exactly TIME100%, your score percent is 1.0 - but TIME100% should always be pretty much unachievable (suddenly I can sense the top guys getting an itch to prove this wrong!) But on the off chance someone manages to exceed 100% awesomeness, then the score is ramped to 1.25 by interpolating between TIME100% and zero.

    Here's a bit of pseudo-code for determining scorepct.

    [code:ewp9iv9z]
    if (TIME > TIMESILVER)
    {
    // a bronze time
    scorepct = 0.25 * exp((TIMESILVER - TIME) / (TIMESILVER - TIMEPLAT))
    }
    else if (TIME > TIMEGOLD)
    {
    // a silver time
    scorepct = 0.25 + 0.25 * (TIMESILVER - TIME) / (TIMESILVER - TIMEGOLD)
    }
    else if (TIME > TIMEPLAT)
    {
    // a gold time
    scorepct = 0.5 + 0.25 * (TIMEGOLD - TIME) / (TIMEGOLD - TIMEPLAT)
    }
    else if (TIME > TIME100%)
    {
    // a platinum time
    scorepct = 0.75 + 0.25 * (TIMEPLAT - TIME) / (TIMEPLAT - TIME100%)
    }
    else
    {
    // a >100% time
    scorepct = 1.0 + 0.25 * (TIMEPLAT - TIME) / TIMEPLAT
    }
    [/code:ewp9iv9z]

    What comes next is that there are two scoring models: one for when there are 6 or less FAULTS, and one for 7 or more FAULTS. The changeover score is 60,000 points. A run with 6 or less FAULTS will score 60,000 or more points, 7 or more will score less than 60,000.

    For every fault over 6, the score drops by 100 points. There is a minimum of 10,000 points that the score can't go below: this limit is achieved after 506 faults. But for a single track the fault limit is 499 (or 500?), so this limit can only be achieved in tournaments. The score fits within that 100 point range based on the scorepct.

    [code:ewp9iv9z]
    if (FAULTS > 6)
    {
    score = max(60000 - (FAULTS - 6) * 100, 10000) + 100 * scorepct;
    }
    [/code:ewp9iv9z]

    If FAULTS is 6 or less, then the scoring ranges from 60,000 to 360,000 based on scorepct, but where the additional part over 60,000 is reduced by a factor SCORECOEFF to the power of number of FAULTS. In Trials HD this SCORECOEFF was always 0.1, so faults hit your score really dramatically, but in Evolution the factor is much more favorable, particularly on more difficult levels. It appears that Beginner levels use 0.1, Easy levels use 0.2, Medium use 0.3, Hard use 0.5 (except RedLynx Moto-Jam which uses 0.4), and Extreme use 0.75. The first Tournament uses 0.5, and all the rest of the tournaments use 0.75 (still have a couple left to confirm).

    Also, the scorepct isn't just used directly, it is modified to range from a nonzero minimum which turns out to be SCORECOEFF too, up to 1.0, thus, simply completing a more difficult track with 6 or less faults automatically gives much more points than an easier track.

    [code:ewp9iv9z]
    if (FAULTS <= 6)
    {
    score = 60000 + 300000 * (SCORECOEFF ^ FAULTS) * ((1 - SCORECOEFF) * scorepct + SCORECOEFF);
    }
    [/code:ewp9iv9z]

    And now that we have computed "score" from one of the two methods depending on number of FAULTS, the final step is to ditch any fractional part of the track score. It appears that Evo uses a round-up approach, so a score of 60,000.000001 would round up to 60,001. This is done by a typical spreadsheet "ceiling" function.

    [code:ewp9iv9z]
    finalscore = ceiling(score, 1)
    [/code:ewp9iv9z]


    Hopefully that's nice and clear and understandable?
    Share this post

  6. #16

    Re: Finalizing a global score spreadsheet

    Great work I bet RedLynx are watching this thread with interest to see if you's can figure it out before they reveal the formulae.
    Share this post

  7. #17

    Re: Finalizing a global score spreadsheet

    Looks great, GrantR.

    I think the term for the "score coefficient" we used previously was "fault factor" or just FF, for short.
    I think Sebbbi used that term when he first gave us the TrialsHD calculation formula in this thread.

    Actually looks pretty similar in principle to how it was done in HD, except with a much more nuanced handling of the faults (so that you get at least some points when you reduce your faults on a track, even if it isn't very much.

    Incidently, do you know for sure that the per-track time limit is 60 min, not 30 min like it was in HD? I don't recall that I ever approached the time limit on a track in my testing. Obviously, Tournaments must allow for longer times.

    They did start scaling the fault factor (SCORECOEFF) in TrialsHD in the DLCs. Hard tracks were 0.5, Extremes were 0.75 or 0.80. All tournaments in TrialsHD, even The Midnight Club, had a FF of 0.75.

    So can we get some confirmation from the devs as to whether this looks right?
    Share this post

  8. #18

    Re: Finalizing a global score spreadsheet

    If that's true, plat is worth 285k rather than the 328k that we thought.
    Share this post

  9. #19

    Re: Finalizing a global score spreadsheet

    Originally Posted by MegaTrain
    Looks great, GrantR.

    I think the term for the "score coefficient" we used previously was "fault factor" or just FF, for short.
    I think Sebbbi used that term when he first gave us the TrialsHD calculation formula in this thread.

    Actually looks pretty similar in principle to how it was done in HD, except with a much more nuanced handling of the faults (so that you get at least some points when you reduce your faults on a track, even if it isn't very much.

    Incidently, do you know for sure that the per-track time limit is 60 min, not 30 min like it was in HD? I don't recall that I ever approached the time limit on a track in my testing. Obviously, Tournaments must allow for longer times.

    They did start scaling the fault factor (SCORECOEFF) in TrialsHD in the DLCs. Hard tracks were 0.5, Extremes were 0.75 or 0.80. All tournaments in TrialsHD, even The Midnight Club, had a FF of 0.75.

    So can we get some confirmation from the devs as to whether this looks right?
    Ah, I didn't recall the exact naming terminology from HD. Fault factor sounds good when it's only being applied to faults, but since the term is also being used to scale up the minimum "scorepct" contribution, it has more use than just fault factor now, thus my calling it "score coefficient" instead. Doesn't matter what it's called in the end

    My 60 min claim is made up. I can't remember what the actual limit is, you would know better than me, so it probably is 30 mins. But again, the upper limit doesn't matter in the bronze portion of the scorepct, it will get reduced appropriately by the exp() even if it were 24 hours or whatever.

    It's nice that they have the switchover to the high-fault scoring model, but it does mean that the beginner tracks still crush to 60,001 pts if you have 5 or 6 faults because 0.1 is just that brutal of a fault factor, while the extremes are still giving a good tens-of-thousands of range over 60,000 even at 6 faults, then they instantly switch at 7 faults to 59,900-60,000 range. I would actually like to see that switchover fault level be variable too: I think (i'm trying to remember some math from last week) what works out to give a nice about-100 points range at the switchover threshold would be a fault switchover of >=4 for beginner, >=5 for easy, >= 6 for medium, >= 10 for hard, and >= 23 for extreme.

    But I do think the math is pretty good so far - the numbers I see are all pretty much working out exactly on a per track basis. Except for the total being a little off. That may just be a typo somewhere, either dyslexically switching a couple of numbers around or hitting a wrong key.
    Share this post

  10. #20

    Re: Finalizing a global score spreadsheet

    Originally Posted by ImperialSpring
    If that's true, plat is worth 285k rather than the 328k that we thought.
    Exact platinum times (scorepct=0.75) are worth 292,500 for beginner, 300,000 for easy, 307,500 for medium, 322,500 for hard and first tournament, 341,250 for extremes and the rest of the tournaments.
    Share this post