Jump to content

Losing your first game deducts too many points


RolandSC2
 Share

Recommended Posts

I noticed some bloke lose 64 points on his first game against a similarly rated player. The victor went from 1204 to 1219, and the loser went from 1200 to 1136. Seems like losing that many points could be discouraging at that point in the player's experience (his/her first game).

 

 

Screenshot from 2018-08-21 14-59-50.png

Edited by RolandSC2
  • Like 1
Link to comment
Share on other sites

It's true, but it has always been like this

The system of rating is based on a varient of the Elo rating system made by @scythetwirler (I think I'm right, I hope ^_^) so you should ask him

From knowing a bit the system of calculation, I'd say it'd be really hard to change that, it would be hard to predict the unforeseen effects of even a slight change in the standard system. But since it's a variant of it, I can not pronounce myself on that topic.

I hope that helped you a bit ;)

I just hope I pinged the right developer :)

Link to comment
Share on other sites

# Lower ratings "move faster" and change more
# dramatically than higher ones. Anything rating above
# this value moves at the same rate as this value.
elo_k_factor_constant_rating = 2200.0

# This preset number of games is the number of games
# where a player is considered "stable".
# Rating volatility is constant after this number.
volatility_constant = 20.0

Copy-pasted snippet from 0.A.D's ELO implementation. I suppose thats just how ELO works.

Link to comment
Share on other sites

I think scythe's implementation departs too far from true ELO

https://blog.mackie.io/the-elo-algorithm

Rn = Ro + K * (S - E)

n=400

x = Ra - Rb
s = n/ln(10)
exponent = -(x/s)
E = 1/(1+e^exponent)

K = (2*n)/20

vs

  player_volatility = (min(games_played, volatility_constant) / volatility_constant + 0.25) / 1.25
  rating_k_factor = 50.0 * (min(rating, elo_k_factor_constant_rating) / elo_k_factor_constant_rating + 1.0) / 2.0
  volatility = rating_k_factor * player_volatility
  difference = opponent_rating - rating

return round(max(0, (difference + result * elo_sure_win_difference) / volatility - anti_inflation))

 

And maybe other systems would be more appropriate, like Glicko or the ones that work for teams too.

Link to comment
Share on other sites

For an RTS game, I am not sure whether true ELO could be even used.

58 minutes ago, sarcoma said:

And maybe other systems would be more appropriate, like Glicko or the ones that work for teams too.

Curren implementation can handle team game ratings. Its just not used. Understandable considering how broken even 1v1 ratings are.

Regarding Glicko, @mapkoc has a thread detailing his implementation of it.

IMO, current ELO is pretty much good enough. Whats really needed is to make sure that all 1v1 rated games change players ratings.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...