toxic

Vai ser tóxico assim no inferno

Se eu tivesse que adivinhar qual a proporção de pessoas que já foram tóxicas em um jogo online eu diria 99.999…%. Não porque toda a comunidade de jogadores é sempre tóxica, mas porque todo mundo tem um mau dia:

Nome do Jogador Partida 1 Partida 2 Partida 3 Partida 4 Partida 5 Partida 6 Partida 7 Partida 8 Partida 9 Partida 10
Alice   TÓXICO                
Bob               TÓXICO    
Carlos TÓXICO TÓXICO                
Daniel         TÓXICO          
Eduardo     TÓXICO           TÓXICO  
                     
Percepção que temos da partida TÓXICO TÓXICO TÓXICO   TÓXICO     TÓXICO TÓXICO  

Todo mundo eventualmente passa por um mau momento: perdeu várias vezes, brigou com chefe/amigos/família/cônjuge, e acabou descarregando a bad no chat do jogo. O problema é que quando a comunidade de jogadores cresce significativamente e os times passam a ser integrados por 10, 16 ou até 32 jogadores, a chance de um deles estar de mau humor é muito alta. Lembrando como probabilidades interagem: em um grupo de 23 pessoas, há 50% de chance de 2 delas fazerem aniversário no mesmo dia.

Ao decorrer de várias partidas de League of Legends que o time do Mean Look jogou, formamos uma crença que é reforçada a cada partida. Conforme ela foi sendo confirmada, surgiu A Teoria Fundamental da Solo Queue:

Em um jogo onde o time tem 5 jogadores, se você montar um time de 4 amigos e deixar o 5º espaço ser preenchido por alguém aleatório, a chance dessa pessoa aleatória ser tóxica é uns 50%. Se você montar um time de 5 amigos, a chance de alguém ser tóxico ainda é uns 50%.

Não é que tenhamos amigos que são bostões e tóxicos. Temos amigos que tem um emprego, que dividem o quarto com irmãos, que estão com uma infiltração no teto do banheiro porque o filho da puta do vizinho não faz nada a respeito já tem um mês. Tomara que ele morra, aquele infeliz. Opa. A idéia toda é de que ninguém está livre disso. E isso é OK, não acho que esse tipo de ofensa seja punível com banimento dos jogos onlines (até porque teríamos jogos bem pouco populosos em alguns casos).

O ponto é: se ser tóxico é algo que acontece com determinada frequência com todo mundo, existem várias nuances de toxicidade que um jogador pode exercer, e podemos determinar limiares dentro disso para determinar o que acontece com essas pessoas.

toxxplayers

A zona intermediária não é passível nem de louvor nem de banimento, mas não significa que nada possa ser feito nesse nível. Minha proposta é olharmos para um mecanismo comum a vários jogos online que pode ser usado para identificar qual círculo do purgatório aquela pessoa deve ser enviada.

Matchmaking

Em geral, jogos online que incentivam a competitividade como CS:GO, League of Legends, Rocket League, etc, têm um processo no qual tentam montar uma partida com jogadores que tem um nível parecido de habilidade. A idéia é que um desnível muito grande entre as habilidades dos jogadores que estão se enfrentando ia deixar o jogo pouco divertido para um dos lados, ou então completamente não-determinístico.

  Oponente muito experiente Oponente iniciante
Jogador muito experiente Partida interessante, cheia de viradas, surpresas e jogadas boas de fazer e assistir. Jogador ganha de goleada.
Jogador iniciante Jogador toma uma surra. TODO MUNDO APERTA TUDO QUE É BOTÃO, ACIDENTALMENTE ACERTA UM SHIN HADOUKEN E FICA RINDO POR HORAS SEM FAZER IDÉIA DE COMO FEZ.

Como isso funciona? Esses jogos em geral tem alguma adaptação de um sistema de rating como o Elo, utilizado para quantificar a habilidade relativa de jogadores de xadrez. Esses sistemas atribuem um número a cada jogador, que indica o nível de habilidade deles, e conforme eles vão jogando, esse número vai sendo calibrado para representar o nível daquele jogador de maneira cada vez mais fiel. Uma vez em posse desse número, o que o sistema de matchmaking faz é procurar grupos de pessoas que melhor atendam um critério. Esse processo é chamado de aproximação do mínimo de uma função, onde se está buscando ter um conjunto de jogadores que tenha, por exemplo, a menor diferença entre suas pontuações*. O conjunto de jogadores escolhidos não precisa ser o melhor possível, ele pode ser o melhor o suficiente para que o tempo de espera para encontrar a melhor partida hipotética não se torne insuportável.

* = Outros critérios podem ser adotados também, mas essa é uma simplificação do processo. Para quem tem interesse nos detalhes dessa ciência sórdida, tem muito, muito, muito, muito, muito material teórico sobre como essa divisão é feita, e algum material mais especializado sobre matchmaking para sistemas onde latência de rede (lag) é uma variável a ser considerada, modelos que questionam habilidade como uma variável, etc.

niveldehabilidade

Oponentes em potencial de acordo com o nível de habilidade

A parte importante aqui é que o sistema tenta obter um conjunto com a menor diferença entre a pontuação dos jogadores. Já existe um pedaço do sistema que tenta encontrar esse conjunto usando uma função que determina a diferença de score entre os jogadores. Recorrendo à matemática do segundo grau, a distância entre dois pontos em um espaço linear que descreve o Elo (ou score de habilidade dos jogadores):

d(A, B) = |EloA – EloB|

