ngStats exPlained



By: Andrew ":8:Quetzal" Plucker

With the release of Unreal Tournament, many of us were introduced to a new tool for tracking and recording our online gaming exploits: ngWorldStats.  Suddenly, many of our online triumphs and defeats were being recorded for all to see and compared against our colleagues'.  Every weapon we picked up, every player fragged, every suicide committed was added to a monstrous database gathering information from servers across the world.  ngWorldStat's ability to rank players based on online performance quickly made it a source of pride to some and frustration to others.  Players who found their names in the 100th percentile became the targets of admiration and attack.  Meanwhile, some of those who struggled to climb the ladder to statistical greatness berated ngWorldStats' shortcomings and inconsistencies, real or imagined.

Whether you love them, hate them, or plead indifference, ngWorldStats have become a part of Unreal Tournament and online gaming. Its inclusion in UT has made http://ut.ngWorldStats.com/ a weekly stop for many gamers and has even produced the term "Stat Whore" (a moniker around the level of "Spawn Camper" in the pages of vitriolic gamer-speak).

So just what are ngWorldStats?  Who keeps them? How are they calculated?  And, why are mine so lousy?  These are the question we hope to answer, and we promise to keep the algorithms to a minimum.

What Are ngWorldStats?
NgWorldStats is designed to be a tool to enhance the online gaming experience by, essentially, adding another layer of competition.  It also serves as a mechanism for self-evaluation, a marker of online progress and a record of events within a game.

Once ngWorldStats has been successfully activated on a game server, almost every event that occurs during a game will be recorded and communicated to the ngWorldStats master server in the form of an HTML document.  An enormous amount of data is accumulated and then displayed on the ngWorldStats website  by game and by player.  Everything from who drew first blood, to how many health packs were picked up, to how many times a player committed suicide with a rocket launcher goes into the database.

Once the data has been collected, ngWorldStats uses it to try to rate a players ability and then to rank them against all of the other players in its database.  The results of these evaluations are then displayed on its site.  With any kind of system like this, there is going to be someone who ranks number 1 and another person who comes in last.  Though even the administrators of ngWorldStats admit that these rankings are only statistical indicators and not a measure of true skill, the implications of "I'm better than you " still exist.  This aspect of ngWorldStats has probably led to the divisiveness that sometimes emerges in when players are compared using these numbers.  It is probably best to remember that, while a person's ngWorldStats ranking probably offers a good general indication of a their skill level, the only way to find out who is really the better player is to boot up UT and have them go at it.

Who Runs ngWorldStats?
ngWorldStats are the creation of NetGames USA which describes itself as "A Computer Gaming Fun-Factor Enhancement Company".  Essentially, they are a group of network and software design engineers with an enthusiasm for games and a penchant for statistics.  Other than ngWorldStats, their products include ngStats (also included in UT) for recording local gaming statistics, and ngTCS (Tourney Control System), a product for recording ladder and tournament rankings.

To their credit, NetGames USA has proven to be responsive to gamers and their concerns over bugs in the system and possible abuses of ngWorldStats.  When gamers present proof that others have gained their high rankings by using lamer tactics (like the one instance of a player having a friend log onto their server, never pick up a weapon, and just let themselves be killed 132 times), the admins of ngWorldStats have set their ratings back to 500 (the rating that a new player is assigned).

Update: Shortly after this article was posted, Net Games USA was purchased by Microsoft.  So now, after you play that awesome match and go to check out how it improved you stats only to find that the game wasn't logged, it's one more thing you can blame on Microsoft. ;-)

ngUIDs and the Difference Between "Active" and "Enabled"
Everything you need to use ngWorldStats was included on the Unreal Tournament CD and installed with the rest of the application.  The only thing you need to do to utilize this tool is go into Options : Player Setup, and assign yourself a player name and an ngWorldStats password.  The next time you log on to a multiplayer game over the internet, you will be assigned an ngUID (User ID number).

It is important to note that any time you change either your player name or ngStats password, you will be assigned a second, unique ngUID and your stats will no longer all be accumulating in one place.  There is also a bug in ngWorldStats that you can run into if, during the same online session, you change your player name, then change it back.  Upon changing you name back, you will be assigned a separate ngUID for the remainder of that session, even if the player name and password match your original ngUID.  They are currently looking into fixing this little problem.

This can explain why, when logging on to the ngWorldStats site and doing a search on your player name, you get a listing of several ngUIDs.  The other reason could be that you have a common player name that others are using in which case you'll have to sort through the various ngUIDs until you find the one that's yours.

