Home > Forums
|
Multiplayer Forums
Unanswered Posts | Active Topics
Board index » Games » Featured Games » Age of Conquest (AoC) » Support » AoC API & Code Samples
| Author |
Message |
|
KranImpire
|
Post subject: Re: Rating Calcuation Posted: 26 Feb 2010, 09:45 |
|
| Freeman |
 |
 |
Joined: 17 Oct 2009, 10:17 Posts: 122
|
|
I had intencionally removed the spread from my code, i didnt thought it were needed.
_________________
|
|
| Top |
|
 |
|
noblemaster
|
Post subject: Re: Rating Calcuation Posted: 26 Feb 2010, 09:58 |
|
| Game Developer |
 |
 |
Joined: 17 Apr 2005, 02:34 Posts: 5169 Location: Honolulu
|
|
The spread isn't necessarily needed. However it determines how much your rating can change. If you have the same rating for a while, your volatility will go down which keeps your rating stable. Volatility can go both up and down. If you end up with various game results (wins & losses mixed), your volatility will most likely go up to allow for more fluctuation in your rating...
_________________
|
|
| Top |
|
 |
|
KranImpire
|
Post subject: Re: Rating Calcuation Posted: 26 Feb 2010, 10:54 |
|
| Freeman |
 |
 |
Joined: 17 Oct 2009, 10:17 Posts: 122
|
What i`m still trying to understand is why high spread affect expected rank. I looked one of my games and used the player`s rating to compare the differences of expected ranks using my code and the existing one. The result i got is that the difference of expected ranks is minimal. Usually lower then 0.2 difference. That means the same ratings could be used in my code without any conversion. Also tested the existing code and discovered that it can let some players get in rare situations negative ratings. For example, 5 players with 300 rating and 400 spread play a rated game. The 5th player will get a -90 rating. I had for no reason changed the inicial rating from 900 to 1500. But i changed it back, along with some useless code such as this: Code: double strength = Math.pow(9, (rating - 1500d) / (double)Z_FACTOR); Code: double strength = Math.pow(9, (rating) / (double)Z_FACTOR);
_________________
|
|
| Top |
|
 |
|
fodder
|
Post subject: Re: Rating Calcuation Posted: 26 Feb 2010, 10:58 |
|
| Investigator |
 |
 |