OK, estamos calculando distâncias entre os scores em uma reta. E se adicionássemos mais um eixo nesse espaço? E se adicionássemos toxicidade como um dos critérios do matchmaking? Suponhamos que além do seu ranking de habilidade, os jogadores possuíssem um número que determina o quão frequentemente eles praticam comportamento tóxico. Poderíamos modificar a função que determina a diferença de scores para calcular efetivamente a distância entre dois planos em um plano onde X representa o nível de habilidade do jogador e Y seu grau de toxicidade. A distância em um espaço bidimensional é barbada: pitágoras.

a² = b² + c²

(d(A, B))² = (EloA – EloB)² + (ToxA – ToxB

d(A, B) = sqrt((EloA – EloB) + (ToxA – ToxB))

Isso poderia alterar a melhor combinação para um determinado jogador:

eloxtox

Oponentes em potencial de acordo com o nível de habilidade e toxicidade

Podemos até acrescentar pesos diferentes para os critérios de Toxicidade e Habilidade como desejarmos. O importante é que isso poderia ser introduzido como parte do sistema já vigente, sem grandes modificações. Claro que estou generalizando e teorizando sobre sistemas aos quais não temos acesso, e isso dependeria do jogo onde isso seria aplicado mas, em linhas gerais, um modelo assim seria compatível com o caso genérico de matchmaking.

Isso faria com que quanto mais tóxico um jogador é, maior a chance dele ser colocado em uma partida com outros jogadores tóxicos. É uma tática de stealth banning já utilizada por sites como Hacker News, Reddit e Craigslist. O Matchmaking passa a criar experiências mais e mais agradáveis para pessoas que se preocupam em dar a experiencia mais agradável ao seus parceiros de equipe e adversários. Ser gente-fina passa a ser um comportamento desejável, passível de recompensa. Enquanto isso torna o jogo mais divertido para a metade menos tóxica dos jogadores, isso pode gerar um comportamento impassível de recuperação para a metade mais tóxica. Essas pessoas deixam de entrar no jogo ao invés de corrigirem suas atitudes.  Como arrumar?

Nielsen, teu povo te ama

Às vezes temos a sensação de que efetuamos nosso papel brilhantemente, mas o resto da equipe atrapalhou, causando a perda de uma partida. Mesmo quando os outros jogadores também estavam tentando cooperar tanto quanto nós. É um tipo de viés cognitivo. Para que fique clara a tendência de comportamento que o indivíduo tem no jogo, o ideal seria informar o jogador do feedback que ele vem recebendo no decorrer das suas partidas. Pode ser totalmente anônimo, e com um intervalo de alguns dias entre o feedback ser emitido e mostrado. Até para evitar que haja qualquer tipo de retaliação por uma crítica (que diga-se de passagem seria algo mega-tóxico).

Imagina que interessante, se os dados de denúncias e honrarias que você recebe de outros jogadores fossem condensados em um dashboard onde você mesmo pudesse descobrir coisas sobre seu estilo de jogo:

  • Toda vez que eu jogo em um papel de suporte, eu sou mais tóxico do que minha média.
  • Eu sou tóxico em jogos onde eu estou indo bem e meu time não.
  • 30% das vezes que eu fui tóxico, alguém estava me xingando no chat e eu fiquei respondendo.

Isso dá ferramentas para o próprio jogador enxergar como os outros o tem percebido (removendo o viés cognitivo) e para ele mesmo descobrir maneiras de como melhorar sua atitude. Não remove a necessidade de uma punição em casos pesados, mas deixa tudo mais claro. A própria Riot, empresa que desenvolve League of Legends, comenta sobre como dar transparência sobre os motivos pelos quais uma pessoa recebeu uma punição baixou muito os índices de reincidência de atitudes tóxicas. Confere aqui.

dashboard

O próprio Match History de League of Legends já melhorou muito, mas poderia trazer dados mais relacionados entre si.

Outra coisa a considerar é fazer com que o score de toxicidade do jogador caia suavemente conforme ele não recebe nenhuma denúncia. Isso também deixaria uma chance para que as pessoas não ficassem PRESAS na área bem da direita daquele gráfico lá em cima.

Tenho certeza que não é tão simples

Claro que esse tipo de sugestão envolve um trabalho de pesquisa que eu sequer tenho condições de analisar se é plausível ou não. Procurando material para esse post descobri que tem muitas empresas com bastante esforço sendo feito em cima disso. Existem peculiaridades de como essa implementação seria feita para jogos que permitem partidas com times pre-feitos, por exemplo, e também é muito difícil isolar as variáveis do que consideramos comportamento tóxico de maneira que essa triagem possa ser feita de forma automatizada. As mesmas dificuldades são apontadas para calcular o ranking de habilidade de um jogador em jogos de times. E são discutidas em papers da Microsoft, e também nesse outro paper maneiríssimo do nosso colega Nicholas Passy.

Uma coisa que ajuda muito para que esse tipo de coisa possa ser estudada/sugerida pela comunidade são jogos que expõem uma API para desenvolvedores. A Valve (DOTA2, CS:GO,  TF2, etc.) e a Riot Games (League of Legends) possuem esses serviços, mas não permitem acesso a informação de denúncias de toxicidade sobre um jogador, talvez por uma questão de privacidade. Se esses dados não fossem associados a uma conta, mas a um identificador único que fosse conhecido apenas pelo dono da conta, isso seria bastante factível e daria informações suficientes para que desenvolvedores pudessem gerar bons insights a partir delas. Com uma comunidade de fãs tão grandes, a máxima “if you build it they will come” se aplica muito forte aqui. Têm milhares de desenvolvedores que já têm idéias de como cruzar esses dados de maneiras interessantes, basta fornecer maneiras para que isso aconteça.

Por hora, não esqueçam que todo mundo tem um mau dia de vez em quando 😉

rotom_chill

CHIIIIIILL DOWN, CARAS

Uma opinião sobre “Vai ser tóxico assim no inferno”

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *