Share.

6 Comments

  1. Data source:

    CSV files containing the location data for the attacker and vicim of a given engagement, created using the awpy python package, using demo files found on [hltv.org](http://hltv.org)

    dataset includes map played on de_dust2 from 2025 editions BLAST Bounty, IEM Katowice, PGL Cluj-Napoca, ESL Pro League season 21 and the group stage of BLAST Open Lisbon

    tools: python (to harvest data) & R (to visualise it)

    methodology:

    put the X&Y location of the attacker (player doing the killing) in one CSV file, then repurposed Spencer Schien’s R code which visualized the population density in a given state into my version

    Spencer’s website: [Spencer Schien](https://spencerschien.info/)
    my code: [densitygraphic.R](https://gist.github.com/smartbackwards/2f6376dc9e669fc2773d7915e3cf663b)

    original code: [kontur_rayshader_tutorial/markup.R at main · Pecners/kontur_rayshader_tutorial](https://github.com/Pecners/kontur_rayshader_tutorial/blob/main/markup.R)

  2. Not a CS2 player. Why are so few people killed at the bottom of the map? If it is reachable I’d assume that density would be more even, but there are so few connected blocks down there.

  3. Would be curious to see this graph from before they blocked off that one sightline from T spawn down mid