Results 1 to 6 of 6

Thread: Help me think, HaloRank.com (statistics system)

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #1

    Lightbulb Help me think, HaloRank.com (statistics system)

    As most of you know, I've been working closely with Goemitar/Omega, known from apps like "Gandanur" and "version changer", towards building a HaloPC/CE statistics system on HaloRank.com for quite sometime now.
    Regardless of the time frame and the amount of iteration I've been through to improve my web-dev abilities I'm determined to finish this system once and for all. The aim is by the end of this summer and thus I'm scripting on a daily basis towards a release, as there is still much to be done.

    However there are times (like now), where I need opinions and feedback from people that are not afraid of providing ideas, good critics and solid arguments. So hopefully you smart monkeys from modacity are willing to put some thoughts in and help me on the way as I pose questions and demos.
    "Try" to keep it civil and I'm sure we'll go a long way.

    Before people start suggesting all kinds of stuff I thought it might be wise to point out a few things on how the system works as well as what is tracked, instead of having to disappoint people as they post ideas or comments.

    Gandanur sends out 6 HTTP Requests a minute towards the HaloRank server when statistics is enabled.
    Which comes down to 120 logs for a 20 minute game.
    Put all these logs together and you have a good understanding on the game flow and how the game progressed.
    As for the information that is send:

    Player Info:
    • name
    • kills
    • deaths
    • assists
    • score
    • team
    • hash
    • ip
    • hash validation (determine if someone is pirate yes or no)
    • Killing Streak Counter
    • Suicides
    • Betrayels
    • Flag Returns
    • Flag grabs
    • Racelaptime
    • Ping of player
    • Max killing streak during a game
    Multi-Kills:
    • double kills (2x)
    • triple kills (3x)
    • killacular (4x)
    • killfrenzy (5x)
    • killtrocity (6x)
    • Killimanjaro (7x)
    • killtastrophe (8x)
    • killpocalypse (9x)
    • killionaire (10x) (highest possible)
    Sprees
    • killing spree (5 kill spree)
    • running riot (10 kill spree)
    • overkill (15 kill spree)
    • rampage (20 kill spree)
    • Untouchable (25 kill spree)
    • Invincible (30 kill spree)
    • Inconceivable (35 kill spree)
    • Unfrigginbelievable (40 kill spree)
    Server Info:
    • server name
    • ip
    • port
    • map name
    • game type (CTF/Slayer/Oddball/King/Race)
    • game type name
    • game stage (playing/gameend)
    • game flags (get all gametype settings from here)
    • player flags (get all player settings from here)
    • Halo Game (CE or PC)
    • frag limit (maximum score)
    • max players
    Team Info:
    • team game
    • score red
    • score blue
    I will point out that before the next release no more statistics will be added! So please don't suggest all kinds of stuff that's not in this list. The goal for now is to release a statistics system that provides as a platform for people to play HaloPC/CE games on. After the first release, if things go well, I hope to get more people/devs/apps involved to expand the foundation.

    Regarding security/ban-able servers/statistics boosting.
    In order to sign up for an account you'll need a legit Halo key, without a legit Halo PC key your account will not be activated. (this information is all gathered while you play through server verification from Gamespy, thus no CD Key input required).
    Once a player account has been verified he/she is able to request a server key in order to set their server up in order to be allowed to send statistics to HaloRank.com, no server key = no tracking.
    Bad behavior is picked up within seconds, thanks to 200+ checks on the logs and is banned immediately.
    So people might want to reconsider if a permanent ban on their legit key is worth the effort of breaking a system.
    If you have any more questions I'll answer them as we go.

    Now for the part where I need you guys.
    As some of you might have noticed I show cased a post-game graph yesterday on halomaps and halomods.
    Which looks like the following:
    Click image for larger version. 

Name:	multi_player.png 
Views:	349 
Size:	96.2 KB 
ID:	2761
    and can be demo tested here:
    http://dev.halorank.com/chart/chart_player.php

    Today while bug fixing a few minor issues with the data that goes in to these graphs, I came across a game that lasted a little over 1 hour. When displaying all graphs of all players during that game it turned out you get something like this:
    Click image for larger version. 

