CS:GO Competitive Matchmaking Data
- by user1
- 05 March, 2022
Damage/Grenade entries on over 410k rounds played in competitive Counterstrike
LicenseCC BY-NC-SA 4.0
Tagsinternet, online communities, video games
Introduction
Video games are a rich area for data extraction due to their digital nature. Notable examples such as the complex EVE Online economy, World of Warcraft corrupted blood incident and even Grand Theft Auto self-driving cars tells us that fiction is closer to reality than we really think. Data scientists can gain insight on the logic and decision-making that the players face when put in hypothetical and virtual scenarios.
In this Kaggle Dataset, I provide just over 1400 competitive matchmaking matches from Valve’s game Counter-strike: Global Offensive (CS:GO). The data was extracted from competitive matchmaking replays submitted to csgo-stats. I intend for this data-set to be purely exploratory, however users are free to create their own predictive models they see fit.
About Counter-Strike: Global Offensive
Counter-Strike: Global Offensive is a first-person shooter game pitting two teams of 5 players against each other. Within a maximum of 30 rounds, the two teams find themselves on either side as a Counter Terrorist or Terrorist. Both sides are tasked with eliminating the opposition or, as the terrorist team, planting the C4 bomb at a bomb site and allowing it to explode. Rounds are played out until either of those two objectives or if the maximum time is reached (in which the counter terrorists then win by default). At the end of the 15th round, the two teams switch sides and continue until one team reaches 16 round wins first. CS:GO is widely known for its competitive aspect of technical skill, teamwork and in-game strategies. Players are constantly rewarded with the efforts they put it in training and learning through advancing in rank.
Click here to read more about the competitive mechanics of CS:GO.
Content
Update September 2018: It’s been about more than a year since I’ve updated this dataset. A thread on PRI (see kernels) sparked my interest again in some CS analytics and I thought it’d be cool to replicate the metric for ESEA players to check. Seeing now that it’s extremely hard for me to scale this up (resource wise) to accommodate all current and future ESEA matches, I decided it’d be better for me just to release the data I managed to gather. The demos were collected over only a small span of two weeks in August and is definitely not representative of CS games over time. If you have any questions about the new dataset, please don’t hesitate to start a thread in Discussion.
New ESEA Demos
The new ESEA demos are structured a bit differently to save space. The per-round information (e.g ct, t equipment value, winner, map) are all saved inside esea_meta_demos.csv
. The other files have the same format, less the meta-columns. The kills data have also been added but follow a slightly different format, see the file detail for more info. Any demos that had less than 16 rounds played were excluded, no other data cleaning and assurance was done. I’m sure there are a lot of matches that spat out weird data.
The dataset provides every successful entry of duels (or battle) that took place for a player. That is, each row documents an event when a player is hurt by another player (or World e.g fall damage).
mm_master_demos.csv
contains information on rounds fired, while mm_grenades_demos.csv
contains information on grenades thrown. The fields in the two datasets are similar: highlights include shooters and victims, event coordinates, and timestamps. The datasets also includes static information on the match winner, player ranks before and after the match, and other miscellaneous match-level metadata.
For further information on individual fields in the dataset, refer to the Column Metadata.
Interpreting Positional Data
This dataset also includes a selection of the game’s official radar maps, as well as a table, map_data.csv
, to aid in mapping data over them. The X,Y coordinates included in the dataset are all in in-game coordinates and need to be linearly scaled to be plotted on any official radar maps. See converting to map coordinates for more information.
Acknowledgements
- Definitely the guys from csgo-stats, without them, this wouldn’t have been possible! 🙂
- /r/globaloffensive for many years of lulz
- Akiver of CSGO Demo Manager for spending so much time perfecting his demo parser.
Size: 616361 KB Price: Free Author: KP Data source: kaggle.com