Jump to content

Replay Pallàs — A platform to share your replays


Stan`
 Share

Recommended Posts

48 minutes ago, Feldfeld said:

No separation

Okay. Do we count replays with no winners as draws ? 

https://github.com/mmai/glicko2js

They say there that 

You should not update the ranking after each match. The typical use of glicko is to calculate the ratings after each tournament (ie collection of matches in a period of time). A player rating will evolve after a tournament has finished, but not during the tournament.

So I'm not sure it would work well in our case

 

Link to comment
Share on other sites

53 minutes ago, Stan` said:

Okay. Do we count replays with no winners as draws ? 

Imo, no. There are no draws in 0 A.D., and many replays with no winners would just be replays where there is actually a winner in the field but the game was exited without a result. Could be disconnection too, anyway a draw is a definitive result and it would not represent what happened in the match. It would be better to just ignore these games in the calculation. Could consider in the future having a tool analyzing the replay and deciding if there actually was a winner.

53 minutes ago, Stan` said:

https://github.com/mmai/glicko2js

They say there that 

You should not update the ranking after each match. The typical use of glicko is to calculate the ratings after each tournament (ie collection of matches in a period of time). A player rating will evolve after a tournament has finished, but not during the tournament.

So I'm not sure it would work well in our case

I know lichess uses glicko and it is updated game by game. Here is what they say about it:

https://lichess.org/faq#ratings
https://lichess.org/page/rating-systems

So the lichess boys are quite confident this is the better rating system. It's still difficult to compare as they also have a lot more games.

As for what is written in the glicko2js github page, too bad they didn't get very specific about it, notably if the collection of games should involve the same players. Because when you think about it, provided the replay pallas scrapper runs at intervals, or if players post replays by dumps, then at each update you'd actually have a collection of replays to evaluate.

Edit: nvm can't read. They did say 10-15 games per player. But it remains that lichess updates on the fly

Edited by Feldfeld
Link to comment
Share on other sites

Another issue we have is that unlike on lichess, one can upload replays in any order, so I suppose I should recompute the whole thing each time someone adds a new replay for all players (since a changing rating for someone would change everybody that ever played against them)

Link to comment
Share on other sites

2 minutes ago, Stan` said:

Another issue we have is that unlike on lichess, one can upload replays in any order, so I suppose I should recompute the whole thing each time someone adds a new replay for all players (since a changing rating for someone would change everybody that ever played against them)

Yeah that's a bigger issue. A mitigation I see to avoid weird looking swings would be to recompute the whole thing at even slower intervals at which replays are scrapped. So there could be replays displayed not yet used in the rating calculation. So the problem would be "hidden" behind the big quantity of replays at each update. However, it happens that the multiplayer community plays much more TGs than they do 1v1s so not sure it would work well.

Link to comment
Share on other sites

3 minutes ago, Feldfeld said:

Yeah that's a bigger issue. A mitigation I see to avoid weird looking swings would be to recompute the whole thing at even slower intervals at which replays are scrapped. So there could be replays displayed not yet used in the rating calculation. So the problem would be "hidden" behind the big quantity of replays at each update. However, it happens that the multiplayer community plays much more TGs than they do 1v1s so not sure it would work well.

That could work I suppose. I can also add a big button for admins to recompute it. I'll try to implement it. Should we unlike lichess start at 1200 ?

Link to comment
Share on other sites

6 minutes ago, Stan` said:

That could work I suppose. I can also add a big button for admins to recompute it. I'll try to implement it. Should we unlike lichess start at 1200 ?

Considering that experienced players are more likely to share their replays, I suspect that starting at 1500 would actually look more like ingame ratings.

  • Like 1
Link to comment
Share on other sites

Regarding determining if a player has lost or not, would the percentage Building Lost + Units lost work? Lowest Percentage wins? (This would be done only for 1v1 and if there is no state set to won)

Link to comment
Share on other sites

5 minutes ago, Stan` said:

Regarding determining if a player has lost or not, would the percentage Building Lost + Units lost work? Lowest Percentage wins? (This would be done only for 1v1 and if there is no state set to won)

Imo, first of all, for whichever criterion that is used there needs to be a threshold to say that the game is decided. Because it can be that some replays with no winner were truly undecided at that time (e.g. disconnection). So the algorithm would still decide to discard those games in the rating calculation.

Then, as for the actual criterion, imo the biggest tell is if there was a population swing close to the end of the game, or a swing a few minutes before that has never been recovered. If a player has noticeably bigger population after that event then he can be considered winner. If there was a big fight at the end of the replay but no one on top in the population statistic then economy and military score can also be taken into consideration.

Link to comment
Share on other sites

    
        8 hours ago, Feldfeld said:     
    

        

            Yeah that's a bigger issue. A mitigation I see to avoid weird looking swings would be to recompute the whole thing at even slower intervals at which replays are scrapped. So there could be replays displayed not yet used in the rating calculation. So the problem would be "hidden" behind the big quantity of replays at each update. However, it happens that the multiplayer community plays much more TGs than they do 1v1s so not sure it would work well.         

    

Found this little thing that might solve the issue (it's also what lichess uses), but I need to convert the rust code to TS https://github.com/gpluscb/instant-glicko-2/tree/f34fd27aba57c21b0554a6ccc2b6a26559a0f5e7

  • Like 1
Link to comment
Share on other sites

Pushed some updates, you now have the glicko rating on the player profile. Also added the game rating info I have to that graph. I didn't exclude 1v1 from local ratings as for now those are two different things.

People with the contributor badge can upload replays.

I haven't set up the scrapper yet, not sure if there I should create a specific thread for it and whether it's a good idea.

 

 

 

  • Like 3
Link to comment
Share on other sites

  • Stan` pinned this topic

Nice!

The glicko data looks inconsistent. It tells me my rating is 1545 while the graph puts me above 1600

Now may be time to invite the 0addicts to dump their replay. Many players should have hundreds of teamgames, though they would all be in now outdated version of community mod. (that would amount to GBs of disk size)

Is there a duplicate detection for replays? Ideally it would keep also the longest version available (there could be a somewhat frequent situation where a player spectated a 1v1 then left in the middle of the game, and posted the replay first)

Guess this problem would occur only if players post replays by dumps instead of hand picked 1 by 1.

I'd recommend posting the link to the website at the top of the opening post of the thread for visibility.

Link to comment
Share on other sites

1 hour ago, Feldfeld said:

Is there a duplicate detection for replays? Ideally it would keep also the longest version available (there could be a somewhat frequent situation where a player spectated a 1v1 then left in the middle of the game, and posted the replay first)

Only the first one remains. The replay matchid is used to avoid duplicate replays.

1 hour ago, Feldfeld said:

The glicko data looks inconsistent. It tells me my rating is 1545 while the graph puts me above 1600

Ha I messed up the sorting should be fixed now.

Link to comment
Share on other sites

14 minutes ago, Feldfeld said:

Now the graph indicates I'm dropping rating for each match, not sure that's accurate :D

I'm not sure but I think it's normal due to the very low amount of matches. At the beginning you have a deviation of 350 which probably boosts your rating at each each match, now your deviation is closer to 45. But at least the dates are in order now :D

Another thing is that there aren't many matches.

The code responsible for this is there https://github.com/StanleySweet/replay-pallas-api/blob/main/src/instant-glicko-2/Glicko2Manager.ts#L64

 

  • Like 1
Link to comment
Share on other sites

5 minutes ago, Stan` said:

I'm not sure but I think it's normal due to the very low amount of matches. At the beginning you have a deviation of 350 which probably boosts your rating at each each match, now your deviation is closer to 45. But at least the dates are in order now :D

Another thing is that there aren't many matches.

The code responsible for this is there https://github.com/StanleySweet/replay-pallas-api/blob/main/src/instant-glicko-2/Glicko2Manager.ts#L64

 

What I mean is that the graph indicates I lost every game beside the first, at least that's the understanding I get from this. But since most replays on the website are from the tournament I'd expect it to be mostly victories, and victories would bring the graph up

Link to comment
Share on other sites

I checked the graph and it seems like what is plotted is (1500 + PlayerDeviation) instead of PlayerRating

This is why the graph gets closer and closer to 1500 after each match.

Maybe after giving a replay to the glicko code it doesn't take the current player rating, but instead the base value of 1500?

Link to comment
Share on other sites

4 hours ago, Feldfeld said:

I checked the graph and it seems like what is plotted is (1500 + PlayerDeviation) instead of PlayerRating

This is why the graph gets closer and closer to 1500 after each match.

Maybe after giving a replay to the glicko code it doesn't take the current player rating, but instead the base value of 1500?

Found the guilty line :D 

https://github.com/StanleySweet/replay-pallas-api/commit/e085022fc93e7a6578a82d18c7a3df21970a2d5e

Explains the weird link between deviation and rating.

I hope my friend's @Stockfish's mouse is okay, they are clicking at least twice as much as any one :D 

@borg- has a terrible rating because he lost the three matches on the site :)  (His rating is 900? the '?' being for provisional)

  • Like 1
  • Haha 1
Link to comment
Share on other sites

5 hours ago, Feldfeld said:

Tried to upload a replay of my first game back, it didn't seem responsive. I had no feedback on clicking the upload button.

Yeah I need to work on interactivi (also for a phone version)ty. Usually when the replays upload if it works, one or multiple replay lines will appear below the upload block for replays that were uploaded successfully.

 

Link to comment
Share on other sites

4 hours ago, Stan` said:

Yeah I need to work on interactivi (also for a phone version)ty. Usually when the replays upload if it works, one or multiple replay lines will appear below the upload block for replays that were uploaded successfully.

 

I guess I couldn't upload the replay since nothing happened. I'm on Librewolf browser

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