summary of ranking problems/questions
Horn Gábor <Horn.Gabor-/[email protected]>
| Newsgroups | gmane.games.freeciv.general |
|---|---|
| Message-ID | <[email protected]> |
Hi! I'd like to summarize a bit the problems regarding to the ranking on pubserver, and the solutions which i etiher know about or suggest. I think the goal is to have a fair and representative ranking system, which motivates all players from newbies to tops, and doesn't make them turn away from certain type of games. The current system is based on the ELO, and a nice one, but it has a few problems: 1, some obvious things, like AI and dead player scoring. They now affect the score of players and make the system not closed (althougth en ELO sytem is supposed to be that). 2, There's no authentication, so anybody can pick any (ranked) name and play with that. 3, Players can use more nicks to cheat their ranking (only use 'primary' in games when they're almost sure they'll win, eg againts much weaker players). It's forbidden in every 'serious' ranking system afaik, and usually means a ban from the system if somebody does this. 4, Alliances in games aren't handled. 5, There's no ranking decay (it's part of ELO again, and would have good affect on gameplay too i think). 6, would be nice to have separated ranking for team, duel, ffa (we can keep the current 'overall' too as one of the rankings). I think if we eliminate these we'll have a better system. Now about solutions (where is the error, how it can be solved imo): (0, We should separate ranked and non ranked games. The easiest way might be to make ports for ranked games and fun games. Fun ports would work just like the current ports, except that their result wouldn't get recorded into the ranking base. Sometimes people would like to practice or play w/o being ranked, so no need for rank all the games. But if we rank, would should do it as fair as possible). 1, It's the doranking script's mistake, i fixed it. 2, As i know CVS already can do it, althought it need some work to make it fit w/ the pubserver. I think a simple nickname/password authentication for joining the pregame is enough. And when games start, players would be forced to use their ranked names (or the gamelog should be changed to contains the real nicks of them too). Dunno which is easier to implement, but i think we need it or the authentication became useless. 3, It's very hard to prevent this, so i think we should aim to make it useless. Ranking decay partly does this, but not completely. I think we shouldn't provide info about the name of players of the ranking ports' pregames. Only the number of them. So if a player join, he can decide if he wanna plays or not, but cannot use the playerlist info w/o connecting to decide what nick he use in that game. If he leaves and reconnects w/ the same ip in a few mins, players should recognize it and could tell it to the admin. It needs modification of the client/server code i think. It's not a 100% protection still, but might be enough againts 90 percent of these cheats. If somebody really wants cheat he can, i see no way to prevent that. And i think if somebody is cought on cheating, he should be deleted from the ranking and banned permanently from the ranking. For this doranking script has to be changed to save more detailed data from every game, so ranking would be recountable w/o the cheaters points (i can do this modification if we agree). I think no serious player would risk this. 4, both doranking and server code has to be changed to handle this. Server has to produce more detailed gamelog files, which provide info about diplomatic actions. Doranking has to handle it properly. 'Properly' isn't well defined in this case, as ELO doesn't support this kind of events during a game (it handles separated individuals or teams). I partly solved it in doranking, but i'll work on it more to be better (i have a solution now what DDD suggested and i think is good, but haven't time to implement it yet). 5, It's not hard and can be done as a separated program, no need for change in the client or server code. I'll make a small program for it. 6, it's doranking script's job and needs some modification for the webpages that shows the ranking table(s), i will do it. Well now i'd like to ask if you agree w/ the above, and if yes, there's a chance to implement the needed things for the client and server? I know it would be better if i could send patches for them, but i have very limited time sorry :( But i'll do my best to do the needed changes for the doranking and it's database and other related stuff. bye, hirisov