RetroAchievements logo

RetroPoints!

Page of 3 > 
Scott10 Jul, 2014 12:31(Edited 10 Jul, 2014 22:09)
We are finally in a position to announce the arrival of a long sought-after feature - RetroPoints!

This figure is a value which represents the relative difficulty and rarity of an achievement, depending on how many people have achieved it within a game.

See an example on any game page: Sonic the Hedgehog (Mega Drive) Sonic the Hedgehog (Mega Drive) - The small white value is the RetroRatio value.

The RetroRatio takes the regular point value into account, and produces a new value which is given by:

p = points
a = achievers
t = total users who have played the game
r = 0.6
RP = p*r + p*(a/t)*(1-r)
RP = p * r + ( p * ( t / a ) * ( 1 - r ) )

This means that the regular point value will always be a base for the RP value (assuming that at least one person has earned the achievement), and it will always be greater than this value.

See the 'hardest' (or 'rarest') achievements at this link: https://retroachievements.org/achievementList.php?s=14&p=2 and hardest games here: https://retroachievements.org/gameSearch.php?p=0

Please let us know what you think, if it needs adjusting etc. We have regular recalculations set up now ready which are recalculating every achievement and user's total point and RetroPoint value every 24 hours.

Thanks!

Edit: sorry, that's what I get for rushing lol
mach192010 Jul, 2014 21:09(Edited 10 Jul, 2014 21:14)
RP = p*r + p*(a/t)*(1-r)

This means that the regular point value will always be a base for the RP value (assuming that at least one person has earned the achievement), and it will always be greater than this value.

I am assuming RP in this equation is the RetroPoints value that appears in parentheses for each achievement? Based on that equation, the value of RP will equal the base when the number of achievers is equal to the total users who have played the game, but this value is less than the base value for any other case because a/t <= 1.

For example, substituting values for the Immortal Immortal (50) achievement which is showing a RP value of 990:

p = 50
a = 1
t = 48
r = 0.4
RP = 50*0.4 + 50*(1/48)*(1-0.4) = 20.625
Scott10 Jul, 2014 21:28
Ooohhh uh maybe t/a instead?
mach192010 Jul, 2014 21:30
That gives 1460 which is really far off as well.
Scott10 Jul, 2014 22:07
$ratioFactor = 0.4;
$newTrueRatio = ( $achPoints * ( 1.0-$ratioFactor) ) + ( $achPoints * ( ( $numEarners / $numAchieved ) * $ratioFactor ) );

Ah sorry -

RP = p * 0.6 + ( p * ( t / a ) * 0.4 )

I think ratio should have been 0.6, sorry
mach192010 Jul, 2014 22:55
Ok, everything adds up now. Thanks for clarification!
Scott10 Jul, 2014 22:56
No probs, sorry it took so long to get right :P that's what I get for rushing :P
Brian11 Jul, 2014 07:37
About achievements that haven't been earned by anyone yet:
Can the value be set to pretend one person got it? Rather than zero or infinite. Because if someone were to get it, that would be what it's worth.
Scott11 Jul, 2014 08:17(Edited 11 Jul, 2014 08:40)
OK so force every t to be at least 1? This could have a very interesting impact on the values, but let's see what effect it has. I'll make the change now, by this time tomorrow it will have taken effect. Cheers brian

Edit: ah, its a little more complicated than that - I'll get back to you asap, sorry brian
DarkFPC26 Feb, 2015 01:59(Edited 26 Feb, 2015 02:01)
The retropoints should be exclusive on hardcore mode. Don't you think?
Seijin01 May, 2015 18:50
^ I agree with the above comment. Pretty much all the "super hard" achievements can be obtained with save state abuse.
Retromancer04 May, 2015 14:23
^ I second this
Dexterspet04 May, 2015 14:44
^ I third this
coczero05 May, 2015 16:18
^ I fourth this
ShadwSonic23 Aug, 2015 04:51
So THIS is what the white numbers mean! Well then, time to see how I stack up in this alternate system...
Page of 3 > 

You must log in before you can join this conversation.