Users may have noticed that, as of lately, some graphics are showing some pretty odd results, with certain games shooting high up on the chart or some other games disappearing.
Contrary to popular belief, this is not a sign of the apocalypse, that the website or its database has been fucked up beyond recognition, or (and this is my favorite) that this is some kind of conspiracy to make a game “popular”/”unpopular” artificially. Instead, this behavior is due to the incorrect reading of (more or less) one day’s worth of data. It’s not an ongoing error; it’s something that happened once and now is already back to normal.
The problem is, with the way I render the graphics – doing an evened-out 7-day average plot, to dilute the effect of weekends – having invalid data for a single date is enough to make the plot lines pretty weird for almost half a month. So that’s what you’re seeing right now; given time, things will look like they looked before, with game averages back to their original positions.
It’s important to notice, though, that this problem has happened before; sometimes GameSpy’s website is inaccessible, or my own website is offline, or the data is corrupted. This causes data to be invalid. When that happens, the solution is easy: invalidate the data read on those specific days, and then have the graphics be generated again. When generating the lines, invalid dates are actually ignored and the data they should have are interpolated from the two nearest valid dates. This is not accurate – of course, it’s just a mathematical guess – but it looks good enough.
For that, I have to go to the database and find the offending data and flag it down. This is not that complex – however, in this case, the problem is that I haven’t had the time to go inside the MySQL dungeons to find and fix the data as it’s some boring work that requires concentration and patience. Truth is, I’ve been really busy for the fast few months due to college and work (there’s a bit more information here) so I had to neglect a bunch of updates and maintenance to this website.
This doesn’t mean it’s going down the gutter. The data is still being read the way it should. That is the most important thing. I just have to go and fix the data later; this will “fix” the graphics, including for the past few days where it shows invalid lines.
Also, some of the graphics are also not being generated anymore; specially the graphics for mods. This is due to the way cronjobs are being ran now in my hosting provider (DreamHost). It’s a lot better and easier to maintain, but I still have to finish setting up the new cronjobs under the new system.
Really, this is just a quick, honest, unreviewed post to let people know what’s up: graphics are weird, but data is being read without a problem (save for the occasional issue that has to be fixed later, which is to be expected). I’ll fix stuff as soon as possible; they’ll be retroactive.
Update: at long last, I’ve fixed the erratic data which created those spikes on the graphics. It turns out it had some crazy numbers for Unreal Tournament and Unreal Tournament 2004 – in the millions, while both games ever go from more than a couple thousand players. Since two different games done by the same developer (and probably using nearly the same query protocol) were at fault, this was probably due to some problem in GameSpy’s server data reading.
In detail, the offending problems were as such: between june 28 and and july 4 of 2008, the mod “Tournament Deathmatch” of Unreal Tournament had those huge numbers registered. This contributed to the final (game) numbers being that high. At the same time, the mod “Frenzy” for Unreal Tournament 2004 – which never even shows on the stats! – had huge numbers between june 29 and june 30; the mod “xDeathMatch” had its numbers jinked on the same dates; and the mod “xBombingRun” had its numbers go nuts on july 1 and july 2.
I have deleted those entries and filled the gap with interpolated data from valid days, which seems to be pretty accurate since both games since to have a small but very stable following. Graphics will self-update later tonight.