SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
Exploração Visual de Dados de Partidas de Jogos MOBA
Arthur Buosi de Haro, Danilo Medeiros Eler
Faculdade de Ciências e Tecnologia
-Universidade Estadual Paulista 660XX-XXX – “Júlio de Mesquita Filho” (FCT/UNESP)
Departamento de Matemática e Computação
Caixa Postal 468 – CEP 19060-900 – Presidente Prudente – SP – Brasil
arthurb.haro@gmail.com, daniloelerunesp@gmail.com
RESUMO. O cenário competitivo dos jogos vem crescendo a cada ano e se
tornando cada vez mais popular. O jogo Dota 2, por exemplo, realizou um
campeonato em 2017 que teve uma premiação superior a 24 milhões de dólares,
mostrando que os jogos não são mais encarados apenas como forma de
entretenimento, mas também como uma profissão. Diante da necessidade de
jogadores mais competitivos entenderem melhor os fatores que influenciam nos
resultados de partidas, o presente trabalho apresenta uma abordagem de
exploração baseada em Visualização de Informação nos dados de cem partidas do
jogo Dota 2. Utilizou-se as técnicas de Coordenadas Paralelas, Matriz de
Scatterplot e Star Plot, e então, uma classificação foi feita utilizando uma Rede
Neural Backpropagation, que se mostrou ter uma alta acurácia, com 98.5% de taxa
de acerto. Os resultados obtidos também mostram que em 84% das partidas em que
a média de dano em construções inimigas foi menor que 1750 resultaram em
derrota.
1. INTRODUÇÃO
Com um crescente aumento do número de jogadores e dos eSports (i.e, esportes eletrônicos)
nos últimos anos, a competitividade entre os jogadores aumentou consideravelmente. No
último ano a premiação do The Internacional 2017, o principal e maior campeonato do jogo
Dota 2 (Defense of the Ancients 2), foi superior a 24 milhões de dólares.
MOBA’s (Massive Online Battle Arena) são jogos complexos, conhecidos pelas
inúmeras estratégias possíveis. Para o presente trabalho, os dados serão oriundos do jogo
Dota 2, que é um exemplo de jogo MOBA, em que cada partida consiste de uma luta entre
dois times de cinco jogadores cada. Ambos os lados, Radiant e Dire, devem destruir a base
inimiga para vencer. Cada jogador controla um personagem, chamado de herói, que possui
um conjunto único de habilidades, obtidas ao subir de nível. Para tanto, é preciso ganhar
experiência com a eliminação de heróis inimigos e de criaturas, os quais não só fornecem
experiência, mas também ouro, que pode ser usado para comprar itens que deixam os heróis
ainda mais fortes.
A Valve Corporation, empresa responsável pelo desenvolvimento do jogo Dota 2,
disponibiliza uma API pública que permite acessar os dados de partidas. Diversos sites e
blogs, como DotaBuff1
e OpenDota2
, utilizam essas informações para gerar discussões sobre
1
Acessível em: https://www.dotabuff.com/
2
Acessível em: https://www.opendota.com/
as melhores estratégias, assim como disponibilizar uma lista com os heróis mais escolhidos ou
que possuem uma porcentagem de vitória maior, por exemplo. Entretanto, essa simples forma
de representação não é capaz de explicar a razão do resultado de determinada partida, ou de
auxiliar os jogadores a compreender as ações que mais influenciam em uma vitória, por
exemplo.
O presente trabalho visa aplicar e comparar técnicas de Visualização de Informação,
para auxiliar jogadores mais competitivos a obter um maior entendimento sobre os dados das
partidas, permitindo aos jogadores analisar a variação das estatísticas médias das partidas em
que as equipes foram vitoriosas ou derrotadas, identificar quais são os atributos mais
influentes para a vitória de uma partida, identificar possíveis correlações entre os atributos
analisados e permitir que jogadores comparem o seu desempenho com os demais jogadores de
uma mesma partida.
Este documento está organizado em seis seções, contando com a introdução. A Seção
2 descreve algumas das principais técnicas de Visualização de Informação existentes nas
literaturas, que embasaram essa pesquisa, bem como uma breve introdução sobre Redes
Neurais. A Seção 3 apresenta uma relação de alguns dos trabalhos encontrados na literatura,
cujas metodologias fundamentaram o presente trabalho. A Seção 4 apresenta a metodologia
de experimentação visual utilizada no presente trabalho. A Seção 5 apresenta os resultados
das aplicações realizadas. Por fim, a Seção 6 relata as conclusões alcançadas e contribuições
para trabalhos futuros.
2. FUNDAMENTAÇÃO TEÓRICA
Com o crescente volume de dados sendo produzidos diariamente, a analise, a organização e a
extração de informações para aumentar o conhecimento humano tem se tornado um grande
desafio, principalmente, quando esses dados estão em um formato de difícil compreensão.
Formas visuais de representação dos dados tem se mostrado uma maneira eficiente para
explorá-los, ao se apoiarem na capacidade de percepção visual do ser humano (CARD;
SHNEIDERMAN, 1999)[1]
A Visualização de Informação é a área da Ciência da Computação que busca maneiras
de representar dados na forma visual de fácil entendimento, como gráficos e imagens.
Representar dados na forma visual permite transmitir informações que podem ser
compreendidas mais facilmente pelo ser humano (OLIVEIRA; MINGHIM, 1997)[11].
Entretanto, o objetivo da Visualização não é a representação visual dos dados, mas sim o
insight (SHNEIDERMAN, 1999)[1], que pode ser obtido por meio da análise dessas
representações visuais, e que auxiliam na descoberta de conhecimento e na confirmação de
hipóteses, além de influenciar a tomada de decisões.
A maioria das técnicas de visualização são aplicadas na análise de dados
multivariados, os quais são dados formados por mais de uma variável. Esse formato de dado
permite estudar a relação entre os diferentes atributos do conjunto, identificar a tendência dos
mesmos e outliers3
.
Dependendo da forma com que os dados estão distribuídos e de seu tamanho, uma
representação visual pode não apresentar resultados satisfatórios. Por isso, é importante
3
Valores discrepantes que podem indicar instâncias fora do padrão.
conhecer diferentes técnicas, para ser possível escolher aquela que se comporta melhor para
as características presentes no conjunto de dados usado. Nesse sentido, Keim et al.
(1996)[10], propuseram a divisão das técnicas de exploração visual de dados multivariados
em seis categorias:
 Técnicas de projeção geométrica;
 Técnicas iconográficas;
 Técnicas orientadas a pixel;
 Técnicas hierárquicas;
 Técnicas baseadas em Grafos;
 Técnicas híbridas.
