|
07-09-2010, 04:12 AM
(This post was last modified: 07-09-2010, 05:36 AM by marcus256.)
I know a persistent ranking system is in the works, and has been discussed before ( http://forums.xonotic.org/showthread.php?tid=483). Personally, I dislike the idea of mandatory registration (optional is fine, as long as it does not make the game less playable without registration). I love to have the ability to just "jump in" from any workstation, at any time, without having to register etc.
However, I have another thought: dynamic (non-persistent) "ranking".
Problem: The thing is that with Nexuiz, I (being an average beginner player) have a hard time finding a server/game that matches my skill. I randomly click on a server, and usually end up in the lower part of the result list (I still have fun, though!), and I fear that many newcomers are sort of scared off by the relatively high skill levels, which is probably not good for the game & community (it may become quite elite dominated).
Possible solution: If, at the server list, along with the ping information etc, there could be some sort of "skill level" indication (e.g. 1-5 stars), I think we could get more balanced games and attract more players.
The skill level estimation should not require a registration & ranking system (but could benefit from it if available). You should be able to dynamically determine the individual skill levels of the players on a map, based on metrics such as: - Hit accuracy
- Map coverage
- Item pickups
- Weapon usage
- General movement analysis (e.g. jumping, turning, running, stand-still, etc)
- Etc...
The skill level for a server would be the average / mean of all the players connected to the server. It may also be possible to store the skill levels locally on the client to preserve a good starting value when switching between servers & sessions (I think there would be little or no point in "cheating" by manipulating your skill level).
Also, by making the metric dynamic, it can actually accommodate for personal skill fluctuations on an hour-by-hour basis, such as how tired you are, if you're on a bad computer (no sound, crappy gfx, etc), if you've been drinking , and so on...
|
|
And what metric would you use? There has been quite a lot of work on automatically determining a general "skill" level to automatically balance teams, but this has not given satisfying results yet.
|
|
(07-09-2010, 04:15 AM)Mr. Bougo Wrote: And what metric would you use? There has been quite a lot of work on automatically determining a general "skill" level to automatically balance teams, but this has not given satisfying results yet.
I'm not talking about automatic balancing - this is an indication/information for the player to make it easier to chose the right server/game. That being the whole point: It would not change the game play at all, and it's possible to tune the algorithms indefinitely, without introducing compatibility issues etc.
I suppose there would be quite a bit of tuning involved, but perhaps it must not be very accurate (I mean somewhere between 3-7 levels should be quite enough).
Now, I don't know for sure which metrics to use (except for those that I pointed out) - but I'm fairly certain that you can see quite obvious differences in game play techniques between beginners and experts (how you are moving, how accurate you are in close combat, etc).
|
|
A good idea, in my mind. But maybe a bit too early for 1.0 !?
A good ranking system needs a bit more time, for xonotic 1.0 there should be the basic things.
Otherwise a ranking system is the thing a lot of players want! (Also players that didnt play nexuiz/xonotic) A balanced ranking system needs time. How are devs thinking about that? Lets see how much work they would have to invest there.
|
|
(07-09-2010, 04:26 AM)marcus256 Wrote: I'm not talking about automatic balancing
I only mentioned this to show you that some people have been working on a relative skill metric and getting mitigated results, and you want an absolute metric which is even harder to find because there's a lot of player interaction in those games.
And then there's the implementation problem.
|
|
(07-09-2010, 04:33 AM)Debugger Wrote: A good idea, in my mind. But maybe a bit too early for 1.0 !?
A good ranking system needs a bit more time, for xonotic 1.0 there should be the basic things.
Otherwise a ranking system is the thing a lot of players want! (Also players that didnt play nexuiz/xonotic) A balanced ranking system needs time. How are devs thinking about that? Lets see how much work they would have to invest there.
Read the first post, and you'll see that's not what we're talking about. There is also a link about what you think this topic is discussing
|
|
07-09-2010, 05:20 AM
(This post was last modified: 07-09-2010, 05:32 AM by marcus256.)
I would love to take on this task - but at the moment that is out of the question (time limitation).
I personally envision this as a minor addition to the system.
1) You need to device a few base metrics (as you said - as absolute as possible, that's the whole idea). These would be based on fairly trivial data, and could probably be implemented on the server (no need for heavy crunching). A simple example: hit accuracy = hits / number of shots fired. These metrics could be added to the player state and calculated/updated per event/frame.
2) A weighting function must be created (e.g. skill = k1*metric1^e1 + k2*metric2^e2 + ...). The function can be evaluated on the server.
3) The tuning parameters (k1,e1,k2,e2,...,kN,eN) must be tuned. They could be hard coded in the server source code, or perhaps managed per map, on a central server, or whatever. You might even find a way to dynamically adjust these parameters over time (how I do not know - interesting research project).
4) The server list UI should be updated, so that the server can report the current average skill level, and this should be presented in some fashion in the client.
5) Perhaps you would want to see the skill level (either as the weighted sum, or broken apart in the different metrics) per player on the score board when you're in a game?
EDIT: I think that items 1 & 5 could be a good first step in the development (they are valuable by themselves - and fun!).
|
|
07-09-2010, 09:51 AM
(This post was last modified: 07-09-2010, 09:53 AM by FruitieX.)
Would perhaps be good to store this stuff long-term as well on some centralized server, and if available, use that. Like what QuakeLive does. Then we could also account for things such as amount of wins/losses, how high that player scores in each mode etc, and then compare this to the values of other players with stored records. (of course taking into account the total number of rounds played, someone who played more isn't *necessarily* a better player). For unregistered people we'd simply have to fall-back to a system like this thread discusses.
|
|
Accuracy is one of the most absolute metrics I see, everything else that comes to my mind can be heavily influenced by the skill of the opponent :/
A more objective solution for ranking servers by average skills would be to average the long-term skill of the individual players using a centralized stat system, in a relatively short time (a couple of days or so). That will give a measure of the kind of public that has frequented this server in the past few days. But even this won't be reliable, as low-skilled players are statistically more likely not to have an account registered that lets them collect statistics.
|
|
Perhaps this is more a research project than a game feature - but that's what I like about Xonotic - since it's 100% open, you have access to everything (including every single online game that's played), so you can try these things (kind of how compiler technology researches patch GCC to try new ideas).
Anyway, I agree that most metrics will be influenced both by map design and opponent skill. Granted, such a system will be misleading/inaccurate when there's a big difference in player skill in a game (kind of how a good tennis player can do a bad game when facing a bad tennis player), but statistically these inaccuracies would even out.
The more I think about it, I think that you can come a long way if you use statistical information. Think: dozens/hundreds of metrics ("absolute performance metrics") + actual game score ("relative metrics") + centralized database + a learning neural network.
If you store both performance metrics + game scores in a centralized database, I bet you can transform relative metrics to absolute metrics, and vice versa, and then via a system similar to neural network learning figure out which metrics are more or less contributing to the "absolute skill level" (i.e. the metrics weighting factors) - e.g. overdetermined equation system + least squares solution... AND as a bonus you can probably figure out objective map characteristics (e.g. fast paced, open arena, ...).
Perhaps this is just me ranting, but still, I think a good start would be to add some skill/performance metrics to the game - when they are in place, you can start trying to figure out a way to turn them into a combined absolute skill metric.
|
|
07-10-2010, 12:44 PM
(This post was last modified: 07-10-2010, 12:46 PM by The mysterious Mr. 4m.)
A dynamic skill indicator would be especially useful on the Beginners server. It could be sort of a (colored) button (i.e. green -> red) or an emoticon or a word ("harmless", "minor Threat", .... "Overfiend"). The skill could be determined by frag to death ratio or how many kills in a row appear how often or how fast, how much items used, etc.
(Disclaimer: i didn't read the whole thread, yet)
4m038105 - Be the change.
|
|