Digital Paint Discussion Board
Paintball 2: The Game => Paintball 2 Discussion => Topic started by: Blitz on August 11, 2005, 07:41:58 PM
-
Since ideas of a global statistics system have been thrown around, I decided to experiment with a formula for calculating the "skill index" that would be very usefull for such a system.
Essentially, your "skill" is determined and modified not just by your kills and eliminations, but by WHOM you eliminated and whom you were eliminated by.
I conducted the following simulation with 8 imaginary "players" whom i constructed. Each player was giving a specific skill level (not to be confused with the skill index we are attempting to calculate). This skill level ranged from 1.0 -> 10.0, and basically all that it is used for is determining the probability that player A was able to successfully kill player B when attempted.
Here are the created players, sorted by skill level
Player Name | Skill Level |
Mr. Elite | 10.0 |
Stewie | 8.0 |
Bart_Man | 7.0 |
Mr. Mediocre | 5.0 |
Homer | 3.0 |
Johny NotSoGood | 2.0 |
Johny's Twin | 2.0 |
super newbie | 1.0 |
Now, here's the simulation I conducted with the aformentioned players:
- All players begin with 1500 default skill rating
- For each player in the list, attempt to kill another (randomly chosen player) using the pre-defined skill levels to help with the probability of such an event.
- If kill is successfull, modify both the eliminator's/eliminated's skill rating.
- Move to next player in list.
- Repeate the above proccess X times.
Now, here's the psuedo-code for the formula i'm using to adjust skill ratings:
if (kill = true) ->
[add_amount = (1 + 1*round(skill(whoWasKilled)/skill(Me))
and then, to avoid a linear increase/decrease in skill over an extended period of time:
if (cur.skill_rating > 1500.0) add_amount *= 1500.0/(1500.0+abs(cur.skill_rating - 1500.0))
This is then added to the current players skill:
players.skill_rating += add_amount
This exact same process is used for when someone is eliminated, except obviously inverted (and subtracted).
Now, to the results of the simulation (sorted by kills, not simulated rating), first using a small simulation length value of 500, which would be comparable to ~ 1 maps worth.
Player Name | Skill Rating | Total Kills | Total Deaths | K/D Ratio |
Mr. Elite | 1577 | 50 | 9 | 5.55556 |
Stewie | 1564 | 50 | 12 | 4.16667 |
Bart_Man | 1558 | 49 | 18 | 2.72222 |
Mr. Mediocre | 1527 | 29 | 17 | 1.70588 |
Johny NotSoGood | 1453 | 21 | 46 | 0.456522 |
Johny's Twin | 1469 | 21 | 37 | 0.567568 |
Homer | 1466 | 19 | 40 | 0.475 |
super newbie | 1390 | 6 | 66 | 0.0909091 |
Now, for a larger simulation (value = 5000)
Player Name | Skill Rating | Total Kills | Total Deaths | K/D Ratio |
Mr. Elite | 2128 | 554 | 96 | 5.77083 |
Stewie | 1979 | 474 | 152 | 3.11842 |
Bart_Man | 1964 | 470 | 160 | 2.9375 |
Mr. Mediocre | 1709 | 387 | 258 | 1.5 |
Johny's Twin | 1188 | 204 | 415 | 0.491566 |
Homer | 1186 | 247 | 455 | 0.542857 |
Johny NotSoGood | 1166 | 185 | 422 | 0.438389 |
super newbie | 691 | 50 | 613 | 0.0815661 |
simulation length = 50000
Player Name | Skill Rating | Total Kills | Total Deaths | K/D Ratio |
Mr. Elite | 3542 | 5530 | 997 | 5.54664 |
Stewie | 3043 | 4858 | 1424 | 3.41152 |
Bart_Man | 2873 | 4686 | 1681 | 2.78763 |
Mr. Mediocre | 1532 | 3950 | 2584 | 1.52864 |
Homer | 647 | 2380 | 4295 | 0.554133 |
Johny NotSoGood | 608 | 2108 | 4419 | 0.477031 |
Johny's Twin | 549 | 1998 | 4398 | 0.454297 |
super newbie | 108 | 546 | 6258 | 0.0872483 |
..and finally, simulation length= 100000
note how Mr. Mediocre has had little volatility in his ranking, as well as how the extremes have been "capped" by the formula. Also, this kind of simulation assumes that the inherent skill level of the player never changes, which is clearly different (basically what i'm attempting to say is that with real human data, there would be more fluctuations/less-spread).
Player Name | Skill Rating | Total Kills | Total Deaths | K/D Ratio |
Mr. Elite | 3636 | 11107 | 1972 | 5.63235 |
Stewie | 3202 | 9784 | 2730 | 3.58388 |
Bart_Man | 2893 | 9479 | 3400 | 2.78794 |
Mr. Mediocre | 1622 | 7790 | 5250 | 1.48381 |
Homer | 810 | 4581 | 8533 | 0.536857 |
Johny NotSoGood | 565 | 4146 | 8898 | 0.465947 |
Johny's Twin | 544 | 4109 | 8881 | 0.462673 |
super newbie | 44 | 1123 | 12455 | 0.0901646 |
Here is an example of a much more even spread, the skill level ranges from 4.5 -> 5.5 (sim. length = 100000)
Player Name | Skill Rating | Total Kills | Total Deaths | K/D Ratio |
Mr. Mediocre | 1510 | 5792 | 5455 | 1.06178 |
Johny NotSoGood | 1509 | 5600 | 5575 | 1.00448 |
Stewie | 1505 | 5154 | 6009 | 0.857713 |
Mr. Elite | 1505 | 6297 | 5037 | 1.25015 |
Johny's Twin | 1500 | 6051 | 5201 | 1.16343 |
super newbie | 1496 | 5023 | 6227 | 0.806648 |
Bart_Man | 1496 | 5431 | 5756 | 0.943537 |
Homer | 1484 | 5545 | 5633 | 0.984378 |
-
Any ideas? One thing I forgot to mention is that there is currently no account for the type of gun used; however, this would be needed. IE, your rating would increase more for PGPing someone who had an Autococker than vise versa.
-
Any ideas? One thing I forgot to mention is that there is currently no account for the type of gun used; however, this would be needed. IE, your rating would increase more for PGPing someone who had an Autococker than vise versa.
That sir was exactly my next point. One problem, would map ranking also help? Only playing on ez kil maps.
Thanks for the attention.
Paranoidly yours,
Loial21
-
I think accuracy should play a fair role as well. If you sit in the corner and spray nonstop with an autococker and kill all the newbies who walk into it, you shouldn't have the same rating as someone who selectively fires at people and gets the same number of kills with significantly less ammo. That could potentially replace the gun stats as some maps don't even give you a choice on weapons and it would hopefully encourage people to play less spray maps and more strategic maps.
Hm, as for the skill rating, here are some things I want to avoid:
- Values that keep increasing or decreasing. In other words, if you have 500 skilled kills, your rating should not be significantly lower than somebody who has 5000 kills of the same approximate skill. Some people play all day. Others only have time here and there to play a little -- you shouldn't get higher skill rankings simply because of more man hours.
- Values that decrease below what you get when you start out. What happens when johnny notsogood drops down to 800 points? What incentive does he have to keep his login when he can create a new account and have 1500 points? I don't want newbies creating 500 accounts because they keep dropping in skill points. :)
-
I disagree with your statement about accuracy playing a role. It already does play enough of a role, albeit indirectly. If there's two players in a firefight, the one with the best accuracy would win more often. I don't see how sitting in a corner really says you're "less skillfull." I mean, if there are a bunch of newbies willing to walk into that spray, then why punish someone for attempting a strategy that will maximize K/D. A different (and imo, better) way to "encourage" strategic/offensive play would be to reward flag captures/grabs/etc.
As far as the values that keep increasing/decreasing... that's taken care of. A player with 5000 kills and 1000 deaths will have approximately the same rating as a player with 500 kills and 100 deaths (assuming an even distribution of skilled opponents). Check out the last table I posted in my first thread, it shows how the players are balanced.. all approximately close to the default rating (1500).
As far as not having values that drop down.. you could certainly cap a low (and/or high). I don't really think this is a good idea, since the whole point is to provide a rating that should effectively measure your skill. Certainly there are "below average" players.
Dealing with people creating alternative accounts is an issue that can be inhibitied with some kind of account validiation or something (ip checking/email valid/etc?). Plus, you don't get any money or anything for having a high account, so there's really not that much of an incentive. Also, if you're bad and then get better... you'd be able to quickly raise your skill level back to (or above average) based on the formula (you'll be getting more points per kill since your skill level is low).
-
for the register it should match with ip so as jits said with the noobs creating a large number of accounts wont happen. Unless they go out and buy a few hundred computers or isp...which i doubt they have that kind of money ;D
-
Also something to think about, having a global ranking system could lead to a lot of other fun stats, such as clan ranks, state ranks, country ranks, most "competitive" servers to play on, etc...
-
Clans would be fun...but you have to think of the noobs who make a clan lose to a good team for example er33t or cp and then makes a whole new clan. That would ruin it because there would be so many clans..it might be so bad there are as many clans as players.
-
Glad I am not a developer. But I am a player and now a admin sadly :( sorry!!!
Map ranking could solve your argument. Just a thought. Thanks for the intrest.
-
Oh, I think accuracy plays a huge role in skill. People who just sit and spray 1-path maps aren't necessarily skillful. They just know where to sit and spray, and inevitably players are going to get hit, especially when you have like 10 people on pbcup. I think factoring in accuracy would account for maps and weapons. Your accuracy is going to be higher with a PGP than an autococker just by the nature of the game. Ever since I wanted to do statistics, I wanted to have accuracy play a large factor. It will discourage people from playing all-auto maps where they can just get tons of kills by luck.
If there's two players in a firefight, the one with the best accuracy would win more often
That would only be true if it were 1v1's on a level playing field. I guess the accuracy thing is more to discourage people from playing crappy maps where you can get lots of kills spraying the one and only entrance to the base. Perhaps there could be an "approved map list" or something similar, but I'd rather design the rules in such a way that it makes people want to play better maps where strategy outweighs spray.
A different (and imo, better) way to "encourage" strategic/offensive play would be to reward flag captures/grabs/etc.
That should probably play a role, but I don't think it would encourage strategic play -- people would be grab-greedy and not want to use teamwork or defend. Plus it would make people want to play the crappy box maps where it's easy to get lots of grabs since the map is only 20 feet long.
Perhaps the increasing/decreasing thin isn't as bad as it looks, but:
Mr. Elite 2128 554 96 5.77083
...
Mr. Elite 3636 11107 1972 5.63235
He has a better k/d ratio, but a significantly lower skill rating in the first one. They should be closer if what you say is true.
There will probably be email validation, but with as many email addresses as you can get these days within 10 seconds, that won't slow anybody down. IP validation, maybe, but what if you have a brother or roommate sharing the same 'net connection? Or on the flip side, what if you have a dynamic ip and can simply disconnect/reconnect and get a new one? There's really not much that can be done (aside from charging $$$) to stop people from registering new accounts. It would be better to design it in such a way that you start at the bottom and quickly work your way up, then it averages out, but you can't go lower than what you started with. Registration flooding aside, it'd suck for 50% of the community to have a lower rating than they started out with.
-
I like Jit ideas and see that ping and fps are a factor as well. Since you brought up strategy, maps having unlimited ammo, are far different then the same map with a .ent file to limit ammo and pre-set guns ( to create balance), sooooo how they use the gun ( spray or not to spray) does matter
$.02
...............SadWk
-
i would charge money for the 3rd if you factor in relatives.I mean a good amount of dp are young people and have absolutly no money. As someone with no money i wont register if it costs money.
-
good idea but more confusing than math ever was
i got it untill i rembered
ITS SUMMER NO NEED TO THINK
hehe good idea
-
I have a question. Would your overall kill/death and skill points show up when you connect to a server? If it does it will stop the score obsessed people who always reconnect to reset their score like other people care what it is.
-
I have a question. Would your overall kill/death and skill points show up when you connect to a server? If it does it will stop the score obsessed people who always reconnect to reset their score like other people care what it is.
A very good point. Time in game should be a large factor. You must take the whipping with the ownage. Something is lacking.
Here is the quagmire, good players suffer a little to show alot. Good players owning need to digress in weapons when it regarding public play. The above is a equal player for equal play.
-
But when is there every really any kind of "strategy" in public servers? It's pretty much non-existant in that regard. The way the formula I posted works is that it makes it _more_ difficult to increase/decrease your rating the further you are away from the pre-set norm. So, if the norm is reduced, so too will the spread.
Clearly though, someone who has 1,000 kills and 100 deaths should have a higher rank than someone with the same ratio at a lower level (ie, 100 kills and 10 deaths). Maintaing a K/D ratio should be rewarded. An extreme case to look at would be someone with 30 kills and 2 deaths, compared to 3000 kills and 200 deaths. The ability to _consistently_ perform at some rate is definately better. You can see the trend toward a non-linearcurve when you look at the 50000 test compared to the 100000 one. You also have to consider that the simulation was distinct for each case, so the actual level of players killed/etc could differ greatly.
Accuracy definately plays a huge role in the game. But the spraying tactic is a legitimate strategy, as far as i'm concered. I mean, this is paintball... not some instagib rail mod. If people will just run into a stream of paint right in front of them, then so be it! I don't find myself being "randomly killed by luck" when I go play in a public server, but maybe that's because I know what I'm doing. I don't run head first into a paint stream right in front of me. If I did, I wouldn't consider the guy lucky. If I thought along those lines, pretty much any time I died would have been due to luck.
"You're lucky I couldn't move my mouse fast enough to kill you, otherwise I wouldn't have died."
"You're lucky I diddn't see you hiding behind that crate, otherwise I would have killed you first."
...etc
The main problem is map design. The majority of maps encourage this kind of speedball-ish style of paintball. It seems that you're much more in support of the recreational.. huge map style. They're both different.. and both part of DP (and real life paintball). From my observations it seems that people are drawn to the more rapid style of speedball, perhaps from the increase in action.. or even simplicity.
+1 for the idea of an approved maplist (really more of a concern for matchplay rather than public)
Registration flooding aside, it'd suck for 50% of the community to have a lower rating than they started out with. << Is the goal to accurately represent "skill", or to group everyone in the bottom 50% together and rate the rest?
Let's say everyone starts at a rating, and can only go up? Then, invariably... there is going to be a bundle of people who can't break out from the base rating. They'll just fluctate back and forth at the bottom with all the others of greater or lesser skill within that bottom X percentage. Maybe a way of countering the idea of dropping below your initial rating.. is to not set a default (at least not publicily). Then, perhaps after X total kills and deaths, the rating is publicily viewable (so that, visibally -- you started at that default rating..)
-
But when is there every really any kind of "strategy" in public servers? It's pretty much non-existant in that regard]
LOL He is correct, q2 gameplay and teamwork is an oxymoron. Unless u plan ahead. How often is that done? any more? Alas that is why everyone should learn the objectives and have defined objectives by spawn points and or spawned weapons.
]
*this is the best point I have ever made :) weee for meee
-
What I'd like to have, ideally, is a rating system that goes from 0.0 to 1.0 (or 0% to 100%), like a percentile rating. You'd start at 0 (to discourage people from re-registering), but it would only take a couple times playing to work your way to ~.5 (if you're an average player). Like you'd start out with a pseudo k/d ratio of 0/20 (it wouldn't show anywhere, it'd simply be hardcoded into the algorithm).
An extreme case to look at would be someone with 30 kills and 2 deaths, compared to 3000 kills and 200 deaths.
But keep in mind that it's not a simple k/d ratio used for calculating skill. You'd have to go 30/2 against high-ranking players to significantly impact your rank, which is unlikely to happen, but having a handful of hardcoded deaths will quickly handle those extremes anyway. By the time you hit around 1000 kills, your ranking should be leveled out (assuming you and everyone else plays at the same skill level). Some of us only have a couple hours a week to play and that's only enough to get a couple hundred kills or so... 10 years to get 100000 kills.
-
Post removed
-
You should also put something in there that shows if you're running and jumping because it takes less skill to run and jump then it does to play while just walking. Also, while you're at it you should put into effect if they're crouching or not.
-
You should also put something in there that shows if you're running and jumping because it takes less skill to run and jump then it does to play while just walking. Also, while you're at it you should put into effect if they're crouching or not.
WHat you make sense :)
-
*cough* http://www.planetquake.com/gibstats/ *cough*
good idea, i had that system running but its a lot of work with all the newbies and all the players changing their names constantly, thus only making a rating on a dedicated community matchserver would be good.
-
..or if there was a global nameserver/etc.
-
Gibstats is more geared towards a Q2DM or variant style of game. It provides good statistical analysis of statistics after the maps have been played. It doesn't provide a very practical way of automatically updating or providing real-time statistics. Also it doesn't output the statistics out in a fashion that suits the game. Another problem is the funnames within the game that aren't very human-friendly when logged by pball.
I agree lots with what Dirtytaco had to say. As well I definitely don't think global stats should be implemented initially. It would be more suitable if bundle it with a server release that does an overhaul of the game (for example - restricting public server play of "non-compliant" maps). Right now there is full stats support of the game. There has been since before I started playing, which is longer than most who frequent this forum or play in the public servers.
It's too bad that there haven't been as many development efforts within the community to create a better stats program but that comes with the size of the community and the interest of stats within the community.
On that note, I have a work stats system that requires two experienced perl developers to overview and catch most of the performance downfalls of my code (one to review/change and another to agree ;). This would be ideal and not very realistic and there is still a lot of work required to make it deployable (especially in the Win32 environment).
Fortunately the system is entirely database driven and can be configured for local/remote databases easily, there is a simple quickly put together front-end that made its way into the eR33t web page previously, but finding someone to create a front-end is much easier.
Blitz's suggestions are very similar to the calculations in my present system, but that's because most were as result of our previous collaborations when I was designing the system. There are still rooms for improvement, for example yesterday we did identify some issues while we were using a small sample of previously captured log data, so there are still some room for tweaks.
-
Right. Stats are only accurate if you have some kind of global ID system.
Having stats only for matches is an interesting idea. It would certainly be easier to regulate, and might promote more clan play, but stats might not be the best incentive for clan play. By that I mean it wouldn't be good to have people playing in clans solely because they're motivated by stats.
One thing that might be interesting is to have different skill categories instead of one generic "skill number." For example, shooting people near your flag and shooting flag carriers would count toward defensive points and grabs, caps, and shooting people near their base would be offensive points. And you could have accuracy, efficiency, etc. as well.
-
Right. Record what direction they're facing too, and their Z axis value. It's easier to jump when you're lower than 0, so it's easier to kill.
:P
-
if your are going to do it in matches people might decide to match the noob clans to build up stats so they dont look bad. So the skill rating as first thoughtout would play a role in the matches. So people would be a little more motivated to play good clans and try their best if they care a lot for their rating. Pub is a bad idea anyway because i myself pgp the whole map sometimes cause im bored. I tend not to play well when im bored...Pub is boring...
-
Post removed
-
Post removed
-
lol
-
This is random, but you'll notice that the timestamp on jits' post is AFTER mine, even though in comes before in order. Weird.
-
lol
-
eiii: not for me...
ZeroLegend: The whole point of having statistics set up this way is so that the ranking of who you're matching determines your change ranking. If you match a low-ranking newbie clan, you probably won't be able to increase your ranking much if at all, however, if you lose to them, it will significantly decrease your ranking and increase theirs. Well, maybe not significantly, but more significantly than matching a clan of equal or higher ranking.
-
thats sounds nice
-
Wow... This is a great idea...
-Termin8oR