Author Topic: Global Stats  (Read 11853 times)

jitspoe

  • Administrator
  • Autococker
  • Posts: 18802
Global Stats
« on: March 03, 2004, 06:47:03 AM »
This will probably take a while to implement, but I thought I'd start throwing out some ideas.  I'm thinking of setting up  some global player statistics that would be viewable from this page.

The basic concept:
- You sign up with a name and password.
- Your name will be reserved on servers.
- When you play, you login, and the server interacts with some type of web database for login verification.
- General statistics (kills, deaths, caps, accuracy, etc.) are recorded.
- Player rankings are done according to the rankings of who you kill and who you're killed by.  Kills/deaths resulting from players not logged in have no effect.
- You can view a page to see the rankings/stats of each player (and possibly view these stats in-game as well).

None of this is set in stone.  That's just what I came up with.

The hard part is implementation:
For the accounts, I was just thinking of expanding this bboard a bit.  New account creation is already implemented, and if you already have an account, you can just log into a server.

For statistics, I was thinking of going ahead and keeping track of basically everything:
total kills
total deaths
total autococker shots fired / hit (accuracy)
...
total grenades thrown/hit
total deaths by autococker, mag, ... pgp, grenade, suicides
total grabs
total caps
total time / kills (efficiency)
kills that actually count (other logged in users)
deaths that actually count
autococker kills that count
...
autococker deaths that count
...
grabs when logged in player present on opposing team
caps " "


I'm not sure how to do the ranking equation just yet.  I was thinking maybe the rank of player1 would be:
(player2_rank*kills_of_player2 + ... + playerN_rank*kills_of_playerN) / (deaths_by_player2/player2_rank + ... + deaths_by_playerN/playerN_rank)
If the denominator is less than 1, it is set to 1 (so deaths can never increase your ranking).

I need a foolproof equation, so someone doesn't just create a fake account, kill it a whole bunch of times, and increase ranking.  Flag captures should probably be worked in there, too.

I was thinking it'd be cool to have different titles on the statistics page, like: "Most Accurate," "Most Efficient," "Most Deadly," "PGP Master," "Suicidal Maniac," etc.  Heh, I was thinking of "Teamkilling Bastard," but I don't want anybody striving to be that!

IronFist

  • Autococker
  • Posts: 1304
_
« Reply #1 on: March 03, 2004, 09:34:55 AM »
Post removed
« Last Edit: July 25, 2010, 10:08:54 PM by IronFist »

jitspoe

  • Administrator
  • Autococker
  • Posts: 18802
Re: Global Stats
« Reply #2 on: March 03, 2004, 10:55:43 AM »
Well, there are certainly a lot of "what ifs" that go into this.  Those are what make it really difficult.  What if someone sets up a local server and tries to make falsified records?  Do I limit it to just public servers?  What if the admins can't be trusted?  Knowing the immaturity in gaming communities these days, "what if's" are really, "What happens when?"

I would have to set up some kind of encryption so people don't manually try to add statistics to the web script.  No guarantee that can't be cracked.

Some other areas of concern would be:
Cross-platform network coding.  Not a huge deal; I just don't know how to do it yet.
Storing the statistics.  Keeping statistics as detailed as I want could lead to really large files.  Hopefully it won't get too out of hand, but the space necessary for the "who killed who" statistics will increase exponentially as the number of players increases.
Funnames, clan tags, etc.  While I think it would be good to force people to stick with one name (I hate it when people have to change names every half hour), things like colors, extended characters, and the like would not work well on the web page.  I was thinking of having some kind of translation thing which would translate extended characters to the closest printable characters and remove formatting.  For clan tags, I was thinking it would be cool to have official clan setups where you'd have to be logged in and be a registered member of a specific clan to use its tag, then you could use the name with or without the tag.

It might be possible to make matches completely automated.  If a clan leaders log in and execute some sort of start match command (maybe using 3 map names as parameters), the server gives them login and sets a password.  After the match takes place, the server uploads the winner and stats to the web database.

Then we could have clan rankings similar to those of the player rankings.  Make matches and clans actually have a meaning, because you would be ranked based on which clans you play, and people won't be able to create and disband clans every other day.

Hmm, another thing that might help the community is to have some sort of player voting system, so if players act up, you can vote against them for poor conduct.  You could vote in favor of players as well, if you think they're a good sport (or maybe just plain good).  Maybe have a "most popular" category. :)  This would be more for admins, though.  If players have really bad ratings, it might be a sign that they need to be banned.

Eiii

  • Autococker
  • Posts: 4595
Re: Global Stats
« Reply #3 on: March 03, 2004, 03:17:49 PM »
how would the rankings work? i dont really understand them...

snipperdag

  • PGP
  • Posts: 10
Re: Global Stats
« Reply #4 on: March 03, 2004, 03:44:47 PM »
Sounds like your looking for some kind of custom aestats :)

http://www.planetquake.com/aeons/aestats/

Its served me well over the years, maybe they can assist in some way. :)


Snipperdag

jitspoe

  • Administrator
  • Autococker
  • Posts: 18802
Re: Global Stats
« Reply #5 on: March 03, 2004, 09:56:25 PM »
Stats are the easy part.  I can just have the game dll keep track of those.  No log parsing required.

FourthX

  • Developer
  • 68 Carbine
  • Posts: 260
Re: Global Stats
« Reply #6 on: March 04, 2004, 11:22:05 AM »
How about seperating login name with name used?

