cotton.org.uk

AboutContributionsDownloadsMy GitHub

TF2 Class Wars Stat Tracker

I play Team Fortress 2, and often play the community game mode "Class Wars". Class Wars is similar to a normal game of TF2, except each team is restricted to playing as only one of the nine classes which are normally available. For example, one matchup might be Scouts versus Engineers; another might be Spies versus Snipers.

Servers hosting Class Wars often run the Roll The Dice (RTD) plugin, which gives the player random temporary abilities during gameplay, such as invincibility, or increased damage output. The effect can also be negative – distracting visual effects, for example.

As there are nine classes, this means there are 81 possible matchups, all with unique counters/advantages against each other. I was interested in seeing statistics for which class beats which, so in 2021 I started this project as a Java tool to record the win rate of each matchup. Later, in 2023, I migrated the project to Node.js, to become more familiar with JavaScript and some Node frameworks.

The interface is a 9x9 grid of each of the classes, representing all of the possible matchups. The columns represent the BLU class, and the rows represent the RED class. To record a win, you select the classes through either the buttons in the bottom-left, or on the grid directly, and press the "+1 BLU/RED Win" button. It's also possible to filter stats through a variety of options, such as map, server and game mode. In the top-left, there is a server banner (hosted by gametracker.com) which lists currently active players, including their score.

Maps have certain quirks that can change the bias of a matchup, and some servers are configured differently which can also affect the bias. Another variable is the "game mode," which is like a modifier for the RTD plugin. One game mode is "global rolls," which means that every player gets the same effect, all at the same time.