Name:	madness.png 
Views:	244 
Size:	153.6 KB 
ID:	2762
    and can be demo tested here:
    http://dev.halorank.com/chart/chart_massive.php
    (Pretty massive, indeed)

    As I was trying to merge player lines that belonged to a single player, in other words, players which have the same hash and player name during a game, which JOINED, LEFT and RE-JOINED the game.
    Like I did here for a player called "JJ".
    http://dev.halorank.com/chart/chart_JJ.php

    I noticed a problem with the "pretty massive graph", it comes down to the source of all problems, PIRATES.
    Basically I can not separate pirates from pirates for the JOIN, LEFT, RE-JOINED actions in the graph, so there is a chance (as in the massive graph) that a certain player (example: "S2H-Lucy") shows up multiple times in the graph due to a refresh of hash.

    Now I have 3 options, but I'm not sure which one to choose.

    Option 1: Ban all pirates from having a line in the graph, leaving only legit players and quite an empty graph.
    (I can ban pirates from having any stats, but I doubt the legit players like to see half empty tables)
    Option 2: Merge all players with the same hash (or even all pirates) under a single line, downside pirate player lines can disappear for certain players/no way of telling pirate lines apart.
    Option 3: Leave the chart as it is in the Massive chart but by default hide all pirates lines.

    What other types of graphs would you like to see? (currently only kills per players with medals)
    Have a browse through this page for ideas.
    http://www.highcharts.com/demo/line-basic/dark-green

    Second problem:
    I'm currently working on "Fun Ranks" meant for public games, with Fun ranks I mean exp system as known from halo Reach where you get cR/exp as you kill/assists/make sprees and such and slowly lvl up.
    This is purely used for fun and should give anyone a feeling of satisfaction.
    In case you're wondering for skilled ranking (matches/scrims) I'll use TrueSkill, but that's for a bit later.

    However how much cR/exp should be used for each lvl?
    Currently I have a very basic system which just takes the level requirements from Reach.

    And how much exp/cR should be assigned for what actions?
    Currently have the following as a simple test so I can at least keep building:

    Exp/cR points


    Flag Cap +8
    Slayer Point +0
    Oddball Sec +0
    King Sec +0
    Lap Complete +8
    Kill +4
    Assist +6

    Multikill use a small formula ((n-1)+2*n)
    doublekill (n=1) so +2
    triple (n=2) +5
    killtac (n=3) +8

    Spree use a small formula ((n-1)+5*n)
    killingspree (n=1) +5
    runningriot (n=2) +11
    etc.

    As you might have noticed I could award points for other things as well, but the question is how much/little?
    Also with flag cap, should only the person that captured the flag be awarded, or the whole team?
    (Keep in mind we track who grabbed the flag and who capped the flag)
    Maps multipliers, gametype settings, team size, amount of pirates ingame, time a player played ingame, betrayels, ranks of the players playing, etc?

    Basically I'm hoping we can come up with a fun system together through this open discussion as a community as it's just too much for me to sit down behind my desk and come up with it all.
    *Note fine tuning during Beta testing is a must, but just an initial system would give us some room to work with.

    So much that goes into this, hopefully when you are reading this you'll share some ideas or raise some questions.
    I highly appreciate it!

    EDIT 2012-Apr-19:
    Looked at existing exp tables within games I came up with the following for lvling in HaloRank.
    It basically means you need 1 million exp points to get a fun rank of lvl 50.
    Please let me know what you think.

    LVL TOTAL EXP EXP NEEDED RANK
    1 0 600 Recruit
    2 600 1200 Private
    3 1800 1900 Corporal
    4 3700 2500 Corporal Rank I
    5 6200 3100 Sergeant
    6 9300 3900 Sergeant Rank I
    7 13200 4600 Sergeant Rank II
    8 17800 5400 Warrant Officer
    9 23200 6200 Warrant Officer Rank
    10 29400 7000 Warrant Officer Rank
    11 36400 7900 Warrant Officer Rank
    12 44300 8800 Captain
    13 53100 9700 Captain Rank I
    14 62800 10600 Captain Rank II
    15 73400 11600 Captain Rank III
    16 85000 12500 Major
    17 97500 13500 Major Rank I
    18 111000 14500 Major Rank II
    19 125500 15500 Major Rank III
    20 141000 16500 Lt. Colonel
    21 157500 17400 Lt. Colonel Rank I
    22 174900 18500 Lt. Colonel Rank II
    23 193400 19400 Lt. Colonel Rank III
    24 212800 20400 Commander
    25 233200 21400 Commander Rank I
    26 254600 22400 Commander Rank II
    27 277000 23300 Commander Rank III
    28 300300 24300 Colonel
    29 324600 25200 Colonel Rank I
    30 349800 26100 Colonel Rank II
    31 375900 27000 Colonel Rank III
    32 402900 27800 Brigadier
    33 430700 28700 Brigadier Rank I
    34 459400 29500 Brigadier Rank II
    35 488900 30200 Brigadier Rank III
    36 519100 31000 General
    37 550100 31700 General Rank I
    38 581800 32300 General Rank II
    39 614100 33000 General Rank III
    40 647100 33500 General Rank IV
    41 680600 34100 Field Marshall
    42 714700 34500 Hero
    43 749200 35000 Legend
    44 784200 35400 Mythic
    45 819600 35700 Noble
    46 855300 35900 Eclipse
    47 891200 36100 Nova
    48 927300 36300 Forerunner
    49 963600 36400 Reclaimer
    50 1000000 0 Inheritor
    Last edited by Sean Aero; April 19th, 2012 at 04:01 AM.
    Reply With Quote

Thread Information

Users Browsing this Thread

There are currently 3 users browsing this thread. (0 members and 3 guests)

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •