Topic: Rating system
GunChleoc![]() |
Posted at:
2019-08-10, 09:17 UTC+2.0
I don't think that there will be an easy way. First the author will need to design it that way, then it will need extensive playtesting. Busy indexing nil values ![]() ![]() |
einstein13![]() |
Posted at:
2019-08-20, 11:29 UTC+2.0
As I understand https://www.widelands.org/forum/topic/4599/?page=4#post-29394 is considering some rules around rating games. My replay below:
In general case: a draw. In some cases: as a defeated player. If you take into account "The colonies" map, it was designed to be split into two pieces. Small, initial island in the middle and the twisted continent around it. If you conquer initial island it doesn't mean that you win the game, since the continent is much bigger and contains more resources.
So the best solution for such situations is to agree (between players) before the game how it should be considered after conquering some part of the land. We can make a place where general rules for each map are stored (f.e. conquering main land on Ice Wars should be considered as a win, while conquering the initial island on The colonies as a draw or lose of the second player). And the rules would not be a strict ones, but they allows to simplify fights.
Because 4 hours of gameplay is not enough for some types of players. You're skilled and you manage to created constant flow of lvl 10 soldiers after 1 hour or so, but some players wants to play the game for a longer time, like 6 or 8 hours, because they can't produce highly trained soldiers so fast. They can even have problems after 4 or 6 hours.
Why? I don't get the point here. For official games - yes, I can agree. But for general ones, why not? einstein13 ![]() ![]() |
trimard![]() Topic Opener |
Posted at:
2019-08-31, 14:52 UTC+2.0
Ok, glicko implementation is going fine... except... For one part... Has anybody any idea on how to go and implement that in python ? It's far from major though, so I could theoretically do without it IMO. But I'm not in known territory here ![]() ![]() |
einstein13![]() |
Posted at:
2019-08-31, 20:04 UTC+2.0
I assume that you are taking the original paper http://www.glicko.net/glicko/glicko2.pdf, right? Let's see what is defined above:
Point here: all values except tau are variables, dependent on input data, but I am not sure if you are calculating it inside a class or you're doing it in procedure. Both uses are almost the same in code, different in running. Here I will provide a sample code for procedure:
I expect that you know all of this, but I will point for those who didn't notice:
einstein13 ![]() ![]() |
trimard![]() Topic Opener |
Posted at:
2019-08-31, 23:23 UTC+2.0
Hahahaha, I was expecting some pointers, not the whole code itself but thanks a lot it sure answered a lot of question. ^^ Rest of glicko is implemented fine now Also, I used utf-8 greek caracter for variables is that a bad thing? You don't seem to have the same practice edit: I used tau as 1.0 because I think we'll have much change in skills over time
Edited:
2019-08-31, 23:24 UTC+2.0
![]() ![]() |
einstein13![]() |
Posted at:
2019-09-01, 01:53 UTC+2.0
You haven't provided your code (or I haven't noticed anything), so no direct copy-paste here
I have learned that it is a bad practice in general, but as far as I know Python is handling it. I am not sure how well, but it is. Remember to add a comment at the beginning of the file that you are using UTF-8 encoding. Anyway, changing all occurrences at once should not be too hard einstein13 ![]() ![]() |
trimard![]() Topic Opener |
Posted at:
2019-09-01, 02:47 UTC+2.0
You mean I shouldn't copy paste your code? Because I kind of did that, and tested, and the thing took so much energy I was under the impression I was mining bitcoins I would commit my code, but I must admit. I'm a little ashamed. I used no good practice. Even for me it's a real struggle. But ok, I'll commit tomorrow!
If it's bad practice I will change it then yes. I'm so hyped, glicko is already running fine. I got the same results as the test in the paper. (Even without step 5) ![]() ![]() |
einstein13![]() |
Posted at:
2019-09-01, 14:28 UTC+2.0
No, I misunderstood your statement that you can't use directly the code and need integration to your code.
or with GET parameter:
and official as default one einstein13 ![]() ![]() |
einstein13![]() |
Posted at:
2019-09-01, 14:28 UTC+2.0
No, I misunderstood your statement that you can't use directly the code and need integration to your code.
or with GET parameter:
and official as default one einstein13 ![]() ![]() |
trimard![]() Topic Opener |
Posted at:
2019-09-01, 15:21 UTC+2.0
Mhhh, I'm not sure, I was thinking we could have tabs used for other "seasons" (Which would at least indicate different builds) so maybe different pages, so we can keep the tabs if needed I pushed my branch btw. Still a lot of WIP and reformating to do, so please don't take too much attention to the general structure of things. https://code.launchpad.net/~widelands-dev/widelands-website/rating_system ![]() ![]() |