Joined: 06 Jul 2008, 18:23 Posts: 1451 Location: Planet Earth, most of the time.
|
KranImpire wrote: No. The problem is that the ratings players gain and loose are not related to the actual rating, just to the expected and scored rank. Lets say someone with 500 rating that have expected rank of 3 and scored 5th, lets suppose he will loose 200 rating. If someone with 1000 rating have expected rank of 3 too, in another game, and scored 5th, he will loose the same 200 rating. But while 200 rating means 40% of the first player rating, it means 20% second player`s rating. In my system there is no such difference, someone with 1500 points is as strong against someone with 1300 points as someone with 200 points is strong against someone with 0. Ah so you don't like the fact that it compares the ranking in game to determine the new rating. You want it to compare the rating to determine the new rating. But... the in game ranking is calculated from the rating, is it not? Then what you are saying is you don't like way the ranking in game gets calculated from the rating. Did I follow you or was I lost somewhere along the way? KranImpire wrote: My code currently adjust ratings by 120 * ln (game players) at max. It means maximum adjust of:
5 Players game: 193.13 6 Players game: 215.01 7 Players game: 233.51 10 Players game: 276.31 20 Players game: 359.49 50 Players game: 469.44
But i still consider it so much for high ranked players. Three diferent k factors, like in chess, would work well. For example:
Rating 1800 - : K = 120 Rating 1801 - 2200: K = 80 Rating 2200 + : K = 60
After someone reachs rating 1800, the k for that player would keep 80 even if its rating goes below 1800. After it reachs rating 2200, the k for that player would be 60, forever. I like the fact that adjustments are being make for the # of players in a game. Is the spread show there separate or related to the K factor? I also like the K factor changing at set levels, but I can live with it being a constant. What I don't like is your suggestion that once you reach a certain level, he K factor is set forever. As I get better, my rating goes up. As I get older and more careless, I will make more mistakes. I should not be given a pass just because I managed to get my rating up to that level at some point. As my skill decline the system should reflect this fairly. What was your rational behind making it fixed forever? KranImpire wrote: Quote: Did you see anything in the code that limits the swings with the progression of games that are played? I dont think it should be needed, but if you think it is, we can try dividing the K-Factor by the natural logarithm of (number of played games + 10) Well, it seems to me that if the K factor is adjusted by the number of games a player has played. It's essentially doing the same thing as your three break points for K factor. With the exception that one is based on # of games and the other on one's rating. To answer your question, I don't know if both are needed but I do feel that one of them should be in included. I guess the question is will the system create a better representation with both? What are your thoughts?
|
|
| Top |
|
 |
|
fodder
|
Post subject: Re: Rating Calcuation Posted: 26 Feb 2010, 11:26 |
|
| Investigator |
 |
 |
Joined: 06 Jul 2008, 18:23 Posts: 1451 Location: Planet Earth, most of the time.
|
|
Generally speaking, the spread should represent the consistency in play. Meaning if you can beat someone good but also lose to a nubie, you'll have a high spread. If you rarely lose to a nubies and often win against similar rated players and rarely beat very good players, your spread will be lower due to a more consistent win/loss record. It's tries to determine how well your learning and growing as a player. A nubie would have lots to learn and could have a high spread while a long term player should have a lower spread as he has gained a better understanding of the game and hence shouldn't win or lose by luck as often as a nubie might.
|
|
| Top |
|
 |
|
KranImpire
|
Post subject: Re: Rating Calcuation Posted: 26 Feb 2010, 14:47 |
|
| Freeman |
 |
 |
Joined: 17 Oct 2009, 10:17 Posts: 122
|
I have a high spread! ( had 499 1 week ago, now decreased a little ) You said i win by luck! I fell offended  Quote: Ah so you don't like the fact that it compares the ranking in game to determine the new rating. You want it to compare the rating to determine the new rating. But... the in game ranking is calculated from the rating, is it not? I lost myself there. Is said that rating lower than 0 is impossible, but it is not. Becouse of this false statement, i had complete sure the game rating was not linear. I thought for example, someone with 1000 rating would have more win probability over someone with 500 rating than someone with 1500 rating would have against someone with 1000. Thats why someone with 0 or negative rating is rare but possible, and thats why someone with 0 rating still have some small win probability. Please, complete ignore my explaination that you quoted. Quote: I like the fact that adjustments are being make for the # of players in a game. Is the spread show there separate or related to the K factor? Like the elo rating system, there is no spread at my code. But the k-factor have the same effects. Quote: What I don't like is your suggestion that once you reach a certain level, he K factor is set forever. As I get better, my rating goes up. As I get older and more careless, I will make more mistakes. I should not be given a pass just because I managed to get my rating up to that level at some point. As my skill decline the system should reflect this fairly. What was your rational behind making it fixed forever There are two motives for that: Lower k-factor is more accurate but less perspective to changes. One day you will start getting older, and your rating will start decreasing, but i think we all agree that someone that is learning will increase more the rating than someone that is getting older will start loosing it. The process of loosing rating is very slow, and should be more accuracy than perspective to changes, as the changes are minimal. At chess ELO rating system, someone that receive a GrandMaster title will have its K lowered to 10. The grandmaster title is permantent, so even if the grandmaster get old and falls below 2400, the limit to someone receive GrandMaster title, it will still have K = 10 ( and GM title ), as the rating beying accurate is more important than perspective to change. The second motive is that if it is not permanent, it will cause rating inflation. The overall rating will be increased over years. Make the test, create 5 players and make 1000 games with them. ( Winner beying choosed randomly ), ratings starting at 1500, and without new k`s set forever. After 1000 games, all the ratings will be very high, around 2200, 2400. The logic for this is simple, When it is low, it is easier to go up. ( Higher k ). When it is high, it is harder to go down. ( Lower K ). More different K`s will increase even more the process.
_________________
|
|
| Top |
|
 |
|
KranImpire
|
Post subject: Re: Rating Calcuation Posted: 26 Feb 2010, 15:16 |
|
| Freeman |
 |
 |
Joined: 17 Oct 2009, 10:17 Posts: 122
|
Quote: Well, it seems to me that if the K factor is adjusted by the number of games a player has played. It's essentially doing the same thing as your three break points for K factor. With the exception that one is based on # of games and the other on one's rating. To answer your question, I don't know if both are needed but I do feel that one of them should be in included. I guess the question is will the system create a better representation with both? What are your thoughts? Yes, they are essencially doying the same thing. The three diferent k`s are widely used, but dividing by logarithym of games played is my idea. I often (obvially) like my own ideas, but i think dividing my ln(gamesplayed + 10) is not exactly accurate, as someone may learn faster than other one, and so on. So i would keep only the three diferent K`s. K = 150 Before player completes 15 games. ( Changed my mind about this ) K = 90 Before player reaches 2200. K = 60 After player reaches 2200.
_________________
|
|
| Top |
|
 |
|
noblemaster
|
Post subject: Re: Rating Calcuation Posted: 26 Feb 2010, 15:38 |
|
| Game Developer |
 |
 |
Joined: 17 Apr 2005, 02:34 Posts: 5169 Location: Honolulu
|
|
I had a chance to look at the code in more depth. I noted the following:
1. your code doesn't take into account the current rating of the other players in the game (unless I am reading it wrong?). If you win against a much higher rated player, should your rating not be adjusted more than winning against someone that has a rating that is much less than you? You will have players with a rating of 100'000 or more. Others with -100'000. Using your system I could misuse the system by playing against n00bs just to get my rating up?
2. You can have rating adjustments of +/-500! You can have ratings that can be highly negative and positive! Rating categories would become obsolete. [0-700], [700-1200]... would not make much sense anymore.
_________________
|
|
| Top |
|
 |
|
fodder
|
Post subject: Re: Rating Calcuation Posted: 26 Feb 2010, 16:17 |
|
| Investigator |
 |
 |
Joined: 06 Jul 2008, 18:23 Posts: 1451 Location: Planet Earth, most of the time.
|
|
| Top |
|
 |
|
KranImpire
|
Post subject: Re: Rating Calcuation Posted: 27 Feb 2010, 08:32 |
|
| Freeman |
 |
 |
Joined: 17 Oct 2009, 10:17 Posts: 122
|
Quote: 1. your code doesn't take into account the current rating of the other players in the game (unless I am reading it wrong?). Wrong. My code take into account the current rating of other players in game. Not directly, as it uses the expected rank, but if you check it again you will see that the expected rank is very affected by the other players rating. High opponent ratings will increase your expected rank, what allow you to gain more points by defeating them, while low opponent ratings will decrease your expected rank, meaning that you will need a very good rank in the game to gain small amount of points. Quote: If you win against a much higher rated player, should your rating not be adjusted more than winning against someone that has a rating that is much less than you? As i said, you probably didnt noticed it as the expected rank is what changes how much you win or loose. But like the expected rank is influenced by the opponent ratings, you will gain much more points for beating someone with more points than beating someone with lower points. You will also loose much less points by loosing in a game with high level players than you would as if you loose to a newbie. Quote: You will have players with a rating of 100'000 or more. Others with -100'000. The ratings will not differ much from what the ratings are today. Quote: Using your system I could misuse the system by playing against n00bs just to get my rating up? No. By playing with noobs you will loose many points if you loose and will gain much little points if you win. Quote: You can have rating adjustments of +/-500! Adjustments can be halfed by halfing the K, and doubled by doubling the K. The K of 120 was just a suggest, it is a configurable setting and should not be seen as part of my rating system. For example, with K = 120, in a game with 5 players where all have the same rating, the winner would gain 96.57 Rating points. I dont consider it so much. Adjustments of +/-500 are VERY VERY RARE, and would only happen in situations like that: Game of around 100 players, most very high rated players, someone with very low rating (Newbie) wins. Adjustments of -500 are allmost impossible, as someone with high rating would have lower K. Using the current system, in these conditions the adjustment would be EVEN HIGHER. Myself allready gained 450 points from a game once, and the opponent ratings was not red, only blue, yellow and some oranges.Quote: You can have ratings that can be highly negative and positive! As i said, the ratings will not be much different from what they are today. Quote: Rating categories would become obsolete. [0-700], [700-1200] The rating categories would still be used without any modification, expect the first one, that should be changed to [700-]. More than 35k players have signed up at AOC until today. Noone reached negative rating. In my system, the negative ratings will as rare as it is in the current system. They will appear with the same rarity: Allmost never. Becouse of the "Allmost" part changing to [700-] is needed.I will post a small example of how my rating system works: Player name....Rating....Expected Rank....Win Probability Alpha..........2120......1.96.............41.22% Bravo..........2060......2.17.............33.09% Charlie........1780......3.29.............11.87% Delta..........1670......3.74..............7.93% Echo...........1530......4.30..............4.75% Fox............1140......5.53..............1.11% Player Alpha: Position....Rating Change #1..........+34 #2..........-1 #3..........-37 #4..........-73 #5..........-109 #6..........-145 Player Bravo: Position....Rating Change #1..........+42 #2..........+6 #3..........-30 #4..........-66 #5..........-101 #6..........-137 Player Charlie: Position....Rating Change #1..........+82 #2..........+46 #3..........+10 #4..........-26 #5..........-61 #6..........-97 Player Delta: Position....Rating Change #1..........+98 #2..........+63 #3..........+27 #4..........-9 #5..........-45 #6..........-81 Player Echo: Position....Rating Change #1..........+118 #2..........+83 #3..........+47 #4..........+11 #5..........-25 #6..........-61 Player Fox: Position....Rating Change #1..........+162 #2..........+127 #3..........+91 #4..........+55 #5..........+19 #6..........-25
_________________
|
|
| Top |
|
 |
|
noblemaster
|
Post subject: Re: Rating Calcuation Posted: 27 Feb 2010, 12:26 |
|
| Game Developer |
 |
 |
Joined: 17 Apr 2005, 02:34 Posts: 5169 Location: Honolulu
|
|
Sorry, yes, you are correct. Expected rank will consider everyone's rating in the calculation!
_________________
|
|
| Top |
|
 |
|
KranImpire
|
Post subject: Re: Rating Calcuation Posted: 27 Feb 2010, 12:40 |
|
| Freeman |
 |
 |
Joined: 17 Oct 2009, 10:17 Posts: 122
|
Thank you for re-checking The great difference from my rating system to the existing one is: My one: The adjustment just depends of the other players as a general, not from other players rank. Doesnt matter the other players rank, Player Alpha will allways loose one point when he get in second. Existing one: Unless you win the game or score at last, the other players`s position will affect your adjustment. For example, Player Alpha will win points by getting in second, if the Player Bravo gets at first, but will loose points by getting in second if Player Echo gets at first. You must make sure low rated players dont get a better rank then you do. My point of view: The existing system give in-game benefics to high rated players. I know everyone is now thinking: He got crazy. No i`m not. Lets suppose Player Alpha and Player Bravo are at war. Everyone else is allied with everyone, and noone will x-ally. The player that wins ( Alpha or Bravo ) will win the game and the player that looses will get in last. Player Alpha have much more rating than player Bravo. All other players, as they cant win, will help player Alpha, as they will win more points / loose less points if a high rated player gets a better rank than them. What will happen? Player alpha will win, not becouse of his skill, but becouse he will have the gold of the other players. At my point of view, this motive is enought to require another rating system by itself.Note: Havent mencionated it when you asked why i think my rating system is have advantages over the existing one becouse i had not studied enought the existing code to conclude that.
_________________
|
|
| Top |
|
 |
|
claymore
|
Post subject: Re: Rating Calcuation Posted: 27 Feb 2010, 14:48 |
|
| Knight |
 |
 |
Joined: 31 Jan 2008, 11:39 Posts: 1102
|
Quote: My point of view: The existing system give in-game benefics to high rated players. I know everyone is now thinking: He got crazy. No i`m not. Lets suppose Player Alpha and Player Bravo are at war. Everyone else is allied with everyone, and noone will x-ally. The player that wins ( Alpha or Bravo ) will win the game and the player that looses will get in last. Player Alpha have much more rating than player Bravo.
All other players, as they cant win, will help player Alpha, as they will win more points / loose less points if a high rated player gets a better rank than them. What will happen? Player alpha will win, not becouse of his skill, but becouse he will have the gold of the other players. At my point of view, this motive is enought to require another rating system by itself. Actually i do believe that noone but you and maybe another freak knows that point. (that's not include Noblemaster  ) So i think it's totally overthinking...
_________________ I never break my word ; even if i've told bullshits.
|
|
| Top |
|
 |
|
KranImpire
|
Post subject: Re: Rating Calcuation Posted: 27 Feb 2010, 16:09 |
|
| Freeman |
 |
 |
Joined: 17 Oct 2009, 10:17 Posts: 122
|
|
Now it is posted on the forums. You allready knows too, soon noblemaster, fodder and then everyone ( At least the top players ) will know that.
Note: Edited the main post in order to give it the 3 different K`s.
_________________
|
|
| Top |
|
 |
|
KranImpire
|
Post subject: Re: Rating Calcuation Posted: 02 Mar 2010, 08:13 |
|
| Freeman |
 |
 |
Joined: 17 Oct 2009, 10:17 Posts: 122
|
|
I was playing AOC when i received a notice that KH lost points by winning a team game. Then i found team wins counts as a draw of all team members.
Then i had a great idea:
The system could consider them all as won or lost, with reduced K.
For example, 8 players, 2 teams with 4 players each. Each winner would score 1/5, while all loosers would score 5/5. Also, the K will be divided by the number of players in team! ( And still multiplied by the ln(8) ) ( After all, you havent won by your skill only, and greater the number of players in team, lower your performance influence in making the team loose or win )
You should still carefully choose your teammate, but noone would win points while loosing at team game, or loose points when winning.
Even if my rating system dont get used, i think this idea could be used at rated team games.
_________________
|
|
| Top |
|
 |
Who is online |
Users browsing this forum: No registered users and 1 guest |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum
|
 |