Basic Counter-Strike: Global Offensive Demo Viewer
Total Page:16
File Type:pdf, Size:1020Kb
UKRAINIAN CATHOLIC UNIVERSITY BACHELOR THESIS Basic Counter-Strike: Global Offensive demo viewer Author: Supervisor: Marc SOUMOUSSOU KODJOVI Matvii KOVTUN A thesis submitted in fulfillment of the requirements for the degree of Bachelor of Science in the Department of Computer Sciences Faculty of Applied Sciences Lviv 2020 ii Declaration of Authorship I, Marc SOUMOUSSOU KODJOVI, declare that this thesis titled, “Basic Counter-Strike: Global Offensive demo viewer” and the work presented in it are my own. I confirm that: • This work was done wholly or mainly while in candidature for a research de- gree at this University. • Where any part of this thesis has previously been submitted for a degree or any other qualification at this University or any other institution, this has been clearly stated. • Where I have consulted the published work of others, this is always clearly attributed. • Where I have quoted from the work of others, the source is always given. With the exception of such quotations, this thesis is entirely my own work. • I have acknowledged all main sources of help. • Where the thesis is based on work done by myself jointly with others, I have made clear exactly what was done by others and what I have contributed my- self. Signed: Date: iii UKRAINIAN CATHOLIC UNIVERSITY Faculty of Applied Sciences Bachelor of Science Basic Counter-Strike: Global Offensive demo viewer by Marc SOUMOUSSOU KODJOVI Abstract The video game industry is growing fast our days. It has a lot of big companies which have at least one game which is their signature product in some genre. Gam- ing industry gives tons of working places as it created a lot of different types of job and generates a big amount of sales annually worldwide. One of the biggest and popular games played on different levels from amateur to pro is Counter-Strike: Global Offensive. That’s what we are going to talk about. Code for this project can be found here: Github repository iv Acknowledgements I want to thank my family and my friends especially Myroslav and Volodymyr who supported me throughout these years of studying and gave me a lot of important advices. v Contents Declaration of Authorship ii Abstract iii Acknowledgements iv 1 Introduction1 1.1 Weapons List and Equipment........................1 1.2 Round Types..................................1 1.2.1 Full Buy................................1 1.2.2 Force Buy...............................2 1.2.3 Anti-Eco................................2 1.2.4 Eco-Round...............................2 1.3 Ranks......................................2 1.4 Rules/Gameplay...............................3 1.5 Pro Scene....................................3 1.6 CS:GO demos.................................4 1.7 Problem....................................4 1.8 Motivation...................................4 1.9 Approach....................................4 2 Background Information6 2.1 Valve Corporation – CS series creator....................6 2.1.1 Foundation and HL.........................6 2.1.2 Re-incorporation, Source and Steam................7 2.1.3 Games.................................7 2.1.4 Steam..................................7 2.1.5 Pipeline Project............................7 2.2 Source (game engine).............................7 2.2.1 Source Name.............................8 2.2.2 Modularity..............................8 2.2.3 Source SDK..............................8 2.2.4 Academic Papers...........................8 2.3 CS:GO demo parser..............................9 2.3.1 How does it work?..........................9 3 Related Works 10 3.1 Moneyballing 32k rounds of Counter Strike by Mads Bønding..... 10 3.1.1 Weapon of choice........................... 10 3.1.2 Utility Usage............................. 10 3.1.3 Mechanichal Skill........................... 10 3.1.4 Map Insights............................. 11 3.1.5 Executes................................ 11 vi 3.1.6 Effective use of HE grenades.................... 11 3.1.7 Kills and Deaths........................... 12 3.2 Finding classic smokes by T-side on mirage................ 12 3.3 CS:GO stats trackers............................. 12 3.4 Leetify..................................... 13 3.4.1 How it works?............................ 13 4 Solution 14 4.1 Where this project’s idea came from?.................... 14 4.2 Start....................................... 14 4.3 Direction change and approach....................... 14 4.4 Basic demo viewer and economy research................. 14 4.5 Tools used................................... 15 4.5.1 Python................................. 15 4.5.2 Matplotlib............................... 16 4.5.3 Flask.................................. 17 4.6 Structure.................................... 18 4.7 Results..................................... 21 4.7.1 Demo results............................. 21 4.7.2 Economy results........................... 23 4.8 Conclusion................................... 24 4.9 What are the problems and what to do next................ 24 Bibliography 25 vii List of Figures 2.1 Valve Corporation logo............................6 2.2 Source engine logo..............................8 4.1 Python code example (factorial function)................. 15 4.2 Matplotlib code example........................... 16 4.3 Flask app code example........................... 17 4.4 In-game to on-image coordinates converting functions......... 18 4.5 Function which plots demo round by round................ 19 4.6 Example of Flask server function...................... 19 4.7 Example of economy calculating function................. 20 4.8 Example of economy plotting function................... 20 4.9 Demo by rounds with select of any round of the game.......... 21 4.10 CT side demo view.............................. 21 4.11 T side demo view............................... 22 4.12 Team 1 demo view.............................. 22 4.13 Team 2 demo view.............................. 23 4.14 T buy levels example............................. 23 4.15 CT buy levels example............................ 24 viii List of Abbreviations CS:GO Counter-Strike: Global Offensive CS Counter-Strike HL Half-Life CT Counter-Terrorists TTerrorists 1 Chapter 1 Introduction Today Counter-Strike: Global Offensive (successor of Counter-Strike 1.6 and Counter- Strike: Source) is one of the most popular games in the world. It’s a multiplayer FPS game which was developed and released by Valve in 2012. In 2018 CS:GO became a F2P (free to play) game meaning that Valve are focusing on revenue from cosmetic items (weapons skins) and selling of special system that allows you to play competitive games with less cheaters thanks to Trust Factor. There are a lot of maps that are played in CS:GO both casually by regular players and professionally by pros. But on tournaments pros play only active duty maps which at the moment are: Dust 2, Mirage, Inferno, Vertigo, Nuke, Train and Over- pass. They can be seen here: CS:GO Maps. Sometimes the pool changes, for example when some older maps get reworked they might replace other maps that need to be reworked. 1.1 Weapons List and Equipment Knives: Stock Knife (CT), Stock Knife (T) Pistols: P2000 (CT), USP-S (CT), Glock-18 (T), P250, Five-Seven, Tec-9, CZ75-Auto, Dual Berettas, Desert Eagle and R8 Revolver SMGs: MP9 (CT), MAC-10 (T), PP-Bizon, MP7, UMP-45, P90, MP5-SD Rifles: FAMAS (CT), Galil AR (T), M4A4 (CT), M4A1-S (CT), AK-47 (T), AUG (CT), SG553 (T), SSG08, AWP, SCAR-20 (CT), G3SG1 (T) Heavy (Shotguns + Machine guns): Nova, XM1014, MAG-7, Sawed-Off (T), M249, Negev Grenades: HE grenade, Flashbang, Smoke grenade, Decoy grenade, Molotov (T), Incendiary Grenade (CT) Gear: Kevlar Vest, Kevlar + Helmet, Zeus x27, Defuse Kit/Rescue Kit (CT) More info about weapons can be found here: CS:GO Weapons and Equipment 1.2 Round Types There are different round types in CS:GO. Let me tell about them. 1.2.1 Full Buy Lets’ start with Full Buy round. It’s a round when the team has a good economy and can afford to buy Helmet + Kevlar and good weapons, also defuse kit for CT and grenades to maximize their chances to win a round. 2 Chapter 1. Introduction 1.2.2 Force Buy Force Buy also called Half Buy is a round when each player in the team spends money on equipment so they can avoid Eco’ing next round. This is very risky be- cause if the team loses the round their economy will be destroyed but on the other hand if they win the round there is a potential for the Force Buying team to stabilize the team’s economy. 1.2.3 Anti-Eco Anti-Eco is the round idea behind which is to shut down the enemy while they can’t buy good weapons and maximize the amount of money you can earn in the round by purchasing high kill reward weapons like SMG’s. 1.2.4 Eco-Round Eco-Round or simply Eco is a round when the team tries to save as much money as possible for next rounds. On eco you want to buy some pistol but still have money for next round knowing what will be the loss bonus and if you’re going to have the money to buy good weapon. Also you should analyze the economy of your teammates so that you don’t eco and someone’s in your team makes a full buy or force. 1.3 Ranks There are 18 ranks in game: • Silver I • Silver II • Silver III • Silver IV • Silver Elite • Silver Elite Master • Gold Nova I • Gold Nova II • Gold Nova III • Gold Nova Master • Master Guardian I • Master Guardian II • Master Guardian Elite • Distinguished Master Guardian • Legendary Eagle 1.4. Rules/Gameplay 3 • Legendary Eagle Master • Supreme Master First Class • The Global Elite There are a lot of factors that impact player’s rank. Detailed info can be found fol- lowing this link: CS:GO Ranking System 1.4 Rules/Gameplay There are 2 teams of 5 players in CS that are fighting each other: Ts or TTs (terrorists) and CTs (counter-terrorists). There also are different competitive game modes. In first one Ts should plant the bomb and CTs should prevent Ts from doing that or defuse it and in the second one Ts have to defend the hostages and prevents CTs from rescuing them. Either team can win a round simply by eliminating the opposite team. All rounds in the game are 1:55 long.