Nas próximas seções, serão explicadas as principais técnicas de Visualização de
Informação utilizadas neste trabalho.
2.1.1 Coordenadas Paralelas
As coordenadas paralelas (INSELBERG; DIMSDALE, 1990)[7] auxiliam a visualização de
um conjunto de dados n-dimensional em uma dimensão 2D. Para tal, cada coordenada das
instâncias do conjunto de dados é representado por um eixo paralelo, comumente posicionado
com a mesma distância entre si. Assim, em um espaço de dados n-dimensional haverão n
linhas paralelas.
Seguindo a ideia, cada instância é representada por uma linha poligonal que intercepta
cada eixo na posição proporcional ao valor de sua dimensão, e que é comumente definida a
partir das instâncias de maior e de menor valor. Na Figura 1, pode-se observar a instância C
de dimensão cinco plotada em coordenadas paralelas. O ponto C = (c1, c2, c3, c4, c5) que se
refere a instância C, representa uma linha poligonal.
Figura 1: Exemplo de Coordenadas Paralelas com uma instância C e cinco atributos (X1–X5).
Adaptado de: (INSELBERG, 2001)[6].
Apesar de simples, a técnica de Coordenadas Paralelas é capaz de mostrar a relação e
dependência entre diferentes instâncias de dados, sendo útil na exploração visual dos dados
que possuem um certo grau de relacionamento entre si. Agrupamentos de linhas que se
mantém paralelas indicam dados similares, enquanto linhas que se espalham ao longo do eixo
mostram uma grande variação do atributo dado.
2.1.2 Matriz de Scatterplot
Scatterplot ou Gráficos de Dispersão assemelham-se a gráficos comuns bidimensionais, e
permitem correlacionar dois atributos de uma instância de um conjunto de dados, mostrando
seu relacionamento. Quanto maior for a correlação entre os dois atributos, maior será o
aspecto linear no gráfico. Entretanto, os gráficos de dispersão não são capazes de representar
vários atributos de um conjunto de dados simultaneamente. Assim, a fim de resolver esse
problema, pode-se utilizar uma matriz de Scatterplot.
Nas matrizes de Scatterplot, são criados um Scatterplot para cada combinação entre
dois atributos do conjunto de dados, que então são dispostos de forma arranjada, como
mostrado na Figura 2. Dessa forma, para um conjunto n-dimensional, teremos n2
Gráficos de
Dispersão (GRINSTEIN; TRUTSCHL; CVEK, 2001)[5].
Figura 2: Matriz de Scatterplot.
Extraído de: (GRINSTEIN; TRUTSCHL; CVEK, 2001)[5].
2.1.3 Star Plot
O Start Plot (SIEGEL; 1972)[13] consiste em representar um conjunto de dados multivariados
em uma circunferência. Os atributos do conjunto são representados por arestas, que partem do
centro da circunferência, e são distribuídos ao redor da mesma de forma equidistante umas
das outras. A distância do centro até a aresta é proporcional ao valor do atributo, o qual é
normalizado em um intervalo proporcional às demais instâncias do conjunto. No fim, cada
atributo será representado por meio de uma polilinha, a qual liga cada uma das arestas
formando um polígono.
O uso de diferentes cores para representar cada uma das polilinhas permite comparar
facilmente uma instância com outra. A Figura 3 mostra um exemplo de um gráfico Start Plot
usado para comparar diferentes instâncias de um conjunto de dados. Essa técnica pode ser útil
para encontar valores que estão muito acima ou abaixo do padrão, sendo úteis para encontrar
outliers.
Figura 3: Star Plot onde o Design 1, em verde, possui um peso muito maior no atributo Mass. Isso pode
indicar um possível outlier, por exemplo.
Extraído de: (YOON, 2016)[14].
O principal problema da Star Plot é a quantidade limitada de atributos e registros que
podem ser visualizados simultaneamente. Para grandes instâncias de dados e números grandes
quantidades de atributos, o formato do polígono pode acabar sobrecarregado, o que pode
dificultar o entendimento do gráfico, como mostrado na Figura 4.
Figura 4: Exemplo de um Star Plot com uma quantidade elevada de atributos, o que torna difícil encontrar
uma possível relação entre os mesmos.
Extraído de: (YOON, 2016)[14].
2.2 Rede Neural Multilayer Perceptron
As redes neurais utilizam um modelo baseado na estrutura do cérebro humano. A partir de um
treinamento prévio, uma possível aplicação é o seu uso para o reconhecimento de padrões ou
para a previsão de resultados na camada de saída. Geralmente as camadas da rede neural são
divididas em três grupos: camada de entrada, camada oculta e camada de saída, como
mostrado na Figura 5. A de entrada é responsável por representar um neurônio para cada
atributo, a oculta realiza quase todo o processamento e, por fim, a de saída apresenta o
resultado do processamento.
Figura 5: Exemplo de uma Rede Neural com uma camada oculta (ou intermediária).
Extraído de: (RIEDMILLER, 1994)[12].
Para o presente trabalho, optou-se por utilizar uma rede Multilayer Perceptron (MLP),
que é uma Rede Neural composta de pelo menos três camadas. Essa rede utiliza um algoritmo
de aprendizado supervisionado chamado de retroprogração do erro (error backpropagation),
que é encarregado de ajustar os pesos da rede com o intuito de minimizar os erros. O número
de interações é pré-determinado pelo número de épocas, em que cada iteração corresponde a
um ciclo completo da fase de treinamento. Durante a fase de treinamento também é
determinado a taxa de aprendizado e a taxa de momento, as quais são responsáveis por
determinar a intensidade de variação dos pesos a cada iteração (DUMONTIER, 1996)[3] e
por aumentar a velocidade de treinamento da rede, respectivamente.
3. TRABALHOS RELACIONADOS
Existem diferentes abordagens presentes na literatura para analisar e estudar dados e
tendências referentes a jogos. A seguir serão apresentadas algumas abordagens que foram
mais relevantes para o presente trabalho.
Feitosa et al. (2016)[4] propuseram uma ferramenta para auxiliar a visualização de
dados de jogos, o GameVis, em que diferentes formatos de dados são suportados tornando-a
bastante flexível aos usuários. Um exemplo de visualização dessa ferramenta é o uso de um
Star Plot, apresentado na Seção 2.1.3, para representar a distribuição de atributos ou status de
determinado personagem de um jogo, como mostrado na Figura 6. O polígono em vermelho
representa a variação do herói para cada um dos atributos. Isso pode ser interessante para
auxiliar a escolha de um personagem que seja melhor em determinada função dentro do jogo.
Figura 6: Gráfico Star Plot feito a partir da ferramenta GameVis.
Extraído de: (FEITOSA et al., 2016)[4].
Outra aplicação mostrada por Feitosa et al. (2016) é a possibilidade de representar os
eventos sobre os dados ao longo do tempo. Na Figura 7 é apresentado uma simulação da
variação do número de eliminações de inimigos ao decorrer de uma partida do jogo Dota 2,
por meio de um gráfico de linhas e de barras.
Figura 7: Gráfico de linha e barras feito a partir da ferramenta GameVis.
Extraído de: (FEITOSA et al., 2016)[4].
Para auxiliar a identificar tendências no Dota 2, Janzen et al. (2014)[8] propuseram a
ferramenta Meta Search. Um exemplo da aplicação é o uso de um gráfico de fluxo para
representar a popularidade dos heróis em diferentes categorias ao longo do tempo, como
mostrado na Figura 8. As áreas dessa figura representam as diferentes categorias as quais os
heróis podem estar associados. Ao escolher uma dessas categorias é exibida uma lista no lado
direito do gráfico contendo os heróis mais populares dessa categoria. Essa forma de
representação foi escolhida por sua simplicidade e facilidade de entendimento sobre as
tendências dos heróis com o passar do tempo. Caso seja do interesse do usuário, a ferramenta
ainda permite visualizar um gráfico de fluxo sobre todos os heróis pertencentes a uma
determinada categoria, como mostrado na Figura 9. Ainda é possível selecionar algum desses
heróis para que seja exibida uma lista com a média dos resultados do mesmo dentro de
determinado período escolhido. Isso permite que o usuário se aprofunde sobre nas estatísticas
de um herói a fim de tentar entender a razão dele ter se tornado mais ou menos popular.
Figura 8: Gráfico de fluxo mostrando as categorias em que um herói pode pertencer ao decorrer do tempo (eixo
Y). Cada cor representa uma categoria, e ao passar o mouse por cima de uma delas é exibida uma lista com os
heróis mais escolhidos nas partidas para essa categoria no período selecionado.
Extraído de: (JANZEN; VIVIANI, 2014)[8].
Figura 9: Gráfico de fluxo mostrando os heróis pertencentes a uma categoria selecionada pelo usuário ao longo
do tempo. Nesse exemplo, é exibido ao lado direito do gráfico de fluxo as estatísticas médias do herói Phoenix
na data escolhida.
Extraído de: (JANZEN; VIVIANI, 2014)[8].
Drachen et al. (2015)[2] propuseram a comparação de dados espaço-temporal do jogo
Dota 2 referente a partidas de diferentes categorias, a fim de analisar as variações de
posicionamento e distribuição dos jogadores no mapa ao longo da mesma. As categorias
foram atribuídas de acordo com o MMR dos jogadores, que é o sistema usado pelo jogo para
dividir os níveis dos jogadores. São elas: normal (2000 <MMR< 3000), nível alto (MMR
3000<MMR<4000), nível muito alto (MMR > 4000) e jogadores profissionais. Todos os
jogadores da última possuem um MMR maior que 4000 e participam de torneios.
Ao analisar a variação média entre as distâncias dos membros dos times pertencentes a
categorias diferentes, (DRACHEN et al., 2015)[2] notaram uma grande variação durante as
fases do jogo, como mostrado na Figura 10.
Figura 10: Gráfico mostrando a variação média da distância entre os times vitoriosos e derrotados pertencentes a
quatro categorias distintas ao longo das fases de início do jogo (a), da metade (b) e do final (c) das partidas de
Dota 2.
Extraído de: (DRACHEN et al., 2015)[2].
A Figura 10 foi dividida em três partes e são referentes as fases das partidas do jogo
Dota 2. São elas: início (até 15 minutos), meio (entre 15 e 30 minutos) e fim (após 30
minutos). No começo dos jogos (Figura 10a) os jogadores de todas as categorias tiveram uma
distância similar. Entretanto, na metade do jogo (Figura 10b) é possível perceber uma
distância considerável entre os times vitoriosos e derrotados, a qual fica ainda mais nítida para
o nível profissional. Por fim, no final do jogo (Figura 10c), essa distância fica ainda maior.
Uma provável explicação para esse fato deve-se pelo fato dos jogadores profissionais saberem
aproveitar melhor os erros dos adversários.
4. METODOLOGIA DE ANÁLISE VISUAL
Dota 2 é um exemplo de jogo MOBA (Massive Online Battle Arena) em que cada partida
consiste de uma luta entre dois times de cinco jogadores cada. Ambos os times, Radiant e
Dire, começam o jogo em lados opostos de um mapa equivalente, em que para vencer é
preciso destruir a fonte inimiga, o Ancient. Essa fonte é protegida por uma série de torres e
barracas distribuídas em três linhas (Figura 11) - “bottom”, “top” e “middle” - que protegem
cada um dos lados de acesso à base inimiga. No total, cada linha é composta de três torres por
lado, além de duas barracas: uma de magos e uma de guerreiros. Ao destruir uma torre de uma
linha, a próxima torre, que antes era invulnerável, pode ser atacada. A cada 30 segundos, uma
nova leva de criaturas neutrais nasce em cada lado do mapa que segue em direção às
estruturas inimigas. Essas criaturas destroem o equilíbrio das linhas, e ao destruir uma barraca
elas se tornam ainda mais fortes. Cada jogador controla apenas um personagem, comumente
chamado de Herói, que possui um conjunto único de habilidades, obtidas ao subir de nível.
Para tanto, é preciso ganhar experiência com a eliminação de heróis inimigos e de criaturas,
os quais não só fornecem experiência, mas também ouro, que pode ser usado para comprar
itens que deixam os heróis ainda mais fortes.
Figura 11: Mapa do jogo Dota 2, as linhas em verde representam o lado Radiant e as vermelho o lado Dire. Cada
um dos círculos nesse mapa representa uma torre.
Extraído de: (Dota 2 Wiki, https://dota2.gamepedia.com/Lane)
Uma das principais características de MOBA’s é o comportamento de um time e como
ele varia de acordo com o resultado das partidas. Esse artigo foca em como os dados variam
de acordo com os times vitoriosos e derrotados.
Os desenvolvedores do jogo Dota 2 disponibilizam os dados das partidas em uma API
pública, que fornece uma série de informações detalhadas sobre todas as partidas jogadas.
Esses dados são então utilizados por diversos sites e blogs para gerar discussões sobre as
melhores estratégias, assim como disponibilizar uma lista com os heróis mais escolhidos ou
com uma porcentagem de vitória maior, por exemplo. Entretanto, essa simples forma de
representação não é capaz de explicar a razão do resultado de determinada partida, ou de
auxiliar os jogadores a compreender as ações que mais influenciam em uma vitória, por
exemplo.
Nesse sentido, o presente trabalho irá focar em dois objetivos principais. O primeiro é
compreender se existe uma relação entre as informações coletadas dos jogos, e qual a
influência de cada uma delas no resultado da partida. Para tal, será usado uma Rede Neural
Multilayer Perceptron (MLP). Com o intuito de permitir que jogadores mais competitivos
possam compreender e analisar os dados, o segundo objetivo será usar algumas técnicas de
visualização que permitam aos jogadores compreender mais a fundo as suas estatísticas.
Nesse contexto, os objetivos do trabalho são formalizados em:
O1.Identificar a variação entre os atributos de acordo com as estatísticas médias de
jogos ganhos e perdidos
O2.Permitir a um jogador comparar o seu desempenho com outros jogadores de uma
mesma partida
O3.Identificar os atributos que são mais influentes no resultado de uma partida
O4.Identificar como determinadas informações das partidas se relacionam umas com
as outras, e como isso varia de acordo com o resultado dos jogos
A seguir serão apresentadas as técnicas utilizadas, bem como uma justificativa do seu
uso no projeto afim de satisfazer os objetivos propostos acima.
4.1 Star Plot
O Star Plot foi escolhido pela simplicidade de compreensão e visualização das médias das
partidas vitoriosas e derrotadas. Os dados do conjunto foram normalizados num intervalo de
um a dez. Sabe-se que essa técnica nem sempre é eficaz para representar muitos atributos ou
instâncias. No entanto, essa técnica se mostrou muito eficiente para o objetivo proposto em
O1. Os usuários são capazes de visualizar facilmente quais atributos variaram de acordo com
as estatísticas médias resultante das partidas com vitórias e derrotas, como é mostrado na
Figura 12.
Figura 12: Exemplo do Star Plot desenvolvido. Em vermelho estão representadas as médias dos atributos de
partidas ganhas, e em azul das perdidas.
Para dar suporte ao objetivo O2, o Star Plot desenvolvido também permite que seja
comparado o desempenho entre todos os jogadores pertencentes a uma partida, como
mostrado na Figura 13. Essa funcionalidade permite identificar em quais atributos
determinado jogador se destacou ou que teve um desempenho inferior em relação aos demais
jogadores da partida. Entretanto, esse tipo de comparação acabou não se mostrando
conclusiva, uma vez que o Dota 2 é um jogo em equipe, em que todo jogador do time
influência no resultado de uma partida.
Figura 13: Star Plot usado para comparar o desempenho entre diferentes jogadores de uma mesma partida.
4.2 Scatterplots e Matriz de Scatterplot
Apesar de Star Plots serem interessantes e simples para detectar outliers e comparar instâncias
de um conjunto de dados, eles são incapazes de auxiliar na detecção de clusters e de estudar a
correlação entre dois atributos diferentes. Nesse sentido, utilizou-se uma Matriz de Scatterplot
que permite visualizar a correlação entre todos os pares de atributos do conjunto de dados de
uma só vez, como é mostrado na Figura 14. Esse tipo de visualização é interessante para
realizar análises mais complexas. Entretanto, o uso de muitos atributos dificultou a análise, e
assim, foram selecionados apenas os atributos que tiveram um peso maior no avaliador de
atributos. Mais detalhes sobre isso são apresentados no Capítulo 5.
Caso alguma das correlações apresentadas na Figura 14 despertem o interesse do
usuário, é possível estuda-la individualmente por meio de um Scatterplot, como é mostrado na
Figura 15. Tanto o Scatterplot quanto as Matrizes de Scatterplot se mostraram muito
eficientes para satisfaze o objetivo proposto em O4.
Figura14: Matriz de Scatterplot do conjunto de dados analisado. As partidas em vermelho representam as
vitórias, e as em azul as derrotas.
Figura 15: Scatterplot utilizado para estudar a correlação entre os atributos Ouro Por Minuto (GPM) e
Experiência por Minuto (XPM). Em vermelho estão representadas as vitórias, e em azul as derrotas.
4.3 Coordenadas Paralelas
Esse gráfico de Coordenadas Paralelas, mostrado na Figura 16, representa as duzentas
instâncias do conjunto de dados analisado. Ele foi utilizado pela simplicidade em identificar
instâncias com comportamentos similares, e por permitir visualizar as diferenças entre as
instâncias de partidas ganhas e perdidas.
A ordem dos atributos nesse gráfico foi escolhida hierarquicamente analisando a sua
capacidade de separar classes em vitória ou derrota, baseando-se na saída do avaliador de
atributos, utilizado para satisfizer o objetivo O3, e é apresentado no Capítulo 5. O gráfico
desenvolvido é interativo é permite que usuários estudem relações entre diferentes pares de
atributos. Para tal, basta selecionar com o mouse determinado atributo e arrastá-lo para trás ou
para frente. Também é possível diminuir o brilho de todas as instâncias para apenas visualizar
as que tenham sido vitoriosas ou derrotadas. Assim, o objetivo proposto em O4 também pode
ser satisfeito com essa técnica.
Figura 16: Coordenadas Paralelas para o conjunto de dados utilizado. Em vermelho estão representadas as
partidas vitoriosas, e em azul as derrotadas.
5. APLICAÇÃO
Nessa seção serão avaliados os resultados obtidos com a aplicação das técnicas sobre o
conjunto de dados coletado. Pelo jogo ser em equipe, optou-se por analisar as estatísticas
médias por equipe nas partidas, e não pelo desempenho individual de um jogador específico.
Cada partida está associada a diferentes informações (atributos), as quais incluem:
1. A média de assassinatos (kills) e assistências (assists) de um time
2. A média de mortes (deaths) de um time
3. A média de ouro (GPM) e de experiência por minuto (XPM) de um time
4. A média de dano (damage) e cura (heal) de um time
5. A média de dano feito em construções inimigas (buildings)
6. A média de Kill Death Assists (KDA) de um time, calculado pela soma de
assassinatos mais assistências, divido pelo número de mortes
7. A média de finalizações (LH) e negações (denies) em criaturas neutrais de um time
8. A equipe que foi vitoriosa (victory) ou derrotada (defeat)
Inicialmente utilizou-se um classificador Multilayer Perceptron para classificar o
conjunto de dados em vitória ou derrota. Utilizou-se os valores 0.3 e 0.2 para os parâmetros
taxa de aprendizado e momento, respectivamente. Os resultados foram atingidos após 500
épocas. Para o conjunto de dados analisado a rede se mostrou ter uma alta acurácia, com
98.5% de taxa de acerto. Optou-se por utilizar apenas uma Camada Oculta pois a precisão da
rede diminui consideravelmente ao utilizar mais de uma camada.
Após a classificação do conjunto de dados, utilizou-se o avaliador de atributos
InfoGainAttributeEval disponível no Weka, para ranquear em ordem decrescente cada um dos
atributos do conjunto de dados utilizados no treinamento da Rede Neural, como é mostrado na
Tabela 1. Como esperado, o atributo de dano em estruturas inimigas foi o mais influente no
resultado de uma partida, uma vez que para ganhar o jogo é necessário destruir construções
inimigas para abrir espaço para atacar o Ancient inimigo. Além disso, as destruições das
mesmas fornecem ouro e abrem mais espaço de mapa, o que frequentemente aumenta a
quantidade de ouro e experiência por minuto que o time atacante recebe.
Tabela 1: Saída do avaliador de atributos do Software WEKA para cada um dos atributos do conjunto de dados
utilizado.
Atributo Valor
Buildings 0.7413
GPM 0.7401
KDA 0.6205
XPM 0.3397
Killls 0.2657
Deaths 0.2499
Assists 0.1967
Denies 0.0963
Damage 0.0714
LH 0
Heal 0
Os atributos avaliados acima são referentes aos dados finais dos jogos. Além disso,
eles foram analisados individualmente e, portanto, não é possível estabelecer uma relação
entre pares dos mesmos. Atributos como finalizações em criaturas neutrais (LH) e quantidade
de cura (heal) são atributos que não possuem uma boa separação entre as classes, e que,
aparentemente, não foram importantes no resultado final de uma vitória. Entretanto, isso não
significa que eles deixaram de ser importantes para contribuição de uma vitória. Muitas vezes,
só é possível destruir torres inimigas após uma briga, por exemplo, caso algum herói aliado
possa curar o time. Assim, esses atributos são fracos individualmente, mas podem ter uma
relação interessante caso sejam analisados em conjunto com outros ou em momentos
diferentes do jogo. Para o presente trabalho, o conjunto de dados é referente apenas a dados
finais de partidas.
Afim de analisar como os atributos do conjunto de dados se relacionam entre si, e para
auxiliar na descoberta de conhecimento, aplicou-se as técnicas de Visualização de Informação
discutidas no Capítulo 4. A seguir serão apresentados e discutidos os resultados de cada uma
delas.
5.1 Star Plot
Uma das conclusões mais interessantes descoberta com o uso da técnica Star Plot foi que ao
comparar a média dos dados de partidas derrotadas com a média de dados de partidas
vitoriosas, apenas o atributo de média de mortes em derrotas excedeu os demais atributos do
conjunto (ver Figura 12). Apesar dessa descoberta ser um tanto quanto óbvia, ela não deixa de
ser muito importante para mostrar que apenas um atributo, que é considerado ruim, foi
superior nas estatísticas médias dos jogos derrotados.
Observando novamente a Figura 12, também é possível ver que atributos como cura e
finalizações em criaturas tiveram valores bem similares, o que provavelmente explica a razão
desses atributos terem valor zero na separação de classes segundo o avaliador de atributos.
5.2 Scatterplot e Matriz de Scatterplot
A matriz de Scatterplot (ver Figura 14) provou ser muito útil para investigar relações mais
complexas dos atributos multivariados do conjunto de dados. Uma das observações mais
interessante descoberta é a de que, com exceção de alguns pares de atributos, a grande maioria
das relações ficaram com dois clusters bem definidos, como é mostrado na Figura 17a e na
Figura 17b. Essa observação indica que existe uma diferença significativa na média dos
atributos para os times vitoriosos e derrotados no final de uma partida.
Ao analisar a relação entre diferentes pares de atributos individualmente, começou-se
a levantar algumas hipóteses. Para o gráfico Buildings vs GPM (ver Figura 17a), por exemplo,
nota-se que a média de ouro obtida por minuto aparenta ser diretamente proporcional ao dano
causado em estruturas inimigas. Torres fornecem um raio de visão para os times, e a sua
destruição limita a visão do time que a perdeu, além de fornecerem uma quantidade fixa de
ouro para todos os jogadores do time inimigo que a destruiu. A falta de visão torna o acesso à
recursos do mapa aliado, como campos de criaturas neutrais, menos segura, o que,
frequentemente, faz com que o time que perdeu mais torres jogue mais recuado, implicando
em um ganho de ouro menor. Para o gráfico XPM vs GPM (ver Figura 17b), por exemplo, o
ganho de experiência por minuto aparenta ter um crescimento linear em relação ao ouro por
minuto obtido. A experiência pode ser obtida através da eliminação de heróis inimigos ou de
criaturas neutrais, e a eliminação de ambas fornecem ouro, que pode ser utilizado na compra
de itens que tornam os heróis ainda mais fortes. Uma provável explicação para isso é um
número maior de recursos seguros disponíveis no mapa para o time vitorioso, obtidos com a
destruição de construções inimigas.
Figura 17: Scatterplots para os pares de atributos Buildings x GPM (a) e XPM x GPM (b). Em vermelho estão
representadas as partidas vitoriosas, e em azul as derrotadas.
5.3 Coordenadas Paralelas
O gráfico de coordenadas paralelas de todos os atributos do conjunto de dados é mostrado na
Figura 18, no qual as instâncias em vermelho representam as partidas vitoriosas e as em azul
as partidas derrotadas.
Figura 18: Gráfico de Coordenadas Paralelas com os 11 atributos do conjunto de dados. Em vermelho estão
representadas as partidas vitoriosas, e em azul as partidas derrotadas.
Utilizou-se a saída do avaliador de atributos para ordenar os atributos do conjunto de
dados de forma decrescente baseando-se na sua capacidade de separação em uma das duas
possíveis classes, como é mostrado na Figura 19.
Figura 19: Gráfico de Coordenadas Paralelas com os 11 atributos do conjunto de dados ordenados de forma
decrescente a partir da saída do avaliador de atributos. Em vermelho estão representadas as partidas vitoriosas, e
em azul as partidas derrotadas.
Analisando visualmente a Figura 19, é possível facilmente perceber que os quatro
primeiros atributos – buildings, gpm, kda e xpm – possuem uma boa capacidade de separar as
partidas vitoriosas das derrotadas. A partir do atributo kills, no entanto, nota-se que as classes
já não estão muito bem separadas, o que dificulta a análise. Um gráfico de coordenadas
paralelas com os quatro melhores atributos para separação das classes é mostrado na Figura
20.
Figura 20: Gráfico de Coordenadas Paralelas com apenas os 4 atributos de maior valor do avaliador de atributos.
Em vermelho estão representadas as partidas vitoriosas, e em azul as partidas derrotadas.
Ao analisar individualmente a distribuição de frequência do atributo buildings em
partidas vitoriosas e derrotadas (ver Figura 21), observou-se que 84% dos casos em que o
dano em torre foi menor que 1750 resultaram em derrotas.
Figura 21: Histograma do atributo buildings em duas classes: Vitória e Derrota. Em vermelho estão
representadas as 100 partidas que resultaram em derrota, e em azul as 100 partidas que resultaram vitória. Foi
escolhido um interevalo de classe variando a cada 500 de dano em construções inimigas (buildings).
6. CONSIDERAÇÕES FINAIS
Nos últimos anos, o cenário competitivo dos jogos aumentou consideravelmente e, jogos
como o Dota 2, por exemplo, realizaram diversos campeonatos com premiações superiores a
um milhão de dólares. Sabe-se que que a forma visual de gráficos e imagens facilita o
entendimento e compreensão pelo ser humano. Nesse sentido, e diante de tamanha proporção
que os eSports tem tomado, o presente trabalho apresenta uma abordagem exploratória
baseada em Visualização de Informação, com o propósito de auxiliar jogadores mais
competitivos a compreenderem melhor os dados de partidas do jogo Dota 2. Nesse sentido,
formalizou-se os objetivos do trabalho em: analisar a variação das estatísticas médias das
partidas em que as equipes foram vitoriosas ou derrotadas, identificar quais são os atributos
mais influentes para a vitória de uma partida e identificar possíveis correlações entre os
atributos analisados.
A fim de satisfazer os objetivos propostos, utilizou-se as técnicas de visualização:
Coordenadas Paralelas, Matriz de Scatterplot e Star Plot. A utilização da visualização de
Coordenas Paralelas mostrou que no conjunto, os atributos – buildings, gpm, kda e xpm –
possuem uma boa capacidade de separar as equipes vitoriosas das derrotadas, a Matriz de
Scatterplot mostrou que alguns pares de atributos como XPM x GPM, por exemplo, possuem
uma associação positiva e indica que, neste caso, quanto maior for a experiência por minuto,
maior será o ouro por minuto de uma equipe, e finalmente com o Star Plot, descobriu-se que
apenas o atributo deaths das estatísticas médias foi maior na equipe derrotada que na
vitoriosa, mostrando que no geral a equipe que morre menos tem uma chance maior de
vitória.
Além de avaliar a eficácia dos atributos do conjunto em um processo de exploração
visual, também se utilizou uma Rede Neural Multilayer Perceptron para fazer uma
classificação automática, que mostrou taxa de acerto de 98.5%, mostrando que alguns dos
atributos investigados têm um potencial para discriminar se uma equipe foi vitoriosa ou
derrotada. O atributo buildings (dano em construções inimigas) se destacou na separação das
duas classes (ver Figura 21), e em 84% dos casos em que o dano em estruturas inimigas foi
menor que 1750 resultaram em derrota.
A principal limitação encontrada foi a de que os dados extraídos da API da Valve são
referentes a dados no momento em que uma partida é ganha, o que impossibilitou uma análise
ao longo de partidas. Em trabalhos futuros, espera-se conseguir analisar os dados das partidas
através de logs, e não somente pela API, para que então seja possível aplicar técnicas de
Aprendizado de Máquina, para poder prever a probabilidade de vitória de uma equipe no
decorrer de um jogo.
REFERÊNCIAS
[1] CARD, S. K.; MACKINLAY, J.; SHNEIDERMAN, B. Reading in information
visualization: using vision to Think (Chapter 1). Morgan Kaufmann, v. 6, n. 4, p. 93,
1999.
[2] DRACHEN, A. et al. Skill-based differences in spatio-Temporal team behaviour in
defence of the Ancients 2 (DotA 2). Conference Proceedings - 2014 IEEE Games,
Media, Entertainment Conference, IEEE GEM 2014, v. 2, n. DotA 2, 2015.
[3] DUMONTIER, P. 1 . Sistemas de Informação na Empresas : Avaliação de Riscos de
Inadimplência e Redes Neurais. v. 31, p. 52–63, 1996.
[4] FEITOSA, V. R. M. et al. GameVis: Game data visualization for the web. Brazilian
Symposium on Games and Digital Entertainment, SBGAMES, p. 70–79, 2016.
[5] GRINSTEIN, G.; TRUTSCHL, M.; CVEK, U. High-dimensional visualizations. Data
mining conference KDD workshop, p. 1–14, 2001.
[6] INSELBERG, A. Visualization and Knowledge Discovery for High Dimensional
Data. p. 5–24, 2001.
[7] INSELBERG, A.; DIMSDALE, B. Parallel coordinates: a tool for visualizing multi-
dimensional geometry. Proceedings of the First IEEE Conference on Visualization:
Visualization `90, p. 361–378, 1990.
[8] JANZEN, B.; VIVIANI, G. Meta Search: A Tool for Mass Analysis of Game Strategy.
2014.
[9] JOHANSSON, J. Efficient Information Visualization of Multivariate and Time-
Varying Data. [s.l: s.n.].
[10] KEIM, D. A.; KRIEGEL, H. Visualization Techniques for Mining Large Databases :
A Comparison. v. 8, n. 6, p. 923–938, 1996.
[11] OLIVEIRA, M. C. F.; MINGHIM, R. Uma Introdução à Visualização Computacional.
XVII Congresso da SBC, n. Cap. 3, p. 42, 1997.
[12] RIEDMILLER, M. Advanced Supervised Learning in Multi-Layer Perceptrons – From
Backpropagation to Adaptive Learning Algorithms. Computer Standards and
Interfaces Special Issue on Neural Networks, 265-275, (1994)
[13] SIEGEL, J.; FARREL, E.; GOLDWYN, R.; FRIEDMAN, H. “The Surgical
Implication of Physiologic Patterns in Myocardial Infarction Shock, Surgery 72(1972),
126–141
[14] YOON, J. A. Star Plots. n. February, 2016.

Mais conteúdo relacionado

Semelhante a Análise Visual de Dados de Partidas de Dota 2

Banco de dados geográfico - Aula de Encerramento
Banco de dados geográfico - Aula de EncerramentoBanco de dados geográfico - Aula de Encerramento
Banco de dados geográfico - Aula de EncerramentoSérgio Souza Costa
 
Bancodedados
BancodedadosBancodedados
Bancodedadosnikson123
 
Apostila projeto geo 2005
Apostila projeto geo 2005Apostila projeto geo 2005
Apostila projeto geo 2005Hudson Góis
 
Aplicações não convencionais de grafos
Aplicações não convencionais de grafosAplicações não convencionais de grafos
Aplicações não convencionais de grafospichiliani
 
20150323 qgis28 remocao_de_valores_negativos_no_mde
20150323 qgis28 remocao_de_valores_negativos_no_mde20150323 qgis28 remocao_de_valores_negativos_no_mde
20150323 qgis28 remocao_de_valores_negativos_no_mdeJorge Santos
 
QGIS 2.8: Substituição de Pixels Negativos no MDE
QGIS 2.8: Substituição de Pixels Negativos no MDEQGIS 2.8: Substituição de Pixels Negativos no MDE
QGIS 2.8: Substituição de Pixels Negativos no MDEJorge Santos
 
Ordenação de Dados por Distribuição de Chaves
Ordenação de Dados por Distribuição de ChavesOrdenação de Dados por Distribuição de Chaves
Ordenação de Dados por Distribuição de ChavesMauricio Volkweis Astiazara
 
Análise da Dispersão dos Esforços dos Funcionários
Análise da Dispersão dos Esforços dos FuncionáriosAnálise da Dispersão dos Esforços dos Funcionários
Análise da Dispersão dos Esforços dos FuncionáriosGuttenberg Ferreira Passos
 
Oficina Gepgi - UFPEL
Oficina Gepgi - UFPELOficina Gepgi - UFPEL
Oficina Gepgi - UFPELLuis Felipe
 
2 construindo gráficos em planilha eletrônica
2   construindo gráficos em planilha eletrônica2   construindo gráficos em planilha eletrônica
2 construindo gráficos em planilha eletrônicaAdriana Santos
 
Tecnicas de analise de redes sociais em apoio a gestão de riscos de segurança...
Tecnicas de analise de redes sociais em apoio a gestão de riscos de segurança...Tecnicas de analise de redes sociais em apoio a gestão de riscos de segurança...
Tecnicas de analise de redes sociais em apoio a gestão de riscos de segurança...GOVERNO DO DISTRITO FEDERAL
 
TDC2016SP - Trilha Data Science
TDC2016SP - Trilha Data ScienceTDC2016SP - Trilha Data Science
TDC2016SP - Trilha Data Sciencetdc-globalcode
 

Semelhante a Análise Visual de Dados de Partidas de Dota 2 (20)

Gráfico em barras
Gráfico em barrasGráfico em barras
Gráfico em barras
 
Banco de dados geográfico - Aula de Encerramento
Banco de dados geográfico - Aula de EncerramentoBanco de dados geográfico - Aula de Encerramento
Banco de dados geográfico - Aula de Encerramento
 
Bancodedados
BancodedadosBancodedados
Bancodedados
 
Estdescr
EstdescrEstdescr
Estdescr
 
Apostila projeto geo 2005
Apostila projeto geo 2005Apostila projeto geo 2005
Apostila projeto geo 2005
 
Aplicações não convencionais de grafos
Aplicações não convencionais de grafosAplicações não convencionais de grafos
Aplicações não convencionais de grafos
 
20150323 qgis28 remocao_de_valores_negativos_no_mde
20150323 qgis28 remocao_de_valores_negativos_no_mde20150323 qgis28 remocao_de_valores_negativos_no_mde
20150323 qgis28 remocao_de_valores_negativos_no_mde
 
QGIS 2.8: Substituição de Pixels Negativos no MDE
QGIS 2.8: Substituição de Pixels Negativos no MDEQGIS 2.8: Substituição de Pixels Negativos no MDE
QGIS 2.8: Substituição de Pixels Negativos no MDE
 
Big Data e NoSQL
Big Data e NoSQLBig Data e NoSQL
Big Data e NoSQL
 
Ordenação de Dados por Distribuição de Chaves
Ordenação de Dados por Distribuição de ChavesOrdenação de Dados por Distribuição de Chaves
Ordenação de Dados por Distribuição de Chaves
 
Estatistica completo revisado
Estatistica completo revisadoEstatistica completo revisado
Estatistica completo revisado
 
victornascimento
victornascimentovictornascimento
victornascimento
 
comparaciones
comparacionescomparaciones
comparaciones
 
18comparaciones
18comparaciones18comparaciones
18comparaciones
 
Aula 4 banco de dados
Aula 4   banco de dados Aula 4   banco de dados
Aula 4 banco de dados
 
Análise da Dispersão dos Esforços dos Funcionários
Análise da Dispersão dos Esforços dos FuncionáriosAnálise da Dispersão dos Esforços dos Funcionários
Análise da Dispersão dos Esforços dos Funcionários
 
Oficina Gepgi - UFPEL
Oficina Gepgi - UFPELOficina Gepgi - UFPEL
Oficina Gepgi - UFPEL
 
2 construindo gráficos em planilha eletrônica
2   construindo gráficos em planilha eletrônica2   construindo gráficos em planilha eletrônica
2 construindo gráficos em planilha eletrônica
 
Tecnicas de analise de redes sociais em apoio a gestão de riscos de segurança...
Tecnicas de analise de redes sociais em apoio a gestão de riscos de segurança...Tecnicas de analise de redes sociais em apoio a gestão de riscos de segurança...
Tecnicas de analise de redes sociais em apoio a gestão de riscos de segurança...
 
TDC2016SP - Trilha Data Science
TDC2016SP - Trilha Data ScienceTDC2016SP - Trilha Data Science
TDC2016SP - Trilha Data Science
 

Análise Visual de Dados de Partidas de Dota 2

  • 1. Exploração Visual de Dados de Partidas de Jogos MOBA Arthur Buosi de Haro, Danilo Medeiros Eler Faculdade de Ciências e Tecnologia -Universidade Estadual Paulista 660XX-XXX – “Júlio de Mesquita Filho” (FCT/UNESP) Departamento de Matemática e Computação Caixa Postal 468 – CEP 19060-900 – Presidente Prudente – SP – Brasil arthurb.haro@gmail.com, daniloelerunesp@gmail.com RESUMO. O cenário competitivo dos jogos vem crescendo a cada ano e se tornando cada vez mais popular. O jogo Dota 2, por exemplo, realizou um campeonato em 2017 que teve uma premiação superior a 24 milhões de dólares, mostrando que os jogos não são mais encarados apenas como forma de entretenimento, mas também como uma profissão. Diante da necessidade de jogadores mais competitivos entenderem melhor os fatores que influenciam nos resultados de partidas, o presente trabalho apresenta uma abordagem de exploração baseada em Visualização de Informação nos dados de cem partidas do jogo Dota 2. Utilizou-se as técnicas de Coordenadas Paralelas, Matriz de Scatterplot e Star Plot, e então, uma classificação foi feita utilizando uma Rede Neural Backpropagation, que se mostrou ter uma alta acurácia, com 98.5% de taxa de acerto. Os resultados obtidos também mostram que em 84% das partidas em que a média de dano em construções inimigas foi menor que 1750 resultaram em derrota. 1. INTRODUÇÃO Com um crescente aumento do número de jogadores e dos eSports (i.e, esportes eletrônicos) nos últimos anos, a competitividade entre os jogadores aumentou consideravelmente. No último ano a premiação do The Internacional 2017, o principal e maior campeonato do jogo Dota 2 (Defense of the Ancients 2), foi superior a 24 milhões de dólares. MOBA’s (Massive Online Battle Arena) são jogos complexos, conhecidos pelas inúmeras estratégias possíveis. Para o presente trabalho, os dados serão oriundos do jogo Dota 2, que é um exemplo de jogo MOBA, em que cada partida consiste de uma luta entre dois times de cinco jogadores cada. Ambos os lados, Radiant e Dire, devem destruir a base inimiga para vencer. Cada jogador controla um personagem, chamado de herói, que possui um conjunto único de habilidades, obtidas ao subir de nível. Para tanto, é preciso ganhar experiência com a eliminação de heróis inimigos e de criaturas, os quais não só fornecem experiência, mas também ouro, que pode ser usado para comprar itens que deixam os heróis ainda mais fortes. A Valve Corporation, empresa responsável pelo desenvolvimento do jogo Dota 2, disponibiliza uma API pública que permite acessar os dados de partidas. Diversos sites e blogs, como DotaBuff1 e OpenDota2 , utilizam essas informações para gerar discussões sobre 1 Acessível em: https://www.dotabuff.com/ 2 Acessível em: https://www.opendota.com/
  • 2. as melhores estratégias, assim como disponibilizar uma lista com os heróis mais escolhidos ou que possuem uma porcentagem de vitória maior, por exemplo. Entretanto, essa simples forma de representação não é capaz de explicar a razão do resultado de determinada partida, ou de auxiliar os jogadores a compreender as ações que mais influenciam em uma vitória, por exemplo. O presente trabalho visa aplicar e comparar técnicas de Visualização de Informação, para auxiliar jogadores mais competitivos a obter um maior entendimento sobre os dados das partidas, permitindo aos jogadores analisar a variação das estatísticas médias das partidas em que as equipes foram vitoriosas ou derrotadas, identificar quais são os atributos mais influentes para a vitória de uma partida, identificar possíveis correlações entre os atributos analisados e permitir que jogadores comparem o seu desempenho com os demais jogadores de uma mesma partida. Este documento está organizado em seis seções, contando com a introdução. A Seção 2 descreve algumas das principais técnicas de Visualização de Informação existentes nas literaturas, que embasaram essa pesquisa, bem como uma breve introdução sobre Redes Neurais. A Seção 3 apresenta uma relação de alguns dos trabalhos encontrados na literatura, cujas metodologias fundamentaram o presente trabalho. A Seção 4 apresenta a metodologia de experimentação visual utilizada no presente trabalho. A Seção 5 apresenta os resultados das aplicações realizadas. Por fim, a Seção 6 relata as conclusões alcançadas e contribuições para trabalhos futuros. 2. FUNDAMENTAÇÃO TEÓRICA Com o crescente volume de dados sendo produzidos diariamente, a analise, a organização e a extração de informações para aumentar o conhecimento humano tem se tornado um grande desafio, principalmente, quando esses dados estão em um formato de difícil compreensão. Formas visuais de representação dos dados tem se mostrado uma maneira eficiente para explorá-los, ao se apoiarem na capacidade de percepção visual do ser humano (CARD; SHNEIDERMAN, 1999)[1] A Visualização de Informação é a área da Ciência da Computação que busca maneiras de representar dados na forma visual de fácil entendimento, como gráficos e imagens. Representar dados na forma visual permite transmitir informações que podem ser compreendidas mais facilmente pelo ser humano (OLIVEIRA; MINGHIM, 1997)[11]. Entretanto, o objetivo da Visualização não é a representação visual dos dados, mas sim o insight (SHNEIDERMAN, 1999)[1], que pode ser obtido por meio da análise dessas representações visuais, e que auxiliam na descoberta de conhecimento e na confirmação de hipóteses, além de influenciar a tomada de decisões. A maioria das técnicas de visualização são aplicadas na análise de dados multivariados, os quais são dados formados por mais de uma variável. Esse formato de dado permite estudar a relação entre os diferentes atributos do conjunto, identificar a tendência dos mesmos e outliers3 . Dependendo da forma com que os dados estão distribuídos e de seu tamanho, uma representação visual pode não apresentar resultados satisfatórios. Por isso, é importante 3 Valores discrepantes que podem indicar instâncias fora do padrão.
  • 3. conhecer diferentes técnicas, para ser possível escolher aquela que se comporta melhor para as características presentes no conjunto de dados usado. Nesse sentido, Keim et al. (1996)[10], propuseram a divisão das técnicas de exploração visual de dados multivariados em seis categorias:  Técnicas de projeção geométrica;  Técnicas iconográficas;  Técnicas orientadas a pixel;  Técnicas hierárquicas;  Técnicas baseadas em Grafos;  Técnicas híbridas. Nas próximas seções, serão explicadas as principais técnicas de Visualização de Informação utilizadas neste trabalho. 2.1.1 Coordenadas Paralelas As coordenadas paralelas (INSELBERG; DIMSDALE, 1990)[7] auxiliam a visualização de um conjunto de dados n-dimensional em uma dimensão 2D. Para tal, cada coordenada das instâncias do conjunto de dados é representado por um eixo paralelo, comumente posicionado com a mesma distância entre si. Assim, em um espaço de dados n-dimensional haverão n linhas paralelas. Seguindo a ideia, cada instância é representada por uma linha poligonal que intercepta cada eixo na posição proporcional ao valor de sua dimensão, e que é comumente definida a partir das instâncias de maior e de menor valor. Na Figura 1, pode-se observar a instância C de dimensão cinco plotada em coordenadas paralelas. O ponto C = (c1, c2, c3, c4, c5) que se refere a instância C, representa uma linha poligonal. Figura 1: Exemplo de Coordenadas Paralelas com uma instância C e cinco atributos (X1–X5). Adaptado de: (INSELBERG, 2001)[6]. Apesar de simples, a técnica de Coordenadas Paralelas é capaz de mostrar a relação e dependência entre diferentes instâncias de dados, sendo útil na exploração visual dos dados que possuem um certo grau de relacionamento entre si. Agrupamentos de linhas que se
  • 4. mantém paralelas indicam dados similares, enquanto linhas que se espalham ao longo do eixo mostram uma grande variação do atributo dado. 2.1.2 Matriz de Scatterplot Scatterplot ou Gráficos de Dispersão assemelham-se a gráficos comuns bidimensionais, e permitem correlacionar dois atributos de uma instância de um conjunto de dados, mostrando seu relacionamento. Quanto maior for a correlação entre os dois atributos, maior será o aspecto linear no gráfico. Entretanto, os gráficos de dispersão não são capazes de representar vários atributos de um conjunto de dados simultaneamente. Assim, a fim de resolver esse problema, pode-se utilizar uma matriz de Scatterplot. Nas matrizes de Scatterplot, são criados um Scatterplot para cada combinação entre dois atributos do conjunto de dados, que então são dispostos de forma arranjada, como mostrado na Figura 2. Dessa forma, para um conjunto n-dimensional, teremos n2 Gráficos de Dispersão (GRINSTEIN; TRUTSCHL; CVEK, 2001)[5]. Figura 2: Matriz de Scatterplot. Extraído de: (GRINSTEIN; TRUTSCHL; CVEK, 2001)[5]. 2.1.3 Star Plot O Start Plot (SIEGEL; 1972)[13] consiste em representar um conjunto de dados multivariados em uma circunferência. Os atributos do conjunto são representados por arestas, que partem do centro da circunferência, e são distribuídos ao redor da mesma de forma equidistante umas das outras. A distância do centro até a aresta é proporcional ao valor do atributo, o qual é normalizado em um intervalo proporcional às demais instâncias do conjunto. No fim, cada atributo será representado por meio de uma polilinha, a qual liga cada uma das arestas formando um polígono. O uso de diferentes cores para representar cada uma das polilinhas permite comparar facilmente uma instância com outra. A Figura 3 mostra um exemplo de um gráfico Start Plot usado para comparar diferentes instâncias de um conjunto de dados. Essa técnica pode ser útil para encontar valores que estão muito acima ou abaixo do padrão, sendo úteis para encontrar outliers.
  • 5. Figura 3: Star Plot onde o Design 1, em verde, possui um peso muito maior no atributo Mass. Isso pode indicar um possível outlier, por exemplo. Extraído de: (YOON, 2016)[14]. O principal problema da Star Plot é a quantidade limitada de atributos e registros que podem ser visualizados simultaneamente. Para grandes instâncias de dados e números grandes quantidades de atributos, o formato do polígono pode acabar sobrecarregado, o que pode dificultar o entendimento do gráfico, como mostrado na Figura 4. Figura 4: Exemplo de um Star Plot com uma quantidade elevada de atributos, o que torna difícil encontrar uma possível relação entre os mesmos. Extraído de: (YOON, 2016)[14].
  • 6. 2.2 Rede Neural Multilayer Perceptron As redes neurais utilizam um modelo baseado na estrutura do cérebro humano. A partir de um treinamento prévio, uma possível aplicação é o seu uso para o reconhecimento de padrões ou para a previsão de resultados na camada de saída. Geralmente as camadas da rede neural são divididas em três grupos: camada de entrada, camada oculta e camada de saída, como mostrado na Figura 5. A de entrada é responsável por representar um neurônio para cada atributo, a oculta realiza quase todo o processamento e, por fim, a de saída apresenta o resultado do processamento. Figura 5: Exemplo de uma Rede Neural com uma camada oculta (ou intermediária). Extraído de: (RIEDMILLER, 1994)[12]. Para o presente trabalho, optou-se por utilizar uma rede Multilayer Perceptron (MLP), que é uma Rede Neural composta de pelo menos três camadas. Essa rede utiliza um algoritmo de aprendizado supervisionado chamado de retroprogração do erro (error backpropagation), que é encarregado de ajustar os pesos da rede com o intuito de minimizar os erros. O número de interações é pré-determinado pelo número de épocas, em que cada iteração corresponde a um ciclo completo da fase de treinamento. Durante a fase de treinamento também é determinado a taxa de aprendizado e a taxa de momento, as quais são responsáveis por determinar a intensidade de variação dos pesos a cada iteração (DUMONTIER, 1996)[3] e por aumentar a velocidade de treinamento da rede, respectivamente. 3. TRABALHOS RELACIONADOS Existem diferentes abordagens presentes na literatura para analisar e estudar dados e tendências referentes a jogos. A seguir serão apresentadas algumas abordagens que foram mais relevantes para o presente trabalho. Feitosa et al. (2016)[4] propuseram uma ferramenta para auxiliar a visualização de dados de jogos, o GameVis, em que diferentes formatos de dados são suportados tornando-a bastante flexível aos usuários. Um exemplo de visualização dessa ferramenta é o uso de um Star Plot, apresentado na Seção 2.1.3, para representar a distribuição de atributos ou status de determinado personagem de um jogo, como mostrado na Figura 6. O polígono em vermelho representa a variação do herói para cada um dos atributos. Isso pode ser interessante para auxiliar a escolha de um personagem que seja melhor em determinada função dentro do jogo.
  • 7. Figura 6: Gráfico Star Plot feito a partir da ferramenta GameVis. Extraído de: (FEITOSA et al., 2016)[4]. Outra aplicação mostrada por Feitosa et al. (2016) é a possibilidade de representar os eventos sobre os dados ao longo do tempo. Na Figura 7 é apresentado uma simulação da variação do número de eliminações de inimigos ao decorrer de uma partida do jogo Dota 2, por meio de um gráfico de linhas e de barras. Figura 7: Gráfico de linha e barras feito a partir da ferramenta GameVis. Extraído de: (FEITOSA et al., 2016)[4]. Para auxiliar a identificar tendências no Dota 2, Janzen et al. (2014)[8] propuseram a ferramenta Meta Search. Um exemplo da aplicação é o uso de um gráfico de fluxo para representar a popularidade dos heróis em diferentes categorias ao longo do tempo, como mostrado na Figura 8. As áreas dessa figura representam as diferentes categorias as quais os heróis podem estar associados. Ao escolher uma dessas categorias é exibida uma lista no lado direito do gráfico contendo os heróis mais populares dessa categoria. Essa forma de representação foi escolhida por sua simplicidade e facilidade de entendimento sobre as tendências dos heróis com o passar do tempo. Caso seja do interesse do usuário, a ferramenta ainda permite visualizar um gráfico de fluxo sobre todos os heróis pertencentes a uma
  • 8. determinada categoria, como mostrado na Figura 9. Ainda é possível selecionar algum desses heróis para que seja exibida uma lista com a média dos resultados do mesmo dentro de determinado período escolhido. Isso permite que o usuário se aprofunde sobre nas estatísticas de um herói a fim de tentar entender a razão dele ter se tornado mais ou menos popular. Figura 8: Gráfico de fluxo mostrando as categorias em que um herói pode pertencer ao decorrer do tempo (eixo Y). Cada cor representa uma categoria, e ao passar o mouse por cima de uma delas é exibida uma lista com os heróis mais escolhidos nas partidas para essa categoria no período selecionado. Extraído de: (JANZEN; VIVIANI, 2014)[8].
  • 9. Figura 9: Gráfico de fluxo mostrando os heróis pertencentes a uma categoria selecionada pelo usuário ao longo do tempo. Nesse exemplo, é exibido ao lado direito do gráfico de fluxo as estatísticas médias do herói Phoenix na data escolhida. Extraído de: (JANZEN; VIVIANI, 2014)[8]. Drachen et al. (2015)[2] propuseram a comparação de dados espaço-temporal do jogo Dota 2 referente a partidas de diferentes categorias, a fim de analisar as variações de posicionamento e distribuição dos jogadores no mapa ao longo da mesma. As categorias foram atribuídas de acordo com o MMR dos jogadores, que é o sistema usado pelo jogo para dividir os níveis dos jogadores. São elas: normal (2000 <MMR< 3000), nível alto (MMR 3000<MMR<4000), nível muito alto (MMR > 4000) e jogadores profissionais. Todos os jogadores da última possuem um MMR maior que 4000 e participam de torneios. Ao analisar a variação média entre as distâncias dos membros dos times pertencentes a categorias diferentes, (DRACHEN et al., 2015)[2] notaram uma grande variação durante as fases do jogo, como mostrado na Figura 10.
  • 10. Figura 10: Gráfico mostrando a variação média da distância entre os times vitoriosos e derrotados pertencentes a quatro categorias distintas ao longo das fases de início do jogo (a), da metade (b) e do final (c) das partidas de Dota 2. Extraído de: (DRACHEN et al., 2015)[2]. A Figura 10 foi dividida em três partes e são referentes as fases das partidas do jogo Dota 2. São elas: início (até 15 minutos), meio (entre 15 e 30 minutos) e fim (após 30 minutos). No começo dos jogos (Figura 10a) os jogadores de todas as categorias tiveram uma distância similar. Entretanto, na metade do jogo (Figura 10b) é possível perceber uma distância considerável entre os times vitoriosos e derrotados, a qual fica ainda mais nítida para o nível profissional. Por fim, no final do jogo (Figura 10c), essa distância fica ainda maior. Uma provável explicação para esse fato deve-se pelo fato dos jogadores profissionais saberem aproveitar melhor os erros dos adversários.
  • 11. 4. METODOLOGIA DE ANÁLISE VISUAL Dota 2 é um exemplo de jogo MOBA (Massive Online Battle Arena) em que cada partida consiste de uma luta entre dois times de cinco jogadores cada. Ambos os times, Radiant e Dire, começam o jogo em lados opostos de um mapa equivalente, em que para vencer é preciso destruir a fonte inimiga, o Ancient. Essa fonte é protegida por uma série de torres e barracas distribuídas em três linhas (Figura 11) - “bottom”, “top” e “middle” - que protegem cada um dos lados de acesso à base inimiga. No total, cada linha é composta de três torres por lado, além de duas barracas: uma de magos e uma de guerreiros. Ao destruir uma torre de uma linha, a próxima torre, que antes era invulnerável, pode ser atacada. A cada 30 segundos, uma nova leva de criaturas neutrais nasce em cada lado do mapa que segue em direção às estruturas inimigas. Essas criaturas destroem o equilíbrio das linhas, e ao destruir uma barraca elas se tornam ainda mais fortes. Cada jogador controla apenas um personagem, comumente chamado de Herói, que possui um conjunto único de habilidades, obtidas ao subir de nível. Para tanto, é preciso ganhar experiência com a eliminação de heróis inimigos e de criaturas, os quais não só fornecem experiência, mas também ouro, que pode ser usado para comprar itens que deixam os heróis ainda mais fortes. Figura 11: Mapa do jogo Dota 2, as linhas em verde representam o lado Radiant e as vermelho o lado Dire. Cada um dos círculos nesse mapa representa uma torre. Extraído de: (Dota 2 Wiki, https://dota2.gamepedia.com/Lane) Uma das principais características de MOBA’s é o comportamento de um time e como ele varia de acordo com o resultado das partidas. Esse artigo foca em como os dados variam de acordo com os times vitoriosos e derrotados. Os desenvolvedores do jogo Dota 2 disponibilizam os dados das partidas em uma API pública, que fornece uma série de informações detalhadas sobre todas as partidas jogadas. Esses dados são então utilizados por diversos sites e blogs para gerar discussões sobre as melhores estratégias, assim como disponibilizar uma lista com os heróis mais escolhidos ou com uma porcentagem de vitória maior, por exemplo. Entretanto, essa simples forma de representação não é capaz de explicar a razão do resultado de determinada partida, ou de auxiliar os jogadores a compreender as ações que mais influenciam em uma vitória, por exemplo.
  • 12. Nesse sentido, o presente trabalho irá focar em dois objetivos principais. O primeiro é compreender se existe uma relação entre as informações coletadas dos jogos, e qual a influência de cada uma delas no resultado da partida. Para tal, será usado uma Rede Neural Multilayer Perceptron (MLP). Com o intuito de permitir que jogadores mais competitivos possam compreender e analisar os dados, o segundo objetivo será usar algumas técnicas de visualização que permitam aos jogadores compreender mais a fundo as suas estatísticas. Nesse contexto, os objetivos do trabalho são formalizados em: O1.Identificar a variação entre os atributos de acordo com as estatísticas médias de jogos ganhos e perdidos O2.Permitir a um jogador comparar o seu desempenho com outros jogadores de uma mesma partida O3.Identificar os atributos que são mais influentes no resultado de uma partida O4.Identificar como determinadas informações das partidas se relacionam umas com as outras, e como isso varia de acordo com o resultado dos jogos A seguir serão apresentadas as técnicas utilizadas, bem como uma justificativa do seu uso no projeto afim de satisfazer os objetivos propostos acima. 4.1 Star Plot O Star Plot foi escolhido pela simplicidade de compreensão e visualização das médias das partidas vitoriosas e derrotadas. Os dados do conjunto foram normalizados num intervalo de um a dez. Sabe-se que essa técnica nem sempre é eficaz para representar muitos atributos ou instâncias. No entanto, essa técnica se mostrou muito eficiente para o objetivo proposto em O1. Os usuários são capazes de visualizar facilmente quais atributos variaram de acordo com as estatísticas médias resultante das partidas com vitórias e derrotas, como é mostrado na Figura 12. Figura 12: Exemplo do Star Plot desenvolvido. Em vermelho estão representadas as médias dos atributos de partidas ganhas, e em azul das perdidas.
  • 13. Para dar suporte ao objetivo O2, o Star Plot desenvolvido também permite que seja comparado o desempenho entre todos os jogadores pertencentes a uma partida, como mostrado na Figura 13. Essa funcionalidade permite identificar em quais atributos determinado jogador se destacou ou que teve um desempenho inferior em relação aos demais jogadores da partida. Entretanto, esse tipo de comparação acabou não se mostrando conclusiva, uma vez que o Dota 2 é um jogo em equipe, em que todo jogador do time influência no resultado de uma partida. Figura 13: Star Plot usado para comparar o desempenho entre diferentes jogadores de uma mesma partida. 4.2 Scatterplots e Matriz de Scatterplot Apesar de Star Plots serem interessantes e simples para detectar outliers e comparar instâncias de um conjunto de dados, eles são incapazes de auxiliar na detecção de clusters e de estudar a correlação entre dois atributos diferentes. Nesse sentido, utilizou-se uma Matriz de Scatterplot que permite visualizar a correlação entre todos os pares de atributos do conjunto de dados de uma só vez, como é mostrado na Figura 14. Esse tipo de visualização é interessante para realizar análises mais complexas. Entretanto, o uso de muitos atributos dificultou a análise, e assim, foram selecionados apenas os atributos que tiveram um peso maior no avaliador de atributos. Mais detalhes sobre isso são apresentados no Capítulo 5. Caso alguma das correlações apresentadas na Figura 14 despertem o interesse do usuário, é possível estuda-la individualmente por meio de um Scatterplot, como é mostrado na Figura 15. Tanto o Scatterplot quanto as Matrizes de Scatterplot se mostraram muito eficientes para satisfaze o objetivo proposto em O4.
  • 14. Figura14: Matriz de Scatterplot do conjunto de dados analisado. As partidas em vermelho representam as vitórias, e as em azul as derrotas. Figura 15: Scatterplot utilizado para estudar a correlação entre os atributos Ouro Por Minuto (GPM) e Experiência por Minuto (XPM). Em vermelho estão representadas as vitórias, e em azul as derrotas.
  • 15. 4.3 Coordenadas Paralelas Esse gráfico de Coordenadas Paralelas, mostrado na Figura 16, representa as duzentas instâncias do conjunto de dados analisado. Ele foi utilizado pela simplicidade em identificar instâncias com comportamentos similares, e por permitir visualizar as diferenças entre as instâncias de partidas ganhas e perdidas. A ordem dos atributos nesse gráfico foi escolhida hierarquicamente analisando a sua capacidade de separar classes em vitória ou derrota, baseando-se na saída do avaliador de atributos, utilizado para satisfizer o objetivo O3, e é apresentado no Capítulo 5. O gráfico desenvolvido é interativo é permite que usuários estudem relações entre diferentes pares de atributos. Para tal, basta selecionar com o mouse determinado atributo e arrastá-lo para trás ou para frente. Também é possível diminuir o brilho de todas as instâncias para apenas visualizar as que tenham sido vitoriosas ou derrotadas. Assim, o objetivo proposto em O4 também pode ser satisfeito com essa técnica. Figura 16: Coordenadas Paralelas para o conjunto de dados utilizado. Em vermelho estão representadas as partidas vitoriosas, e em azul as derrotadas. 5. APLICAÇÃO Nessa seção serão avaliados os resultados obtidos com a aplicação das técnicas sobre o conjunto de dados coletado. Pelo jogo ser em equipe, optou-se por analisar as estatísticas médias por equipe nas partidas, e não pelo desempenho individual de um jogador específico. Cada partida está associada a diferentes informações (atributos), as quais incluem: 1. A média de assassinatos (kills) e assistências (assists) de um time 2. A média de mortes (deaths) de um time 3. A média de ouro (GPM) e de experiência por minuto (XPM) de um time 4. A média de dano (damage) e cura (heal) de um time 5. A média de dano feito em construções inimigas (buildings) 6. A média de Kill Death Assists (KDA) de um time, calculado pela soma de assassinatos mais assistências, divido pelo número de mortes 7. A média de finalizações (LH) e negações (denies) em criaturas neutrais de um time 8. A equipe que foi vitoriosa (victory) ou derrotada (defeat)
  • 16. Inicialmente utilizou-se um classificador Multilayer Perceptron para classificar o conjunto de dados em vitória ou derrota. Utilizou-se os valores 0.3 e 0.2 para os parâmetros taxa de aprendizado e momento, respectivamente. Os resultados foram atingidos após 500 épocas. Para o conjunto de dados analisado a rede se mostrou ter uma alta acurácia, com 98.5% de taxa de acerto. Optou-se por utilizar apenas uma Camada Oculta pois a precisão da rede diminui consideravelmente ao utilizar mais de uma camada. Após a classificação do conjunto de dados, utilizou-se o avaliador de atributos InfoGainAttributeEval disponível no Weka, para ranquear em ordem decrescente cada um dos atributos do conjunto de dados utilizados no treinamento da Rede Neural, como é mostrado na Tabela 1. Como esperado, o atributo de dano em estruturas inimigas foi o mais influente no resultado de uma partida, uma vez que para ganhar o jogo é necessário destruir construções inimigas para abrir espaço para atacar o Ancient inimigo. Além disso, as destruições das mesmas fornecem ouro e abrem mais espaço de mapa, o que frequentemente aumenta a quantidade de ouro e experiência por minuto que o time atacante recebe. Tabela 1: Saída do avaliador de atributos do Software WEKA para cada um dos atributos do conjunto de dados utilizado. Atributo Valor Buildings 0.7413 GPM 0.7401 KDA 0.6205 XPM 0.3397 Killls 0.2657 Deaths 0.2499 Assists 0.1967 Denies 0.0963 Damage 0.0714 LH 0 Heal 0 Os atributos avaliados acima são referentes aos dados finais dos jogos. Além disso, eles foram analisados individualmente e, portanto, não é possível estabelecer uma relação entre pares dos mesmos. Atributos como finalizações em criaturas neutrais (LH) e quantidade de cura (heal) são atributos que não possuem uma boa separação entre as classes, e que, aparentemente, não foram importantes no resultado final de uma vitória. Entretanto, isso não significa que eles deixaram de ser importantes para contribuição de uma vitória. Muitas vezes, só é possível destruir torres inimigas após uma briga, por exemplo, caso algum herói aliado possa curar o time. Assim, esses atributos são fracos individualmente, mas podem ter uma relação interessante caso sejam analisados em conjunto com outros ou em momentos diferentes do jogo. Para o presente trabalho, o conjunto de dados é referente apenas a dados finais de partidas. Afim de analisar como os atributos do conjunto de dados se relacionam entre si, e para auxiliar na descoberta de conhecimento, aplicou-se as técnicas de Visualização de Informação discutidas no Capítulo 4. A seguir serão apresentados e discutidos os resultados de cada uma delas.
  • 17. 5.1 Star Plot Uma das conclusões mais interessantes descoberta com o uso da técnica Star Plot foi que ao comparar a média dos dados de partidas derrotadas com a média de dados de partidas vitoriosas, apenas o atributo de média de mortes em derrotas excedeu os demais atributos do conjunto (ver Figura 12). Apesar dessa descoberta ser um tanto quanto óbvia, ela não deixa de ser muito importante para mostrar que apenas um atributo, que é considerado ruim, foi superior nas estatísticas médias dos jogos derrotados. Observando novamente a Figura 12, também é possível ver que atributos como cura e finalizações em criaturas tiveram valores bem similares, o que provavelmente explica a razão desses atributos terem valor zero na separação de classes segundo o avaliador de atributos. 5.2 Scatterplot e Matriz de Scatterplot A matriz de Scatterplot (ver Figura 14) provou ser muito útil para investigar relações mais complexas dos atributos multivariados do conjunto de dados. Uma das observações mais interessante descoberta é a de que, com exceção de alguns pares de atributos, a grande maioria das relações ficaram com dois clusters bem definidos, como é mostrado na Figura 17a e na Figura 17b. Essa observação indica que existe uma diferença significativa na média dos atributos para os times vitoriosos e derrotados no final de uma partida. Ao analisar a relação entre diferentes pares de atributos individualmente, começou-se a levantar algumas hipóteses. Para o gráfico Buildings vs GPM (ver Figura 17a), por exemplo, nota-se que a média de ouro obtida por minuto aparenta ser diretamente proporcional ao dano causado em estruturas inimigas. Torres fornecem um raio de visão para os times, e a sua destruição limita a visão do time que a perdeu, além de fornecerem uma quantidade fixa de ouro para todos os jogadores do time inimigo que a destruiu. A falta de visão torna o acesso à recursos do mapa aliado, como campos de criaturas neutrais, menos segura, o que, frequentemente, faz com que o time que perdeu mais torres jogue mais recuado, implicando em um ganho de ouro menor. Para o gráfico XPM vs GPM (ver Figura 17b), por exemplo, o ganho de experiência por minuto aparenta ter um crescimento linear em relação ao ouro por minuto obtido. A experiência pode ser obtida através da eliminação de heróis inimigos ou de criaturas neutrais, e a eliminação de ambas fornecem ouro, que pode ser utilizado na compra de itens que tornam os heróis ainda mais fortes. Uma provável explicação para isso é um número maior de recursos seguros disponíveis no mapa para o time vitorioso, obtidos com a destruição de construções inimigas. Figura 17: Scatterplots para os pares de atributos Buildings x GPM (a) e XPM x GPM (b). Em vermelho estão representadas as partidas vitoriosas, e em azul as derrotadas.
  • 18. 5.3 Coordenadas Paralelas O gráfico de coordenadas paralelas de todos os atributos do conjunto de dados é mostrado na Figura 18, no qual as instâncias em vermelho representam as partidas vitoriosas e as em azul as partidas derrotadas. Figura 18: Gráfico de Coordenadas Paralelas com os 11 atributos do conjunto de dados. Em vermelho estão representadas as partidas vitoriosas, e em azul as partidas derrotadas. Utilizou-se a saída do avaliador de atributos para ordenar os atributos do conjunto de dados de forma decrescente baseando-se na sua capacidade de separação em uma das duas possíveis classes, como é mostrado na Figura 19. Figura 19: Gráfico de Coordenadas Paralelas com os 11 atributos do conjunto de dados ordenados de forma decrescente a partir da saída do avaliador de atributos. Em vermelho estão representadas as partidas vitoriosas, e em azul as partidas derrotadas. Analisando visualmente a Figura 19, é possível facilmente perceber que os quatro primeiros atributos – buildings, gpm, kda e xpm – possuem uma boa capacidade de separar as partidas vitoriosas das derrotadas. A partir do atributo kills, no entanto, nota-se que as classes já não estão muito bem separadas, o que dificulta a análise. Um gráfico de coordenadas
  • 19. paralelas com os quatro melhores atributos para separação das classes é mostrado na Figura 20. Figura 20: Gráfico de Coordenadas Paralelas com apenas os 4 atributos de maior valor do avaliador de atributos. Em vermelho estão representadas as partidas vitoriosas, e em azul as partidas derrotadas. Ao analisar individualmente a distribuição de frequência do atributo buildings em partidas vitoriosas e derrotadas (ver Figura 21), observou-se que 84% dos casos em que o dano em torre foi menor que 1750 resultaram em derrotas. Figura 21: Histograma do atributo buildings em duas classes: Vitória e Derrota. Em vermelho estão representadas as 100 partidas que resultaram em derrota, e em azul as 100 partidas que resultaram vitória. Foi escolhido um interevalo de classe variando a cada 500 de dano em construções inimigas (buildings). 6. CONSIDERAÇÕES FINAIS Nos últimos anos, o cenário competitivo dos jogos aumentou consideravelmente e, jogos como o Dota 2, por exemplo, realizaram diversos campeonatos com premiações superiores a
  • 20. um milhão de dólares. Sabe-se que que a forma visual de gráficos e imagens facilita o entendimento e compreensão pelo ser humano. Nesse sentido, e diante de tamanha proporção que os eSports tem tomado, o presente trabalho apresenta uma abordagem exploratória baseada em Visualização de Informação, com o propósito de auxiliar jogadores mais competitivos a compreenderem melhor os dados de partidas do jogo Dota 2. Nesse sentido, formalizou-se os objetivos do trabalho em: analisar a variação das estatísticas médias das partidas em que as equipes foram vitoriosas ou derrotadas, identificar quais são os atributos mais influentes para a vitória de uma partida e identificar possíveis correlações entre os atributos analisados. A fim de satisfazer os objetivos propostos, utilizou-se as técnicas de visualização: Coordenadas Paralelas, Matriz de Scatterplot e Star Plot. A utilização da visualização de Coordenas Paralelas mostrou que no conjunto, os atributos – buildings, gpm, kda e xpm – possuem uma boa capacidade de separar as equipes vitoriosas das derrotadas, a Matriz de Scatterplot mostrou que alguns pares de atributos como XPM x GPM, por exemplo, possuem uma associação positiva e indica que, neste caso, quanto maior for a experiência por minuto, maior será o ouro por minuto de uma equipe, e finalmente com o Star Plot, descobriu-se que apenas o atributo deaths das estatísticas médias foi maior na equipe derrotada que na vitoriosa, mostrando que no geral a equipe que morre menos tem uma chance maior de vitória. Além de avaliar a eficácia dos atributos do conjunto em um processo de exploração visual, também se utilizou uma Rede Neural Multilayer Perceptron para fazer uma classificação automática, que mostrou taxa de acerto de 98.5%, mostrando que alguns dos atributos investigados têm um potencial para discriminar se uma equipe foi vitoriosa ou derrotada. O atributo buildings (dano em construções inimigas) se destacou na separação das duas classes (ver Figura 21), e em 84% dos casos em que o dano em estruturas inimigas foi menor que 1750 resultaram em derrota. A principal limitação encontrada foi a de que os dados extraídos da API da Valve são referentes a dados no momento em que uma partida é ganha, o que impossibilitou uma análise ao longo de partidas. Em trabalhos futuros, espera-se conseguir analisar os dados das partidas através de logs, e não somente pela API, para que então seja possível aplicar técnicas de Aprendizado de Máquina, para poder prever a probabilidade de vitória de uma equipe no decorrer de um jogo. REFERÊNCIAS [1] CARD, S. K.; MACKINLAY, J.; SHNEIDERMAN, B. Reading in information visualization: using vision to Think (Chapter 1). Morgan Kaufmann, v. 6, n. 4, p. 93, 1999. [2] DRACHEN, A. et al. Skill-based differences in spatio-Temporal team behaviour in defence of the Ancients 2 (DotA 2). Conference Proceedings - 2014 IEEE Games, Media, Entertainment Conference, IEEE GEM 2014, v. 2, n. DotA 2, 2015. [3] DUMONTIER, P. 1 . Sistemas de Informação na Empresas : Avaliação de Riscos de Inadimplência e Redes Neurais. v. 31, p. 52–63, 1996.
  • 21. [4] FEITOSA, V. R. M. et al. GameVis: Game data visualization for the web. Brazilian Symposium on Games and Digital Entertainment, SBGAMES, p. 70–79, 2016. [5] GRINSTEIN, G.; TRUTSCHL, M.; CVEK, U. High-dimensional visualizations. Data mining conference KDD workshop, p. 1–14, 2001. [6] INSELBERG, A. Visualization and Knowledge Discovery for High Dimensional Data. p. 5–24, 2001. [7] INSELBERG, A.; DIMSDALE, B. Parallel coordinates: a tool for visualizing multi- dimensional geometry. Proceedings of the First IEEE Conference on Visualization: Visualization `90, p. 361–378, 1990. [8] JANZEN, B.; VIVIANI, G. Meta Search: A Tool for Mass Analysis of Game Strategy. 2014. [9] JOHANSSON, J. Efficient Information Visualization of Multivariate and Time- Varying Data. [s.l: s.n.]. [10] KEIM, D. A.; KRIEGEL, H. Visualization Techniques for Mining Large Databases : A Comparison. v. 8, n. 6, p. 923–938, 1996. [11] OLIVEIRA, M. C. F.; MINGHIM, R. Uma Introdução à Visualização Computacional. XVII Congresso da SBC, n. Cap. 3, p. 42, 1997. [12] RIEDMILLER, M. Advanced Supervised Learning in Multi-Layer Perceptrons – From Backpropagation to Adaptive Learning Algorithms. Computer Standards and Interfaces Special Issue on Neural Networks, 265-275, (1994) [13] SIEGEL, J.; FARREL, E.; GOLDWYN, R.; FRIEDMAN, H. “The Surgical Implication of Physiologic Patterns in Myocardial Infarction Shock, Surgery 72(1972), 126–141 [14] YOON, J. A. Star Plots. n. February, 2016.