Git Product home page Git Product logo

cs-go-professionals's People

Contributors

aarshgoel1502 avatar affaannn avatar arg-10 avatar aryachakraborty avatar chirag-01 avatar dravidvaishnav avatar kaneki-ken-7 avatar sbk2k1 avatar

Stargazers

 avatar  avatar

Watchers

 avatar

cs-go-professionals's Issues

Performing EDA to extract top 10 best players

Performing Exploratory data analysis to extract out the top 10 players based on their K/D Ratio and HLTV Rating and then plotting the data on a graph which would help to visualize the data and give a better understanding

Defining Player Roles

There are typically five roles on a CS:GO team: Entry Fragger, Support, In-Game Leader, Lurk and AWPer. These roles help players focus on a specific aspect of the game to help their team win most efficiently. The parts are flexible, and players will often switch between them based on the unique situations presented.
Here is a brief breakdown of each role:

Entry Fragger

The entry fragger in CS:GO is the first person into each bombsite or objective when attacking. Their role is to initiate a push onto a site by either getting an entry kill or providing enough support for the rest of the team to make a play. The entry fragger will clear spots where enemies usually sit and will call out information on enemy positions.

Entry fraggers must have a quick reaction time and a definite aim to be effective. This role is high-risk and will often result in the player dying. Attacking players are usually at a disadvantage when pushing sites, so entry fraggers must be able to adapt to these situations.

If an entry fragger achieves at least one pick when pushing a site, they were successful in their role and helped their team. The player will likely be towards the bottom of the leaderboard, but winning the match is more important than individual stats.

Support

Support players push with the entry fragger and provide cover using the utility. The support player will trade kills if the entry fragger dies and cover other site lines. They also offer support by using a utility to aid the push or to assist the entry fragger.

Grenades are a significant part of executing a bomb site or position. Players will often use flash grenades to blind the enemy before pushing. They can also throw smoke grenades to cover viewpoints or hide their team's advancement. The support player's job is to perform these actions as it lets the entry fragger focus on getting onto the site and opening a path for the team.

A support player must be well-versed in the different utility items and the various trajectories of grenades. Every map has several spots that can be used to throw grenades to a specific location on the map consistently. Players in the support role should have most of these memorized to be effective. A support player must have solid teamwork and game awareness to excel in their role. Easy trades and correct use of utilities can make or break a team.

In-Game Leader

Every CS:GO team needs someone calling the shots to function correctly. The in-game leader keeps the entire team on the same page and organizes the flow of gameplay. An in-game leader can fill almost any other position, such as entry fragger or support. However, the role is still considered a vital component of any team.

The in-game leader will decide what to buy each round, when to push a site, rotate, and almost every critical decision in a game. They must be able to adjust to any scenario they encounter and adapt effectively.

An in-game leader must possess strong leadership qualities and strong game awareness to lead their team to victory. They must also be able to bounce back from tough rounds to maintain their team's morale.

Lurk

Lurkers are players who focus on stealth and outmanoeuvring the enemy team. Players who lurk constantly try to surprise the enemy and achieve easy kills on isolated players. Lurkers will often sit on the opposite bomb site that their team is executing and eliminate rotating players. Lurkers are often layers that quickly rotate between locations as needed on the CT side.

A lurk player must have extensive map knowledge and understand the best times to reveal themselves. Trigger discipline is essential, as letting one enemy walk back to ambush the entire team is possible.

AWPer

Almost every CS: GO team has a player who is the designated AWPer. This player can use the expensive weapon to hold long angles and secure vital picks. Groups often build their economy around providing this player with an AWP because the weapon is quite pricey.

AWPers must be skilled with powerful weapons, or the investment will be wasted. AWPers must also be able to use rifles because an AWP is only sometimes available.
(Article is taken from https://www.hotspawn.com/csgo/guides/understanding-roles-in-csgo)

Other than these, there are secondary roles in each category, but we will only consider the primary ones here.

Here, we will try to categorize the players into their most probable/appropriate roles based on their stats.

Player Clustering

Player Clustering:
Player clustering involves grouping players with similar characteristics together to identify patterns in their performance and behaviour.
To cluster players based on their attributes, we can use clustering algorithms like: K-means, DBSCAN, Hierarchical clustering, Spectral clustering etc.
This can help teams to replace a player with another with similar type of playing patterns/characteristics.

Adding addtional features to the dataset and updating the rating

The datasets only have stats which are available on the mainpage of player stats. But, there are many more stats, some of which are vital, are available on the individual player profiles, like:
Real Name, Age, Total Kills, Headshot %, Total Deaths, Damage / Round, Greande Damage / Round, Kills / Round, Assists / Round, Deaths / Round, Saved by Teammates / Round, Saved Teammates / Round.
Also, all the ratings on the main page is Rating 1.0. But, for quite some time now, the improved rating system, Rating 2.0 has been introduced, and the 'Statistics' table in the individual player profiles also features Rating 2.0 for many players.
Hence, the dataset needs to be updated.

Therefore, I'm planning to scrape data from individual player profiles and add the new stats to the dataset as new columns, and also, update the rating to the one featured in the 'Statistics' table of each player profile.

Most maps and rounds played

Create two different csv files in the EDA and Feature Engineering directory containing the top 10 of the following:

  1. Most maps played
  2. Most Rounds played

Check how they correlate and try to derive conclusions. What can be some reasons that these two lists are not the same if they aren't?

Using filters to prune out irrelevant data

The url from hltv.org lists all of the csgo players, even from tier 3-4 + which aren't quite relevant when compared to higher tier professionals.

It'd be better if a ranking filter is added to prune the dataset somewhat.

prostats.gg

We can create a Website called prostats.gg using all the artifacts from different EDAs.

It will be an interactive read-only website where users can see stats about different players and related graphs and images.

Who is the better player? "s1mple" or "zwyoo"

Create Dashboard Elements with some stats regarding the numbers the two players have put up and derive a conclusion about who is the better player. Save all files in a sub-directory under the EDA and Feature Engineering Directory.

Perform EDA to find best players

Perform EDA to find the top 10 best players according to:

  1. HLTV Rating
  2. K/D Ratio

Create different .csv files for the tasks and save them inside EDA and Feature Engineering Directory

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.