TagPro Analytics

Capture the Game

Frequently asked questions

Why this userscript?

This userscript logs matches to an awesome and unforeseen level of detail, yielding great opportunities for analysing individual matches, maps, players and the game in general. These opportunities extend way beyond how matches are currently visualised on this website. The raw data of all matches is openly available for everyone to analyse and research as they wish.

What about tagpro.me?

While tagpro.me collected a great set of data, it only logged match totals rather than detailed timelines of matches. The data collected by this new userscript has much more potential for gameplay research.

For completeness sake, we nevertheless integrated the old data into our new database. These old matches are included in all search functionality of this website and have a match id starting with b.

What time period is covered?

The old tagpro.me database recorded games from 13 July 2014 until 6 April 2015. The TagPro Analytics database commenced recording shortly thereafter on 25 May 2015 and is still recording while you read this.

Are all game modes supported?

Yes, including Capture-the-Flag, Neutral-Flag, Potato, Marsball and combinations thereof. For maps with multiple flag types, the type of flag is even indicated for all events and statistics. Note that for marsball matches, button time includes marsball push times, and unlike in the game itself, marsball returns are also counted as tags for simplicity of the logging system. The system could even be used to analyse Racing games or Open-Field-Master games. Note that even Top Speed power-ups are fully supported!

Can I use this as a player/spectator?

You can use it as both. The userscript has been carefully designed to only collect data that both spectators and all players receive from the game server. You only need to make sure that you join the game before it starts and don’t quit before it ends.

Can I use this in leagues?

Yes, thanks to a collaboration with Koalabeast the userscript can collect data even when userscripts are disabled in group settings. Regarding league rules, MLTP allows stat-collecting scripts in general, while ELTP explicitly approves and even requires TagPro Analytics.

Why is <some data> missing from the collected data?

The userscript has been restricted to data that both spectators and all players of a match can receive. You can read more about the userscript design considerations on /r/tagprostatistics. If you are a spectator and really want to collect all possible data like an NSA, you should perhaps look into a userscript like TagPro Replays, although for large-scale analyses this means you also need to upgrade your storage capacity like an NSA.

The scoreboard contains columns with names of statistics I’ve never heard before.

The detailed logging indeed allows for some new aggregate statistics to be defined. These are as follows:

Kisses
Mutual simultaneous returns and drops of flag carriers of opposite teams.
Have
Prevent divided by the number of simultaneously preventing players of the same team. In Capture-the-Flag games, this is your contribution to your team having its own flag in base.
Chase
Sum of hold corresponding to your returns.
Takeovers
Returns with simultaneous grabs. These commonly occur in Neutral-Flag games.
Combos
Multiple simultaneous tags, not counting the first one of each set. Almost always involves a button-controlled gate.
Button
1-point support increments by the game server per 5 seconds, which are awarded for sitting on a button or pushing a marsball.
Block
2-point support increments by the game server, that officially each represent 5 seconds of blocking for the flag carrier. In practice such increments also seem to be awarded for other events, sometimes multiple times within 5 seconds and sometimes even for having your Rolling Bomb detonated or dropping the flag, so there unfortunately isn’t a very clear definition of what this statistic means.
Power
Time during which a power-up remains active.
Play
Total time you were playing.
Plus-minus
For a team, number of captures minus the number of captures of the other team. For a player, only captures while you were playing are counted.
Win
For a team, indicates whether they won. For a player, indicates whether they were a member of the winning team at the end of the match. Both are decided independently from whether the TagPro server awards a win, e.g. TagPro Analytics does not require a minimum of 30 seconds playing time, or whether stats are on.

What is power-up luck?

Did RNGesus take the wheel? Power-up luck is a quantitative analysis of the randomness involved in what power-up types you get. Three such analyses are shown below the scoreboard, namely:

