Difference between revisions of "1718t1is428T8"
Line 86: | Line 86: | ||
<br/><div style="background: black; padding: 15px; font-weight: bold; line-height: 0.3em; text-indent: 15px;letter-spacing:-0.08em;font-size:20px"><font color=#e62b1e face="Century Gothic">TOOLS/TECHNOLOGIES</font></div> | <br/><div style="background: black; padding: 15px; font-weight: bold; line-height: 0.3em; text-indent: 15px;letter-spacing:-0.08em;font-size:20px"><font color=#e62b1e face="Century Gothic">TOOLS/TECHNOLOGIES</font></div> | ||
<p>The tools and technologies we will be using for this project:</p> | <p>The tools and technologies we will be using for this project:</p> | ||
− | * D3.js | + | * Data Cleaning |
+ | ** Excel | ||
+ | ** JMP | ||
+ | ** R | ||
+ | * Data Visualization | ||
+ | ** D3.js | ||
<!-- | <!-- | ||
Revision as of 17:58, 13 October 2017
DOTA 2 (Defense Of The Ancients 2) is a game where you play as one side of the ultimate struggle between the Radiant and the Dire. Each side consist of 5 players and the objective is to destroy the opponent's key structure or so the title of the game says while defending your own.
As of 13th October 2017, there are 112 heroes to be chosen from for play. Heroes are the essential element of DOTA 2, as the course of the match is dependent on their intervention. During a match, two opposing teams select five out of 112 heroes that accumulate experience and gold to grow stronger and gain new abilities in order to destroy the opponent's Ancient. Most heroes have a distinct role that defines how they affect the battlefield, though many heroes can perform multiple roles.
DOTA 2 is now not just some any other game being played for purely personal entertainment. Every year for the past half decade, DOTA 2 tournaments has broken the record for biggest prize pool in e-sports history. Dubbed The International (TI), this competition started off with a prize money of USD$1.6 million in 2011 before adding a gamer-funded component that accelerated it north of USD$10 million by 2014, past USD$20 million last year, and close to USD$25 million for The International 7 that just concluded. These eight-figure prizes have attracted the eye of mainstream media, and DOTA 2 made it to the front page of The New York Times after TI4.
The problem here is that with the ever increasing prize pool for the tournaments, there are professional DOTA 2 players joining in aiming for the top prize money. In order to increase their chances to get into the finals and eventually win the top prize money, on top of possessing skill and techniques, they have to pick the 5 best heroes out of the 112 available heroes to play as a team.
However, finding this 'dream team' is proven to be extremely time consuming as there are about 134 million hero combinations. No team can afford the time to play multiple matches of all these 140 million hero teams just to find out the 'dream team', not to even mention spending time playing thousands of matches to improve the overall teamwork and synergy to prepare for the tournament.
Even so, putting all the eggs into 1 basket can be pretty undesirable as during the actual tournament, any heroes in the 'dream team' could be picked by the opponent team or even banned for play in the match. Teams will usually specialize in a few heroes to prevent being placed in such difficult situation but different heroes having differing abilities will disrupt the synergy between the team.
In this project, we would like to use data from past matches to create a visualization that helps users increase the chances of winning a match by determining:
- What are the main factors that should be focused on in order to win a match?
- Which heroes are best to be played with a specific chosen hero?
We are using the Dota 2 Matches Dataset from Kaggle.
The dataset consists of the following columns:
- match_id - INTEGER, unique match id
- match_seq_num - INTEGER, match sequence number
- radiant_win - STRING, boolean variable than indicates if radiant won or not in the match
- start_time - INTEGER, start time of the match
- duration - INTEGER, duration of the match
- tower_status_radiant - INTEGER, remaining health of the towers of the radiant side
- tower_status_dire - INTEGER, remaining health of the towers of the dire side
- barracks_status_radiant - INTEGER, remaining health of the barracks of the radiant side
- barracks_status_dire - INTEGER , remaining health of the towers of the direside
- cluster - INTEGER,
- first_blood_time - INTEGER, time when the first blood occured in the match
- lobby_type - INTEGER, type of the looby of the match
- human_players - INTEGER, number of human players in the match leagueid - INTEGER, league id
- positive_votes - INTEGER, number of positive votes
- negative_votes - INTEGER, number of negative votes
- game_mode - INTEGER, game mode
- engine - INTEGER, engine
- picks_bans - STRING, picks and bans
- parse_status - INTEGER, parse status
- item - STRING, a complex JSON that also include all the columns mentioned but may need more processing since the more interesting data are found here (e.g. chats, teamfights, purchase logs, etc. )
The following are some of the key technical challenges that we may face throughout the course of the project:
Key Technical Challenges | Plans to resolve these issues |
---|---|
| |
|
The timeline for this project until its completion is as follows:
The tools and technologies we will be using for this project:
- Data Cleaning
- Excel
- JMP
- R
- Data Visualization
- D3.js