# Losing your first game deducts too many points

## 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).

Edited by RolandSC2
##### 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

##### 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.

##### Share on other sites

14 hours ago, (-_-) said:

I suppose thats just how ELO works.

That's pretty much how it works but some variables aren't the same

##### Share on other sites

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

``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.

##### 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.

##### Share on other sites

This free online/proprietary system promises wonders and is based in glicko just like trueskill

## Join the conversation

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

×   Pasted as rich text.   Paste as plain text instead

Only 75 emoji are allowed.