RoyalBlood

  • VM-68
  • Posts: 199
Re: Global Stats
« Reply #7 on: March 04, 2004, 08:05:20 PM »
That would be really awesome.  Stats are fun to look at and the more the merrier.  

jitspoe

  • Administrator
  • Autococker
  • Posts: 18802
Re: Global Stats
« Reply #8 on: April 07, 2004, 07:27:41 PM »
FourthX: I thought about that, but I'd really like for people to use the same name everywhere.  It's annoying when people's name on IRC, the bboard, AIM, in-game, email, etc. are all different.  At least this way I could force the bboard and game name to be the same. :)

RoyalBlood

  • VM-68
  • Posts: 199
Re: Global Stats
« Reply #9 on: April 07, 2004, 08:34:53 PM »
I completely agree jitspoe.  I cant stand when people play as a different name than what they use on IRC and what they use on the forum.  They are all different components to the  same exact thing, use the same darn name!  I mean some people cant even use the same name just on IRC.

oddjob

  • VM-68
  • Posts: 110
Re: Global Stats
« Reply #10 on: April 08, 2004, 03:51:29 PM »
I'm amazed how you stick with so much DP coding jit, nice job  


haha  you can do alot when you dont have a job :)

Anrkist

  • VM-68
  • Posts: 103
Re: Global Stats
« Reply #11 on: April 08, 2004, 04:27:24 PM »
Why would anyone care about someone changing thier name.. how does it effect someone else ? Seems a tad facist to me =p

Anyways.. the rest of the stuff sounds  cool to me

jitspoe

  • Administrator
  • Autococker
  • Posts: 18802
Re: Global Stats
« Reply #12 on: April 08, 2004, 05:28:29 PM »
A name is how you identify people.  If they constantly change it, how do you know who's who?

RoyalBlood

  • VM-68
  • Posts: 199
Re: Global Stats
« Reply #13 on: April 08, 2004, 07:21:11 PM »
Ahem, preach it brother Jitspoe.  Its ok if after a while you want to change your name.  But then once you do change it, you should stick to the new one or not change it at all.  Its just lame to constantly change your name.  You lose a sense of identity.  You lose any respect you had (assuming you had any to begin with).  And its shady.  Makes you seem like you have something to hide or are up to no good.  And its just plain lame  ;D

Excalibur

  • 68 Carbine
  • Posts: 492
Re: Global Stats
« Reply #14 on: April 08, 2004, 10:58:58 PM »
sometimes old names get bored you know what you thought was a cool name 5 years ago just is not cool any more. you muture so you change your name. but that name just dont work right so you change it again and again looking for that name you can use for the next 5 years till you look back and say that name is stupid now.

RoyalBlood

  • VM-68
  • Posts: 199
Re: Global Stats
« Reply #15 on: April 09, 2004, 08:50:28 PM »
Well thats why you should actually think about it before changing it.  Make sure you like it.  Its just a name.  Its just an identifier for you.  So if you are cool and respectable, the name will be too.  If you are lame though, no matter what name you use it will come to represent said lameness.

Excalibur

  • 68 Carbine
  • Posts: 492
Re: Global Stats
« Reply #16 on: April 09, 2004, 09:38:04 PM »
good point royalblood but what if when you were like 7 years old you made the name (poopmaster16) then when your 21 that name is just to stupid for a 21 year old to have. you should change it

jitspoe

  • Administrator
  • Autococker
  • Posts: 18802
Re: Global Stats
« Reply #17 on: April 09, 2004, 11:06:23 PM »
Well, if this system stays in place for 13 years, I'm sure we can find a way to accommodate people with poor name choices. :)

XtremeBain

  • Developer
  • Autococker
  • Posts: 1470
Re: Global Stats
« Reply #18 on: April 14, 2004, 04:15:34 AM »
I quickly ripped this straight from my dpstats parser.

Code: [Select]
%gunMultiplier = (      "pgp", 2,
                 "Trracer", 1.8,
                 "VM68", 1.6,
                 "Stingray", 1.5,
                 "SpyderSE", 1.4,
                 "Carbine", 1.2,
                 "Automag", 1,
                 "Autococker", 0.8,
                 "PaintGrenade", 0);


## $players[$playerID{$player}][$playerDB{$weapon}] is number of kills for killer with weapon used in current kill
## $players[$playerID{$player}][$playerDB{"k"}] is number of kills player currently has(including this one)
## $tSkill is the eliminated player's skill rating; $pSkill is the killer's skill rating
## $players[$playerID{$player}][$playerDB{"skill"}] and $players[$playerID{$target}][$playerDB{"skill"}] represent the players' skill ratings

                 $usageBonus = 2 - ($players[$playerID{$player}][$playerDB{$weapon}] / $players[$playerID{$player}][$playerDB{"k"}]);
                 $skillChange2 = ($tSkill / $pSkill) * 5 * $gunMultiplier{$weapon};
                 $skillChange = $skillChange2 * $usageBonus;
                 $skillChange = int($skillChange);
                 $skillChange2 = int($skillChange2);
                 #Distribute skill changes
                 $players[$playerID{$player}][$playerDB{"skill"}] += $skillChange;
                 $players[$playerID{$target}][$playerDB{"skill"}] -= $skillChange2;


Hope this comes in handy.

jitspoe

  • Administrator
  • Autococker
  • Posts: 18802
Re: Global Stats
« Reply #19 on: April 14, 2004, 04:21:57 AM »
Thanks.