Game logging & visualization system


spongeStats is a two-part system that allows players to generate a CSV file containing some info about every kill and death during the game. This allows some neat visualization of the data to reveal trends in map flow, similar to what Bungie's Halo 3, and Valve's TF2 stats.


The PHP class is relatively self-explanatory. Various samples are included. Include QWHeatMapper.class.php and create a new QWHeatMapper object to start. Although the code is not commented, the PHP library and file format are pretty easy to interpret.

The data is exported to your fs_savepath with the filename "Death Stat Log - Map - YYYY-MM-DD HH-MM-SS.csv" and the format is just as simple. The first row contains the mapname and timestamp separated by a dash. Below that are the data for the kills. From left to right: (linebreak is unintentional)

Killer Team , Killer X , Y , Z ,
Victim Team , Victim X , Y , Z , Time Left in ms , damageDef

samples.php is a CLI script intended to be invoked from the command line. The two command-line arguments are filename and graph type, which are one of any of the ones mentioned below. So in order to process test.csv with the deathsonly type, you would run:

php5 samples.php test.csv deathsonly


Each of these screenshots are easily recreated by invoking samples.php with the proper command line, and using the included testdata.csv. testdata.csv is a 1.6MB hunk of data generated via the ET:QW mod, totalling 13849 deaths across a period of about 10 hours and 28 rounds. This set of sample data consists of bot matches.



Huge thanks to Jaybird for creating the mod, putting up with my extremely annoying questions, and allowing me to release it under the same license as everything else. Go play his stuff when it gets released!

The former #etqwmods on QuakeNet for various suggestions and testing.


This mod is now pretty old and hasn't been updated in quite some time. It is now largely unsupported. Feel free to contact me through the contact page above with any questions, although I will be unable to fix bugs or add features.


All code is licensed under a Creative Commons Attribution-Noncommercial 3.0 United States License. No commercial use is permitted without permission.