Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Profiling Successful Team Behaviors in League of Legends

Profiling Successful Team Behaviors in League of Legends

A Full paper presented at WebMedia 2017 in Gramado/RS, Brazil.

Profiling Successful Team Behaviors in League of Legends, Proceedings of WebMedia ’17, Gramado, Brazil, October 17–20, 2017.

Paper: https://www.researchgate.net/publication/320389574_Profiling_Successful_Team_Behaviors_in_League_of_Legends

Master dissertation: https://github.com/fernandojunior/dissertacao-mestrado/blob/master/dissertacao.pdf

Fernando Felix

October 17, 2017
Tweet

More Decks by Fernando Felix

Other Decks in Research

Transcript

  1. Title: Profiling Successful Team Behaviors in League of Legends Universidade

    Federal de Campina Grande Gramado/RS, 19 Outubro de 2017 Fenando F. Nascimento Junior [email protected] Allan S. C. Melo [email protected] Igor B. Costa [email protected] Leandro B. Marinho [email protected]
  2. Agenda 1. Introdução a. Contexto b. Problema c. Objetivo d.

    Metodologia 2. Preparação dos Dados 3. Perfis de Comportamento a. Agrupamento dos Dados (padrões) b. Caracterização de Perfis 4. Conclusão 3
  3. 1 Contexto $748M e-Sports MERCADO 2016 $99B Jogos eletrônicos 5M

    Usuários no Brasil 2015 67M Usuários no mundo 2016 superdata newZoo 7,5M Usuários simultâneos
  4. Problema 8 • LoL é um jogo muito competitivo ◦

    Diversidade e dinamicidade das ações ◦ Popularidade e torneios ◦ Jogadores e equipes se comportam como profissionais ◦ Investimento substancial de tempo • Equipes inexperientes não sabem inicialmente como elaborar ou melhorar suas estratégias • Uma maneira de apoiar as decisões: Informações que levem a melhores decisões, como métricas de desempenho baseadas no comportamento de equipes
  5. Questões de Pesquisa I. É possível encontrar padrões úteis no

    comportamento das equipes? II. É possível caracterizar perfis de comportamento de equipes bem-sucedidas e malsucedidas? 9
  6. Objetivo Identificar e caracterizar perfis de comportamento de equipes bem-sucedidas

    e malsucedidas no contexto de League of Legends baseando-se em dados sumarizados de desempenho de jogadores nas partidas. 10
  7. Coleta de Dados • Riot API históricos de partidas (JSON)

    • Histórico ◦ Duração da partida ◦ Equipe vencedora ◦ Informações dos jogadores ▪ Itens ▪ Personagem ▪ 37 Estatísticas de desempenho • 110k partidas aleatórias (mar/2016 - dez/2016) ◦ 10k / mês ◦ Filtro: Brasil, Temporada 2016, Modo Clássico, Competitivo, Patch v6 13
  8. Estatística Descrição assists Número de assistências em abates deaths Número

    de mortes sofridas goldEarned Quantidade de ouro ganho goldSpent Quantidade de ouro gasto kills Número de abates efetuados minionsKilled Quantidade de minions abatidos ... ... 14
  9. Limpeza de Dados • Detecção e remoção de inconsistências ◦

    Evitar conclusões falsas • Partidas removidas: ◦ Partidas que foram rendidas: duração < 20 min ◦ Partidas com jogadores AFK 15
  10. P = desempenho de jogadores Match index Team index Player

    index winner P 1 assists ... P 37 1 01 001 0 ... ... ... 1 01 002 0 ... ... ... 1 01 003 0 ... ... ... 1 01 004 0 ... ... ... 1 01 005 0 ... ... ... 1 02 006 1 ... ... ... 1 02 007 1 ... ... ... 1 02 008 1 ... ... ... 1 02 009 1 ... ... ... 1 02 010 1 ... ... ... X = desempenho de equipes Match index Team index winner X 1 assists ... X 37 1 01 0 ... ... ... 1 02 1 ... ... ... Extração de Características 16 M = histórico de partidas |M| = 110.000 P = desempenho jogadores |P| = |T| * 5 = 1.100.000 X = desempenho equipes |T| = |M| * 2 = 220.000
  11. Extração de Características • Decomposição de características: Garantir a atomicidade

    • Remoção de características compostas: Evitar redundância 17 physicalDamageDealt physicalDamageDealtToChampions + physicalDamageDealtToMonsters ... ... physicalDamageDealtToMonsters physicalDamageDealt - physicalDamageDealtToChampions ... ...
  12. Remoção de Características com Baixa Variância • Características com variância

    zero ou próxima de zero ◦ Não são informativas ◦ Podem causar ruído em alguma análise • Estatística descritiva para identificar e remover essas características 18
  13. Remoção de Outliers • Boxplot para cada característica • Remoção

    de equipes com outliers extremos • Intervalo Interquartil (IQR) de fator = 3,5 para que o comportamento dos dados não fosse afetado bruscamente Adaptado de http://www.physics.csbsju.edu/stats/complex.box.defs.gif 19 3.5 IQR
  14. • Cálculo de métricas de desempenho ◦ A duração de

    uma partida não tem limite de tempo ◦ O desempenho das equipes devem ser comparáveis entre si ◦ Desempenho da equipe / duração da partida ▪ Ouro -> Ouro per min, Mortos -> Mortes/min, etc. Transformação de dados 20
  15. • Boxplot • O intervalo dos valores varia amplamente •

    Normalização de de dados min-max • As características assumiram valores na faixa [0, 1] Normalização de dados 21
  16. • Remoção de características redundantes: análise de correlação (Spearman) ◦

    Evitar ruídos ◦ Aprimorar tempo de agrupamento ◦ Facilitar interpretação pelos usuários finais • Para cada par de características (X a , X b ) com correlação r ab >= 0.65, removemos de a característica que tem a maior correlação Análise de Redundância 22
  17. 23

  18. 24

  19. 25

  20. • O problema de encontrar perfis de equipes é similar

    ao problema de identificar grupos de desempenho de equipes de comportamento semelhante • Método de aprendizado de máquina: K-means clustering ◦ Não supervisionado ◦ Identificar padrões ◦ Diminuir variação dos dados dentro dos grupos 27
  21. Número de Grupos - Curva de erro - SQEE/SQET para

    K ∈ { 1 : 120 } - Número ótimo k = 7 - Variabilidade entre grupos em relação ao total - Diminuição de 78% 28
  22. Análise Exploratória de Dados • Compreender como os grupos se

    diferem • 3 análises foram realizadas 30
  23. Caracterização de Perfis II. Em que medida as métricas influenciam

    os perfis Mapa de calor dos níveis de relevância (IG) por perfil 32
  24. III. Centróides dos perfis por métrica ou característica 33 •

    Comparação Perfil 3 (melhor) e Perfil 4 (pior) ◦ neutralMinionsKilledEnemyJungle 78% superior ◦ deaths 40% inferior ◦ killingSprees 54% superior
  25. Um radar representa as métricas de desempenho de um perfil

    Um eixo representa uma métrica de desempenho O comprimento do eixo indica a pontuação de uma métrica entre [0, 1] 35
  26. Categoria de Perfis Os perfis foram categorizados em quatro níveis

    conforme taxa de vitórias Taxa de vitórias Fraco Mais ou Menos Bom Top 36
  27. Perfis Top Taxa de vitória Perfis ~85% Perfil 3 e

    Perfil 7 Métricas que mais se diferenciam entre os perfis: magicDamageDealtToMonsters (4), totalTimeCrowdControlDealt (12) 37
  28. Discussão Equipes do Perfil Top: Níveis altos de killingSprees, totalHeal

    e wardsPlaced. Estratégia baseada em maximizar neutralMinionsKilledEnemyJungle por minuto, obtendo vantagem sobre o ouro e pontos de experiência e, assim, aumentando a probabilidade de kills. 38
  29. Discussão Equipes do Perfil Bom: nível baixo de deaths, mas

    um nível muito alto de magicDamageDeltToMonters e totalTimeCrowdControlDelt. Principal estratégia são ataques mágicos a distância após o uso de habilidades de controle em área sobre as equipes inimigas, o que garante um nível muito alto de killingSprees. No entanto, essas equipes possuem um nível muito baixo de physicalDamageDealtToMonsters, impedindo uma taxa maior de vitória. 40
  30. Perfis Mais ou Menos Taxa de vitória Perfis ~55% Perfil

    2 e Perfil 5 Métricas que mais se diferenciam entre os perfis: magicDamageDealtToMonsters 41
  31. Discussão Equipes do Perfil Mais ou Menos: níveis baixos de

    deaths, magicDamageTaken e trueDamageTaken. Essas equipes se concentram em estratégias de defesa. 42
  32. Perfis Fraco Taxa de vitória Perfis ~10% Perfil 1 e

    Perfil 4 Métricas que mais se diferenciam entre os perfis: magicDamageDealtToMonsters (4), trueDamageTaken (14) 43
  33. Discussão Equipes do perfil Fraco: oposto das equipes do perfil

    Top. Nível muito baixo de minionsKilled, incapaz de obter itens e tornando-se vulnerável ao ataque dos oponentes. 44
  34. Conclusão Abordagem que passa por várias tarefas de engenharia de

    características para computar métricas de desempenho de equipes a partir de partidas de LoL Agrupa dados para encontrar padrões dessas métricas (Q1: É possível encontrar padrões úteis de comportamento de equipes?) Analisa diferentes aspectos dos grupos de desempenho equipes para caracterizar perfis de comportamento de sucesso e fracasso (Q2: É possível caracterizar perfis de comportamento de equipes bem-sucedidas e malsucedidas?). 46
  35. Trabalhos Relacionados • Predições de Partidas • Predições Diversas •

    Análise de Outliers • Análise de Toxicidade 47
  36. Trabalhos Futuros • Investigar mais características: inclusão de estatísticas dependentes

    da duração das partidas; • Criar modelos preditivos para classificar o perfil de comportamento de equipes ou prever partidas • Entender as semelhanças entre o comportamento de equipes do mundo real e online 48
  37. BibTex 50 @inproceedings{NascimentoJunior:2017:PST:3126858.3126886, author = {Nascimento Junior, Fernando Felix do

    and Melo, Allan Sales da Costa and da Costa, Igor Barbosa and Marinho, Leandro Balby}, title = {Profiling Successful Team Behaviors in League of Legends}, booktitle = {Proceedings of the 23rd Brazillian Symposium on Multimedia and the Web}, series = {WebMedia '17}, year = {2017}, isbn = {978-1-4503-5096-9}, location = {Gramado, RS, Brazil}, pages = {261--268}, numpages = {8}, url = {http://doi.acm.org/10.1145/3126858.3126886}, doi = {10.1145/3126858.3126886}, acmid = {3126886}, publisher = {ACM}, address = {New York, NY, USA}, keywords = {clustering, game analytics, moba games, team performance}, }
  38. Dissertação 51 Caracterização de Perfis de Comportamento de Equipes em

    League of Legends https://github.com/fernandojunior/dissertacao-mestrado/blob/master/dissertacao.pdf