The other thing you need to look for if you want to make sure that your games are being recorded is a game server's ngWorldStats Status.  The current status of the server is noted in the UBrowser, and will be reflected by the terms "Enabled", "Active", "Disabled" or a blank space.

If the status is "Disabled" or blank , you can be sure that the games on this server on not being recorded.

If the status is listed as "Active", the server is running ngWorldStats version 1.2 (included in the PC version of the 413b patch) and will record all of the action. Unfortunately, the Mac version of ngWorldStats 1.2 has not been completed as of this writing.

If the server lists a status of "Enabled", then the server is still running an earlier version of ngWorldStats.  There is a problem with some of these servers reporting stats consistently, and sometimes will say they are "Enabled" when they are not.  You are generally pretty safe playing on these servers, but don't be surprised if your games don’t show up in your stats.

ngWorldStats Rating and Ranking Calculations
When you look up your own ngWorldStats, you will be faced with a deluge of information  in a large number of categories (for a explanation on all of these categories see ngWorldStats deFined).  In fact, detailed information on the last 100 games you have played will be available to you.  As impressive as all of this information can look, it can be a source of confusion if your current rank don't seem to match your displayed performance.  This could be because many of these stats have very little impact on how your ranking is actually compiled.

The model for ngWorldStats ranking system is based on the paper ""Rising from the Ranks : Rating for Multiplayer Games" by B. Kreimeier.  The paper was in turn based on the ELO chess rating algorithm.  For you math majors, you can read the paper itself here.

For the rest of us whose heads hurt at the mention of the word "algorithm", the system works like this:
 
  • Everyone who enters a multiplayer game has an ngWorldStats rating that has been calculated based on past contests.  The system assumes that the player with the higher rating is the better player.  An elite player will have a rating around 1000, and a truly awful player will have a rating much closer to 0.  New players are assigned a rating of 500.

  • After the game has been played, the action is separated by the system into a series of one-on-one battles. Every instance in which you killed another player or were killed by another player will be evaluated.

  • The algorithm is them applied to each of the above one-on-one confrontations and a calculation is made on whether the players' ratings will go up or down and by how much.
      
    If a player with a lower rating defeats a player with a higher rating, the lower rated player will get an increase in their rating, and the higher rated player will get a decrease.  The greater the difference in the initial ratings, the greater the increase and decrease.
    If a player with a higher rating defeats a player with a lower rating, neither players' ratings will be effected.
     

  • After all of the one-on-one calculations have been made and the ratings of all players have been increased or decreased by the requisite amounts, the players are ranked in numerical order based on their ratings.

So that's essentially it.  The higher your rating, the higher your ranking.  To get a higher rating, simply defeat players with a higher rating than you wile avoiding being killed by those with a lower rating.

Calculations in Team Games
There are probably a few more things that you'll want to know about the NgWorldStats system, especially if you play Capture the Flag, Domination, or other team games.

Your ratings for team games not only include the one-on-one calculation, but also a second calculation that is based on overall score.  For example, in a Capture the Flag game, where you did not win a one-on-one battle against a specific opponent, but achieved more points than them based on flag captures and flag kills, you would lose points based on the one-on-one comparison, but gain them back in the second calculation.

This second calculation is also effected by time played.  If one player has played twenty minutes and an opponent has only played five, before the comparison is made, the overall scores are  prorated to create an assumption of what the scores would be if they both played the same amount of time.

Some other things to note:
You cannot gain or lose more than 40 rating points in each game.
You must play at least 5 games and 60 minutes before you can be ranked.
In team games, you are not compared against teammates, only opponents.
Your ratings in one game type category will not effect your ratings in another.  So you don't have to worry about your lousy deathmatch stats adversely effecting your sweet CTF rating or vice versa.

Parting Thoughts
So you can see from this article where ngWorldStats strength and weaknesses lie.  While it probably does as effective a job as possible in providing a ranking system for gamers, it still can't capture some of the intangibles of the online gaming experience.  Compulsive snipers are going to have their ratings hurt as they usually don’t rack up the large numbers of kills necessary for a rapid rise in ratings.  And what about all of those times when you wear down a vicious opponent's health to next to nothing, just to have someone with an enforcer catch them from behind and finish them off?  That kill boosts their ranking, not yours.

Still, it does record an enormous amount of information that can be invaluable for evaluating your own performance.  It can tell you what weapon you have the most proficiency at and which one you kill yourself with more often than not.  I think this is where ngWorldStats really shines and is the most welcome addition to online gaming.




osX logo

















All content is © 2000, 2001, 2002 by [osX].
Contact me with any questions regarding this site.
Site logo by Dragon. Coding by think inkless.