Spawn luck
Are the power-ups evenly distributed over the three possible types, or did some power-up types spawn more than others? Power-ups that spawned but were never collected are excluded from this analysis.
Collection luck
Are the spawned power-ups of each type proportionally distributed over both teams, or did both teams get different types of power-ups?
Total luck
Are the power-ups of each individual team evenly distributed over the three possible types, or did some team get some power-up types more than other types? This is the combination of spawn luck and collection luck.

Each analysis shows the expected number of power-ups in each category plus the difference with the actual number of power-ups. Each analysis ends with a G-test (improvement of Pearson’s chi-squared test), where the test statistic (χ²) indicates how large the luck is (i.e. how large the differences between the expected and actual numbers are), the degrees of freedom (df) indicates in how many dimensions the luck extends (depending on the number of power-up types and the number of teams that got power-ups), and the p-value (p) is the corresponding probability of getting the current luck or more luck. Note that this probability may be underestimated for low power-up numbers because the calculation ignores the discrete nature of power-up numbers.

What is the blank flag ?

It indicates a flag that is grabbed and then captured or dropped within the same time step. The former for example occurs when in Neutral-Flag games you tag an enemy flag carrier within your end zone.

What is the blank power-up ?

On a map, it simply represents a generic power-up. On scoreboards and in timelines it indicates someone collected a duplicate power-up, i.e. another instance of a power-up that was already active for that player.

Why is there no support column on the scoreboard?

The support statistic has been split into a block statistic and a button statistic, which are considerably more meaningful.

The prevent/block/button times on the timeline are inaccurate.

Unfortunately, prevent can only be detected at 1-second intervals and block and button can only be detected at 5-second intervals.

Why does the availability of information about power-ups vary between matches?

This depends on the server, due to technical differences between test and production servers. The Koalabeast maptest server uses an old version of TagPro resulting in all power-up data being omitted. On the NewCompte servers, we can only accurately record the number of power-ups, but in general not their type or duration, because this information is restricted to sight distance.

What time zone does this website use?

All dates and times displayed are in the time zone of your computer, if you have JavaScript enabled. Otherwise they are in Coordinated Universal Time (UTC). The time zone is explicitly indicated on match pages. Times are always displayed in 24-hour format.

An error occurred during upload. What now?

If the match is important to you, you can always save the match file on your computer. Such a file can be visualised later on this website. If you did not save the file right after the match, you can still save it by visiting the homepage of this website in the browser you play TagPro with. From there you can still access your last ten matches and visualise or save them as needed, even if the website was offline when the matches were played.

Otherwise, just check the error message to find out whether you need to do something, and if so, what. Sometimes the error message may ask you to update the userscript, e.g. if a bug is found in the data collection code.

How does one get custom team names?

TagPro Analytics records the team names as they were set in the group settings. To set custom team names, the group leader must click on a team name on the group page and type a new name in its place.

The best public win rate on my player profile is too low.

The win rate shown is based on the flairs you used. To fix your profile, simply record one game in which you play with your highest flair.

I’m feeling scientist, where can I get the raw data?

Each match in the database can be downloaded as a data file, as if you spectated the match yourself. The download link is located at the bottom of the scoreboard. It contains JSON with the most important fields containing base64-encoded binary data. Instructions for reading the file format are provided on the Science page. That page also contains instructions on how to download the database of this website in bulk for multi-match analyses (old tagpro.me records are only available in bulk).

Is this on Reddit?

Yes, all TagPro Analytics users unite at /r/tagprostatistics for everything related to TagPro Analytics and other methods of statistical analyses of TagPro matches. Of course you can also find some of the stuff on the main /r/tagpro, but the statistics subreddit discusses all the details and is easier to browse due to the low volume of posts.

Is Reddit on this?

Yes, this website crawls threads on selected TagPro-related subreddits linking to it, adding those threads to the threads list and linking them to the specific matches mentioned in the thread. The crawler discovers a new thread once someone clicks from the Reddit thread to this website. Previously crawled threads are periodically checked for updates. Contact me if I missed a relevant subreddit.