Digital Paint Discussion Board

Paintball 2: The Game => Paintball 2 Discussion => Topic started by: Blitz on August 11, 2005, 07:41:58 PM

Title: Global Statistics Experiment
Post 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 NameSkill Level
Mr. Elite10.0
Stewie8.0
Bart_Man7.0
Mr. Mediocre5.0
Homer3.0
Johny NotSoGood2.0
Johny's Twin2.0
super newbie1.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 NameSkill RatingTotal KillsTotal DeathsK/D Ratio
Mr. Elite15775095.55556
Stewie156450124.16667
Bart_Man155849182.72222
Mr. Mediocre152729171.70588
Johny NotSoGood145321460.456522
Johny's Twin146921370.567568
Homer146619400.475
super newbie13906660.0909091

Now, for a larger simulation (value = 5000)
Player NameSkill RatingTotal KillsTotal DeathsK/D Ratio
Mr. Elite2128554965.77083
Stewie19794741523.11842
Bart_Man19644701602.9375
Mr. Mediocre17093872581.5
Johny's Twin11882044150.491566
Homer11862474550.542857
Johny NotSoGood11661854220.438389
super newbie691506130.0815661

simulation length = 50000
Player NameSkill RatingTotal KillsTotal DeathsK/D Ratio
Mr. Elite354255309975.54664
Stewie3043485814243.41152
Bart_Man2873468616812.78763
Mr. Mediocre1532395025841.52864
Homer647238042950.554133
Johny NotSoGood608210844190.477031
Johny's Twin549199843980.454297
super newbie10854662580.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 NameSkill RatingTotal KillsTotal DeathsK/D Ratio
Mr. Elite36361110719725.63235
Stewie3202978427303.58388
Bart_Man2893947934002.78794
Mr. Mediocre1622779052501.48381
Homer810458185330.536857
Johny NotSoGood565414688980.465947
Johny's Twin544410988810.462673
super newbie441123124550.0901646

Here is an example of a much more even spread, the skill level ranges from 4.5 -> 5.5 (sim. length = 100000)

Player NameSkill RatingTotal KillsTotal DeathsK/D Ratio
Mr. Mediocre1510579254551.06178
Johny NotSoGood1509560055751.00448
Stewie1505515460090.857713
Mr. Elite1505629750371.25015
Johny's Twin1500605152011.16343
super newbie1496502362270.806648
Bart_Man1496543157560.943537
Homer1484554556330.984378
Title: Re: Global Statistics Experiment
Post by: Blitz on August 11, 2005, 07:57:48 PM
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.
Title: Re: Global Statistics Experiment
Post by: loial21 on August 11, 2005, 08:16:53 PM
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
Title: Re: Global Statistics Experiment
Post by: jitspoe on August 11, 2005, 08:23:23 PM
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. :)
Title: Re: Global Statistics Experiment
Post by: Blitz on August 11, 2005, 08:37:50 PM
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).
Title: Re: Global Statistics Experiment
Post by: ZeroLegend on August 11, 2005, 08:51:49 PM
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
Title: Re: Global Statistics Experiment
Post by: Blitz on August 11, 2005, 09:02:39 PM
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...
Title: Re: Global Statistics Experiment
Post by: ZeroLegend on August 11, 2005, 09:10:21 PM
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.
Title: Re: Global Statistics Experiment
Post by: loial21 on August 11, 2005, 09:15:23 PM
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.

Title: Re: Global Statistics Experiment
Post by: jitspoe on August 11, 2005, 09:19:47 PM
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.

Quote
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.

Quote
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.
Title: Re: Global Statistics Experiment
Post by: Sad|Wk on August 11, 2005, 09:27:22 PM
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
Title: Re: Global Statistics Experiment
Post by: ZeroLegend on August 11, 2005, 09:34:11 PM
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.
Title: Re: Global Statistics Experiment
Post by: SdC.Captin on August 11, 2005, 09:49:49 PM
good idea but more confusing than math ever was


i got it untill i rembered

ITS SUMMER NO NEED TO THINK


hehe good idea
Title: Re: Global Statistics Experiment
Post by: ZeroLegend on August 11, 2005, 10:40:56 PM
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.
Title: Re: Global Statistics Experiment
Post by: loial21 on August 11, 2005, 11:08:47 PM
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.
Title: Re: Global Statistics Experiment
Post by: Blitz on August 12, 2005, 12:24:11 AM
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..)
Title: Re: Global Statistics Experiment
Post by: loial21 on August 12, 2005, 12:41:08 AM
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
Title: Re: Global Statistics Experiment
Post by: jitspoe on August 12, 2005, 01:38:23 AM
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).

Quote
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.
Title: _
Post by: Dirty_Taco on August 12, 2005, 01:48:34 AM
Post removed
Title: Re: Global Statistics Experiment
Post by: James on August 12, 2005, 02:03:01 AM
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.
Title: Re: Global Statistics Experiment
Post by: loial21 on August 12, 2005, 02:06:20 AM
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 :)
Title: Re: Global Statistics Experiment
Post by: b00nlander on August 12, 2005, 02:16:38 AM
*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.
Title: Re: Global Statistics Experiment
Post by: Blitz on August 12, 2005, 02:51:47 AM
..or if there was a global nameserver/etc.
Title: Re: Global Statistics Experiment
Post by: XtremeBain on August 12, 2005, 03:13:45 PM
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.
Title: Re: Global Statistics Experiment
Post by: jitspoe on August 12, 2005, 03:54:40 PM
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.
Title: Re: Global Statistics Experiment
Post by: Eiii on August 12, 2005, 06:43:25 PM
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
Title: Re: Global Statistics Experiment
Post by: ZeroLegend on August 12, 2005, 09:25:20 PM
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...
Title: _
Post by: Dirty_Taco on August 13, 2005, 03:07:47 AM
Post removed
Title: _
Post by: Dirty_Taco on August 13, 2005, 03:14:33 AM
Post removed
Title: Re: Global Statistics Experiment
Post by: ZeroLegend on August 13, 2005, 10:33:04 AM
lol
Title: Re: Global Statistics Experiment
Post by: Eiii on August 14, 2005, 02:04:23 AM
This is random, but you'll notice that the timestamp on jits' post is AFTER mine, even though in comes before in order. Weird.
Title: Re: Global Statistics Experiment
Post by: agent-hwk on August 14, 2005, 12:57:35 PM
lol
Title: Re: Global Statistics Experiment
Post by: jitspoe on August 14, 2005, 04:53:10 PM
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.
Title: Re: Global Statistics Experiment
Post by: agent-hwk on August 14, 2005, 07:45:55 PM
thats sounds nice
Title: Re: Global Statistics Experiment
Post by: Termin8oR on August 17, 2005, 05:53:17 PM
Wow... This is a great idea...

-Termin8oR