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:
Multi-Kills:
- 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
Sprees
- double kills (2x)
- triple kills (3x)
- killacular (4x)
- killfrenzy (5x)
- killtrocity (6x)
- Killimanjaro (7x)
- killtastrophe (8x)
- killpocalypse (9x)
- killionaire (10x) (highest possible)
Server Info:
- 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)
Team 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
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.
- team game
- score red
- score blue
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:
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:
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
Bookmarks