[SM Plugin] Emp Stats

Discussion in 'Coding' started by Mikleo, May 13, 2017.

  1. Mikleo

    Mikleo Member

    Messages:
    92
    Likes Received:
    49
    Trophy Points:
    0
    At the moment there seems to be a bug with the mmr system where some players are getting infinitely high or low mmrs, most players are hovering around 1000 mmr where they should. I probably wont be able to get time to fix this till the weekend. But please make sure you are not running an old version of empstats. Send me any error logs and there is also a log in addons/sourcemod/logs/empstats.txt which basically logs everything the mmr system is doing which would be helpful to have.

    And one thing I didn't mention about the teambalance is that you will be free to join whatever team you want if you have played for less than 8 hours. However your mmr will still be counted so other players will need to join the team with the new players. So team balance will not immediately apply to new players or returning vets not registered on the system.

    Edit: Nope Still Happening
     
    Last edited: May 20, 2017
  2. Mikleo

    Mikleo Member

    Messages:
    92
    Likes Received:
    49
    Trophy Points:
    0
    0.24
    fixed issue with crazy MMRs
    Tested and adjusted teambalance feature
    Added an option which prevents players being assigned to the team they didn't select when the teams are uneven. es_teambalance_blockunevenswitch, disabled by default.
    fixed a few issues with predict command
     
    Neoony likes this.
  3. Mikleo

    Mikleo Member

    Messages:
    92
    Likes Received:
    49
    Trophy Points:
    0
    0.25
    Fixed a bug where time_played and mmr were calculated from server start instead of after the comm vote ends.
    Teambalance is now enabled By default
     
  4. Mikleo

    Mikleo Member

    Messages:
    92
    Likes Received:
    49
    Trophy Points:
    0
    Understandably there have been some people commenting how an MMR system with many players on each team will be less accurate than games like LOL or Dota that use 5 player teams.
    Yes MMR systems are generally more accurate the more games you play and the fewer players in each team. Empires has longer games, which does mean less games, probably less than 12 big games a weekend.

    My main point to this is that the system doesn't need to be perfect or incredibly accurate. Server owners have a margin to play with and adjust as they like. Although there has been very few games played in the system you can see a trend emerging in the ratings. Yes there are players that have got lucky and others who have got unlucky with their results, that's just variance. The chance that a team with an average rating of 1000 has equal skill level as a team with an average of 1100 is not very high if the players in those teams have played enough games. In effect the higher team numbers makes this possibility much less likely. Yes those ratings may not be completely precise or accurate, but its unlikely that the 1100 rating team will be worse than the 1000 rating team and if that is the case the system will adjust all their ratings by a large degree.

    Teambalance is just a fallback that stops the MMR difference of both teams getting too high. By default it is set to 100(64% win chance), but server owners can specify whatever margin they want.

    The reason I have set it as default is that I want to test it when it's fresh on my mind. Teambalance wouldn't have applied to a single game over the last weekend. The average MMR of each team was still very close to 1000. It probably wont apply to a single game this weekend either, unless somehow the very highest and lowest rated players went into an 8 player game on different teams, in which case it would be stacked. And server owners can set higher margins which would make it even more unlikely that teambalance will affect equally skilled teams.

    There are two different complaints that It will probably get.

    One complaint will be stronger players should be able to stack the team that is losing. I disagree per my earlier post.

    Another complaint will be I couldn't join the 'weaker team'. This could be because you have a lower than average mmr for the players on the server, which means the system wants you to join the stronger team. The system wants new players or low MMR players to join the stronger team. Or it could be that MMR is inaccurate because there isn't enough data on a lot of the players. In which case the server owner can make the margin higher if they want.
     
    Last edited: May 22, 2017
  5. Mikleo

    Mikleo Member

    Messages:
    92
    Likes Received:
    49
    Trophy Points:
    0
    0.26
    Bug fixes
    Players now have commander ELO rating. Worth around 1.5x normal player rating in terms of team MMR. This is not used in team balancing, mainly used to make the player MMR system more accurate.
     
    Neoony likes this.
  6. Paradox

    Paradox I am a gigantic asshole who loses people's hard wo

    Messages:
    6,857
    Likes Received:
    142
    Trophy Points:
    0
    Your elo system should only be adjusting elos when games become bigger than 10-15 v 10-15.
    Heres why.

    Plenty of players dont even join empires on low pop sizes -> When they play they wont have a properly calibrated elo to work with making the system have way too much variance.
    The people who do play on low pop sizes will have an inflated MMR.

    As you said before Empires works differently from other games cause of larger games and less games in general. I agree with all the former. But I think having your elo rating active all the time is a mistake. It should only be active when games are being played seriously.

    The only downside to this is that actually getting enough games to calibrate properly, but I think a proper slow calibrated MMR is better than a fast calibrated bad MMR.


    Also I really think MMR should be made publicly visible. Not how you calculate it ( people will try to cheat their way up ), but at what. People tend to play more serious and want to win more if they get scored on it.

    This happend in dota when they introduced mmr. People playing unranked tried way less than people in ranked matches.


    ps anyone saying they wont be playing more serious or a majority wont be playing more serious can stfu. Even if 10 percent of the player base plays more serious thatll give better games.
     
  7. Neoony

    Neoony Member

    Messages:
    1,276
    Likes Received:
    79
    Trophy Points:
    0
    Think its kinda too late to not disclose how its calculated.
    Source is already public.
    But I agree it shouldnt be available. To reduce abusing it. Might also affect overall game and how people play it.

    Many games usually dont disclose that.

    With it being public, there is gonna be always somebody trying to abuse it...and then wait until he says his findings to the public xD

    So yeah, cant disagree on making the source/calculations private.
    But yeah, it might be too late.
     
  8. Paradox

    Paradox I am a gigantic asshole who loses people's hard wo

    Messages:
    6,857
    Likes Received:
    142
    Trophy Points:
    0
    Quick delete all evidence!
     
    Neoony likes this.
  9. Mikleo

    Mikleo Member

    Messages:
    92
    Likes Received:
    49
    Trophy Points:
    0
    You're right about players who play in low pop matches having an inflated mmr. Mainly because these games have a lot of new players more than these games not being serious. The average MMR is 1000 right now which is the same as a new player. Naturally the average MMR will inflate because a lot of new players leave the game and ELO is a zero sum game. So in the future 1000 will be quite a bit below average MMR. So playing against nubs in the future will yield quite a bit less benefit than it has now. Currently there is a minimum of 8 players before stats get recorded. I may have a higher level for MMR, possibly 16. But I really don't want to go too high because I don't want to restrict the sample size too much.

    As for making MMR visible, I would only consider it if there was no way to exploit the system. Lets talk about a few ways that the system could be exploited.

    1. Stacking, Even though the teambalance system can restrict the ELO difference to a certain degree, It isn't a standard matchingmaking system that designates teams for you. Some players may decide to join teams together , kindof like prebuilts. Players can have outside knowledge about player lag and players who they think the system has rated inaccurately and they can use this knowledge to try to stack teams. Stacking can artificially inflate your MMR , so if MMR was visible, it would be akin to encouraging it.

    2. Team Leaving/disconnecting. I think maybe I could solve this by using the period between joining and the end of the game to adjust ratings. But that would be less accurate and there are other technical issues involved.

    Ghosting/exploiting would become more common as well.

    And when the system has ways to exploit it, players are not trying to play the game to win they are trying to play the game to preserve their MMR.

    Generally hiding how its calculated would be difficult. Firstly I wouldn't provide a plugin to server owners without the source. It's an issue of trust that they can see what code is being run on their server. Then server admins would still know and could use it to abuse it, or they could easily discuss it.

    The reason why the source is public is that I never intended MMR to be public. I see no way of creating a system that couldn't be exploited without creating a full matchingmaking system similar to Dota etc. This system would also have to place restrictions on spectator and a lot of other game elements to try and prevent the game being exploited. It would never work without these things.

    Effectively you would have to create a "Ladder" server which had proper matchmaking and had a bunch of restrictions.
     
    Last edited: May 27, 2017 at 4:26 PM
    Neoony likes this.
  10. Paradox

    Paradox I am a gigantic asshole who loses people's hard wo

    Messages:
    6,857
    Likes Received:
    142
    Trophy Points:
    0
    Then instead of having MMR be public make it so your ranking is public. Like 46/231 etc so theres an incentive. Otherwise you invented a system to balance games that you say yourself are super hard to balance because of the multiplicity of factors involved.

    I think ranking systems and mmr systems are great incentives for people to play " better or more serious".


    also: I dont think it matters as much in a small player base game like empires that theres exploitability, if you see players exploiting you can just mark them as exploiters and everyone will know cause its not like he can go to another server with all other players that dont know him. It's like saying you dont want to go on an adventure cause adventure entails risk. Thats a pessimistic way of viewing it. be optimistic think of all the good things that can come out.
     

Share This Page