Estou fazendo um jogo 1 x 1, em que cada jogador controla um carro com um joystick idêntico. O objetivo dos jogadores é alcançar um destino de gol antes do outro jogador.
Os jogadores do jogo são colocados em categorias baseadas nas habilidades que controlam o carro, por exemplo, nível de habilidade [1,2,3,4,5], sendo 5 o nível de habilidade mais alto.
Os jogadores não terão a intenção de pular para cima e para baixo nos níveis de habilidade ao jogar o jogo. Após um determinado período, por exemplo, uma semana, os níveis de habilidade serão atualizados. Isso não será mostrado aos jogadores.
O objetivo para mim é fazer com que cada combinação de jogadores no cenário 1 vs 1 seja uma chance de 50/50 de perda para os jogadores.
Exemplo: O jogador 1 (nível 5 da habilidade) vs o jogador 2 (nível 1 da habilidade) devem ter 50% de mudança cada, atingindo primeiro o destino da meta.
Não consegui encontrar nenhuma pesquisa sobre se a melhor prática é limitar as habilidades do bom jogador ou aprimorar as habilidades do mau jogador ou talvez uma combinação.
A idéia é ter adolescentes deficientes jogando contra seus amigos ou familiares fisicamente aptos. Portanto, não é possível não deixar bons jogadores jogarem contra jogadores ruins. Dados de testes de campo mostraram que os adolescentes deficientes apresentam desempenho inferior ao capaz de forma consistente devido a espasmos.
Estou procurando informações sobre como proceder com isso; pesquisa, suas experiências, como outros jogos estão fazendo isso? Existem recomendações comuns para isso?
fonte
Respostas:
Criação de resultados
Se você pode manter métricas de habilidade atualizadas sobre os jogadores, poderá criar um sistema que possa espelhar pessoas com habilidades semelhantes.
É verdade que isso pode levar à fome (e com isso quero dizer jogadores incapazes de jogar porque não há jogo disponível) e não voará no sofá.
Acredito que isso não resolverá seu caso em particular, portanto não elaborarei mais nada.
Handicaps
Eu reclamaria de qualquer sistema de handicap baseado na habilidade dos jogadores. Acredito que Bálint expressou a questão melhor do que pude . Dito isto, desvantagens em qualquer direção são viáveis se estiverem por vontade do jogador.
Ou seja, se os jogadores vão a um menu onde selecionam qual desvantagem desejam e todos estão conscientes dessa escolha, então pode funcionar. Isso é particularmente útil em jogos de sofá com familiares ou amigos, porque eles se conheceriam e - dada a motivação ※ - eles encontrarão alguma configuração que tornará o jogo divertido para todos.
※: Ou seja, se o que eles querem é vencer, em vez de ter uma boa sessão de jogo, isso dará errado.
Como eu disse, as desvantagens - contanto que a vontade do próprio jogador - funcionem em ambas as direções. Ou seja, dificultando as coisas para o jogador "bom" ou facilitando para o jogador "ruim". No entanto, eu gostaria de facilitar as coisas para o jogador "ruim" porque ...
Apanha mecânica
Você pode dar reforços ao jogador que está por trás (independentemente da pontuação da habilidade) para ajudar o jogador a voltar à frente da corrida. Afinal, é quando os jogadores estão próximos na pista de corrida que o jogo é mais interessante.
Um exemplo tradicional será Mario Kart. No jogo, os jogadores atrasados receberão melhores power-ups, o que lhes permitirá alcançar os jogadores que estão na frente.
Você pode estar interessado no conceito de bandas de borracha. É assim que chamamos a idéia de adaptar eventos para se adequar ao desempenho do jogador. Leia mais sobre As abordagens para o equilíbrio dinâmico de dificuldades de jogos na Wikipedia .
Resolver o problema
Talvez a solução seja simplesmente suavizar a entrada. Você pode:
Jogos assimétricos
Mario Chase, da Nintendo Land, é um excelente exemplo de jogo assimétrico.
Eu também começaria com a abordagem de handicap. No entanto, não dando alguma vantagem ou desvantagem aos jogadores, mas oferecendo um mecanismo de entrada diferente ※ e tornando-o opcional.
※: Isso não implica criar ou usar um dispositivo de entrada diferente - no entanto, admito que seria útil, também reconheço que isso pode não ser possível. Quando digo mecânico de entrada, quero dizer a maneira como o jogo interpreta a entrada do usuário.
Para um jogo de tiro em primeira pessoa, considere os efeitos da mira automática ... ele permite que um jogador com dificuldade de movimento aprecie o jogo. No entanto, ele não oferece meios para melhorar a habilidade motora. Em vez disso, sugiro o seguinte:
Sugiro fazer algo assim para o seu jogo de carro. Deixe a pessoa escolher a direção geral, depois ajuste e aplique a mudança. Isso significa que, durante um turno, eles mudarão de modo com antecedência na direção geral do turno e, quando atingirem a curva, ajustarão e aplicarão. De fato, você pode deixar o jogo aplicar gradualmente a curva conforme apropriado; afinal, o resultado da aplicação da curva não deve ser colocar o carro em um caminho circular.
Tenho uma vaga lembrança de ouvir um jogo que tinha esse modo, não consegui encontrá-lo.
A coisa boa dessa abordagem é que é uma diferença de espécie, no entanto, admito que este é apenas um esboço detalhado e não posso garantir que funcione . Se você pegar essa ideia, ou qualquer outra semelhante, terá que receber o feedback de seus jogadores e iterá-lo.
Você pensou em fazer um tipo diferente de jogo em vez de um jogo de corrida? Eu acho que seu objetivo é ajudar essas pessoas, talvez um tipo diferente de jogo seja mais fácil para o tipo de mecânica de equilíbrio que você precisa. Posso sugerir um "shoot'em up" ? - Eu acredito firmemente que um jogo cooperativo será melhor para você.
Termo aditivo
Talvez você também esteja interessado em Incomparáveis , Desequilíbrio perfeito , Modo copiloto , Modo Assit e Efeito de freio .
fonte
Nem é bom. Por que você tentaria melhorar se tudo o que faz é dar bônus ao oponente ou torná-lo pior? Você pode simplesmente fazer um jogo de cassino se apenas as chances decidirem quem ganha.
Também diminui a probabilidade de bons jogadores melhorarem. Se eles empolgam seus oponentes sem nem tentar, não recebem nenhum tipo de feedback.
Não deixe jogadores ruins jogarem contra jogadores bons. Crie algum tipo de sistema de classificação automática, onde bons jogadores joguem contra outros bons jogadores.
fonte
Seu cenário específico é permitir diversão competitiva entre um ou mais jogadores com paralisia cerebral e outros jogadores sem essa condição. Você menciona que a principal desvantagem é a dos tremores, que afetam o jogador reduzindo a eficácia da direção.
Talvez você possa implementar uma mecânica de jogo que simule tremores / perda de controle para os jogadores e que normalmente afeta jogadores de mãos firmes mais do que jogadores não firmes de uma maneira crível. Exemplo: os inimigos de Borderlands gostariam muito se todos em uma corrida estivessem dirigindo de maneira não caótica? Talvez eles tentassem "encorajar" os pilotos a serem um pouco mais interessantes em sua direção. O objetivo seria pegar algo que possa ser considerado uma desvantagem e transformá-lo em parte do jogo. Um desafio, ao invés de um obstáculo. Sinceramente, não sei o quão viável é essa estratégia - estou apenas lançando a idéia por aí.
Outra idéia é processar a entrada de cada jogador e criar um "perfil de mão firme". O perfil menos estável em uma determinada partida pode ser usado para introduzir automaticamente tremores simulados na entrada de outros jogadores. Isso criaria uma correlação direta em desvantagens. Seria também um experimento muito intrigante em aprendizado de máquina.
fonte
Ao desenvolver a IA para jogos de corrida no estilo arcade, é um princípio de design comum se concentrar na IA, dando uma desvantagem (redução de velocidade) a uma IA líder e uma vantagem (aumento de aceleração) a uma IA final, mantendo assim todos os jogadores ( embora seja um jogador humano e vários jogadores de IA) em posições fechadas. Quando a IA está um pouco à frente do jogador, a desvantagem da AI é removida para que o jogador ainda precise tentar vencer (e receba a recompensa emocional de obter uma vitória).
A diferença é apenas relativa; portanto, se a IA principal recebe a desvantagem ou o jogador à direita recebe a vantagem, não há muita diferença na experiência competitiva. O importante é equilibrá-lo para que a habilidade ainda seja necessária. O objetivo do handcap / bônus deve ser restringir a diferença de habilidade, não eliminá-la; o jogo ainda será divertido e será um jogo fechado que qualquer jogador poderá vencer, dependendo de como a corrida decorra.
Portanto, para dar uma redução de habilidade ao jogador mais qualificado ou um bônus ao jogador menos qualificado, sugiro torná-lo um fator do jogo em si, não das vitórias / perdas históricas do jogador.
O que acontece depois que você equilibra as habilidades e seus melhores jogadores perdem metade de seus jogos para seus piores jogadores, a classificação deles será reduzida enquanto a habilidade do jogador menos qualificado aumenta? Se um jogador 1/5 continuar jogando com um jogador 5/5 e a pontuação for 50/50, as habilidades dos dois jogadores serão ajustadas para 3/5? Então eles não terão a vantagem novamente, certo?
As habilidades são dinâmicas, baseadas em vitórias e derrotas históricas, ou serão definidas antes do primeiro jogo e nunca serão alteradas?
Se você fizer isso corretamente, poderá encontrar um equilíbrio, mas eu sugiro que seja uma mecânica do jogo que os jogadores líderes sejam levemente penalizados e os que estão à direita recebam alguns aumentos de velocidade que eles podem ativar. Você pode fazer isso de uma maneira que não seja óbvia para os jogadores, como montar a barra de impulso de um jogador à direita mais rapidamente, para que eles possam aumentar com mais frequência, etc., enquanto o manuseio, a curva de aceleração e a parte superior do jogador principal velocidade, pode ser ligeiramente diminuída; então, à medida que os jogadores se aproximam durante uma corrida, as diferenças diminuem.
Essa maneira de manter as corridas apertadas é boa em geral, não apenas na sua situação. Existem pessoas com muitas habilidades, ou alguém pode ter azar e cair cedo, e é sempre divertido ter uma corrida fechada.
Além desses problemas de balanceamento, projete seu jogo para que ele se aproxime das corridas próximas. Por exemplo, um jogador será severamente punido por ultrapassar a fronteira com um tempo de espera de 15 anos para um helicóptero chegar e pegar seu carro e colocá-lo de volta na pista? Ou eles simplesmente batem de lado e recebem apenas uma pequena redução de velocidade por seu erro?
fonte
Se a pergunta for apenas sobre bônus ou malus, o bônus é o caminho a seguir, conforme descrito pela FFN em um comentário:
Idealmente, esse bônus não é apenas uma alteração nas estatísticas do carro, mas algo mais controlável, como uma recarga mais rápida nas habilidades especiais ativáveis pelo usuário. Pode ser difícil para o usuário se acostumar com o comportamento de um carro, se a velocidade e a aceleração do carro mudarem toda semana, então isso é algo a ser evitado.
Meu conselho é pensar além do bônus e do malus. Existem algumas alternativas.
fonte
Bálint dá uma excelente resposta e gostaria de acrescentar por que acho que sim.
Você verá que, em muitos jogos, as mudanças quantitativas sugeridas são um substituto extremamente ruim para a diferença qualitativa no estilo de jogo, especialmente como uma abordagem ampla / abrangente / irracional que você sugere e na medida em que sugere. Isso tende a exagerar nos bons jogadores que estão sendo injustamente limitados em aspectos cruciais do jogo ou não fazer o suficiente para resolver o que os torna altamente eficazes no jogo. Esse tipo de sistema de captura de todos os handicap tem sido tentado desde o início dos anos 80 e, muito raramente, ou nunca foi mostrado, uma abordagem útil. Se aplicado de maneira muito seletiva em áreas limitadas da mecânica do jogo, por exemplo, multiplicando a saúde de um jogador de FPS noob por duplo ou triplo em comparação com um jogador moderadamente melhor, pode ser útil.
Equilibrar essas tentativas de balanceamento de força bruta para solucionar todas as diferenças nas habilidades humanas é quase impossível. Então, novamente, como sugerido por Bálint, combine jogadores contra outros por habilidade comprovada.
Solução possível
Para limitar cuidadosamente onde você aplica bônus / penalidades, conforme sugerido ...
Eu posso sugerir uma espécie de abordagem inteligente para avaliar estilos de reprodução e reforçar os principais valores de acordo. Por exemplo, se for descoberto que um jogador reage à necessidade de virar muito devagar, tente dar a ele uma espécie de dica preventiva de que ele precisa começar a girar, o que os outros não entendem.
No Doom, um sistema semelhante foi usado para superar a limitação de não poder olhar para cima ou para baixo - se houvesse um inimigo para cima ou para baixo a partir da posição atual da mira, o jogo iria automaticamente mirar para cima ou para baixo, facilitando o jogo jogar como ninguém precisava se preocupar com o controle vertical (isso era especialmente importante, pois foi originalmente escrito para ser controlado apenas com o teclado).
Provavelmente, será necessário arquitetar as coisas de uma maneira que acomode essa coleta de dados em pontos fracos no conjunto de habilidades de cada jogador.
fonte
Os fabricantes de probabilidades enfrentam esse problema desde o início da equipe em esportes coletivos e criaram uma solução simples:
Bata a propagação
Devido à diferença entre os dois níveis de habilidade, o objetivo não é chegar ao fim primeiro ou marcar o maior número de pontos. É ter um spread maior do que o sistema diz que você precisa vencer. Nos jogos com um sistema de pontuação, isso é simples - você precisa vencer o seu adversário por X pontos para "vencer a partida". Sua classificação de matchmaking subirá 0 pontos se você conseguir exatamente X pontos a mais e diminuirá se você conseguir menos de X pontos.
Em um jogo de corrida, você teria que vencer o oponente por um certo tempo. Você pode fazer isso dando vantagem ao jogador fraco, mas isso vai soar como uma penalidade (embora seja um final mais emocionante porque, em teoria, eles chegam ao final ao mesmo tempo.) Você também pode iniciá-lo em ao mesmo tempo, esperando que o jogador forte termine primeiro. O jogador fraco deve garantir que ele termine antes que seu spread acabe.
Em um combate mortal, isso vai ser difícil. Você poderia dizer que precisa ganhar com X quantidade de vida restante. Assim como corridas, isso é semelhante a começar com uma desvantagem.
No final do dia, não há como contornar o fato de que você está tentando fazer uma luta justa a partir de uma luta injusta. Eu jogo xadrez e venci um cara no Chess With Friends 5 vezes seguidas. Ele me desafiou novamente. Eu o venci sem mover minha rainha ou torres durante todo o jogo. Com exceção de eu ficar super bêbado e jogando com ele, ou ele estudando fora de casa, esse sujeito nunca vai me vencer no xadrez. Somente impondo algum limite artificial (talvez da próxima vez eu tenha apenas 1 bispo e 2 cavaleiros ... provavelmente ainda o venceria realmente ... tanto faz) que seremos capazes de tornar isso justo.
fonte
Renomeie o problema
Na maioria dos jogos 1x1, como você descreve, o objetivo é alcançar a linha de chegada primeiro ou fazer algo melhor. Se você faz a coisa melhor que a outra pessoa, você ganha. Esse tipo de competição é uma abordagem testada e verdadeira. Se você está tentando ajustá-lo para que todos ganhem 50% das vezes, isso requer uma mentalidade diferente. Se a competição é entre mim e outra pessoa, e não importa o quanto eu tente, sempre ganho precisamente 50% do tempo, e não importa o quanto eu ensaca, ainda ganho 50% do tempo, vou ficar entediado.
O jogo precisa ser reformulado como mais uma batalha comigo mesmo. Eu sempre posso melhorar. Eu sempre posso melhorar. Se por acaso eu estiver melhorando ao lado do meu amigo deficiente jogando o mesmo jogo, tanto melhor! Ainda preciso manter o objetivo de "vencer", para manter o apego emocional ao jogo, mas preciso dissociá-lo do jogo mais profundo.
Minha abordagem seria começar com um jogo de corrida simples, onde o primeiro até a linha de chegada vence. Depois, com o tempo, tente incentivar os jogadores a se envolverem em atividades que se contrapõem menos entre si e mais contra si mesmas e com o meio ambiente. Talvez adicione alguns mini-objetivos, como tentar fazer uma rolagem 720 perfeita a cada salto no jogo, o que só é dado às pessoas quando isso seria um bom teste de habilidade. Talvez para aqueles com habilidades mais baixas, você possa dar a eles um objetivo por apenas 360. Nunca dê a ambos os jogadores o mesmo teste em uma corrida. Talvez um jogador precise fazer 720s precisos, enquanto o outro recebe crédito por desviar o máximo possível de curvas. Isso torna o tempo final da corrida menos comparável, porque os dois jogadores estão fazendo coisas ligeiramente diferentes durante toda a corrida.
Se você puder convencê-los a começar a pensar dessa maneira, poderá começar a jogar jogos de otimização de pareto. Ofereça "atualizações" aos seus veículos, o que os torna mais adequados para os minijogos, mas que podem afetar negativa ou positivamente os tempos de corrida. Talvez haja um diferencial atualizado melhor para a deriva, mas diminui a aceleração ou algo igualmente louco.
A chave restante é ouvir os jogadores. Entenda o quanto eles estão "cavando" os minijogos. Se eles estão realmente satisfeitos com eles, você pode equilibrar 100% o vencedor final por algoritmo sem diminuir a felicidade do jogador, porque eles não estão focados no vencedor da corrida. Se eles não estiverem jogando nenhum dos minijogos e apenas pedalando com o metal, não será possível otimizar assim sem que um jogador perceba e se recuse a jogar. Nesse caso, você precisará atraí-los para jogar os minijogos. Escolha minijogos que não afetam tanto a corrida final e ofereça-os. Ofereça pequenos bônus que tornarão seu tempo de corrida mais curto sevocê faz os minijogos corretamente (como aumento de velocidade ou outros enfeites) para interessá-los nos jogos. Depois de descobrir que eles estão se divertindo com os minijogos, tente dissociá-los de "vencer a corrida" novamente, oferecendo jogos de habilidade mais interessantes.
fonte
O que você está pedindo não é possível e vai acabar mal.
O grande problema são os efeitos de nivelamento ocultos e de longo prazo. Estes serão testáveis e, portanto, perceptíveis pelos jogadores. Por exemplo, se jogadores acidentalmente ou intencionalmente trocam de controlador sem entrar / sair de seus perfis, eles serão notados imediatamente. Veja o comentário de Ryanfae Scotland:
Em vez disso, se você quiser fazer algo assim e fazê-lo funcionar, siga a "abordagem de Mario Kart". Não registre e responda secretamente a hábitos e resultados de longo prazo, mas ofereça um risco imediato e visível por estar na liderança e vantagens imediatas e visíveis por estar atrás. No seu caso em que a incapacidade pode prejudicar seriamente a capacidade de um jogador de controlar o jogo de maneira eficaz, você provavelmente deseja tornar os efeitos mais pronunciados do que em Mario Kart. Mas tome cuidado para não torná-los muito "jogáveis" e , faça o que fizer, não tente detectar espasmos ou outras informações que você possa revelar quem é o jogador com deficiência.. A menos que o jogador capaz seja conhecido por ser amigável e empático, você deve assumir que haverá jogadores mal-intencionados que imitarão / zombarão do estilo de jogo de seus jogadores com deficiência para obter vantagem, e isso me parece extremamente divertido. experiência.
fonte
Com base na maneira como li o post, o objetivo do jogo (em primeiro lugar) é torná-lo divertido para as duas partes jogando. Proponho um objetivo adicional de ajudar um jogador menos desafiado a sentir algumas das dificuldades que um jogador mais desafiado enfrentaria.
Handicap / Enhance com base na capacidade do outro jogador.
Supondo que você possa determinar a linha para uma corrida "perfeita", você pode determinar quanto um jogador se desvia dessa perfeição. Vamos chamar isso de "deriva". Você então ajusta os controles para imitar a deriva que seu oponente normalmente teria durante a corrida.
Como você registra esse desvio será específico para o design do seu jogo. Um método é examinar pontos-chave (curvas, estradas estreitas, obstáculos) e descobrir a que distância o jogador está da linha perfeita. Outro método é registrar o desvio médio ao longo da execução e encontrar uma média final.
Digamos, com base na média dos últimos 5 jogos, o PlayerOne normalmente está desativado em 30 pontos / pixels / pés / (qualquer que seja a medida) e o PlayerTwo normalmente está desativado em 10 pontos / pixels / pés. Em um jogo frente a frente, o PlayerOne experimenta um "puxão" em direção à linha perfeita e o PlayerTwo experimenta um "empurrão" para longe da linha perfeita. A quantidade e a metodologia exata desse impulso são específicas para o jogo.
Você menciona especificamente que há momentos em que um jogador mais desafiado pode ter movimentos bruscos repentinos. Essas reações exageradas também podem ser registradas e um ajuste é feito em ambos os lados. Se um PlayerOne calcula a média (digamos) 3 desses desvios repentinos mais longe do perfeito em uma corrida típica, isso pode ser registrado. Ao fazer a próxima corrida, o jogo pode olhar para um desvio repentino do perfeito e (por um tempo) ignorar (ou minimizar) esse tipo de entrada, atraindo a pessoa de volta à linha perfeita por até (essa média) três vezes . Além disso, o PlayerTwo pode ter desvios repentinos afastando-o da linha perfeita para imitar o desafio que o PlayerOne enfrentaria. Uma explicação no jogo seria "uma súbita rajada de vento" (talvez até adicione o efeito sonoro?)
Ajustar o "push" e o "pull" através do teste do usuário é importante para equilibrar o jogo e não torná-lo excessivamente frustrante para qualquer tipo de jogador.
Perceba também que, se houver dois jogadores com o mesmo desvio médio, o cálculo fará com que não haja correção para nenhum deles. Isso ainda mantém o nível do campo de jogo automaticamente.
fonte
Classes diferentes
Seu jogo é simetricamente equilibrado, o que leva ao melhor jogador a vencer. Uma solução é criar classes de carros diferentes. Ter aulas que não exigem muita habilidade e realmente não castigam o jogador. E crie classes baseadas em habilidades que são difíceis de utilizar de maneira ideal e / ou punem mais por erros de habilidade.
Isso também terá um efeito colateral útil à sua situação: um jogador "habilidoso" pode ter apenas habilidades variadas em uma ou algumas classes. Se você faz com que certas classes tenham vantagem em relação a outras, de modo a causar uma chance de 50-50 de perder e vencer nessa combinação, você se aproxima do seu objetivo. O jogador habilidoso escolhe seu carro ou escolhe um carro diferente no qual ele não é tão habilidoso. De qualquer maneira, o bom jogador seria desafiado sem derrota e o pior jogador tem uma chance real.
Então as aulas parecem ótimas, certo? Há uma grande desvantagem: é difícil criar um sistema assim e muito mais difícil criá-lo corretamente. Isso exigirá muito pensamento e criatividade, e nunca será perfeito. Além disso, você terá que impedir que novos jogadores usem carros muito difíceis, geralmente por meio de um sistema de desbloqueio de carros. E tenho certeza de que há outras desvantagens e vantagens que perdi ou que não pensei, que provavelmente serão apontadas nos comentários deste awnser, mas com dedicação, você pode superar ou atenuar esses problemas.
fonte
A resposta de Cort Ammon tocou na ideia de jogar contra o seu melhor, mas eu gostaria de ir um pouco mais longe. Seu sucesso dependerá da importância do tema "jogo de corrida" para o seu projeto.
Um exemplo seria, em vez de um jogo de corrida, um jogo de perseguição. O carro da frente tem um avanço, mas um carro mais lento, e seria jogado por quem quisesse (supondo que seja um grupo de pessoas amigáveis, a preferência seria que ele fosse escolhido pelo jogador mais forte). O carro de perseguição é mais rápido, mas, devido ao fato de ser dirigido pelo jogador menos habilidoso, ele não será recuperado em um determinado período de tempo, mas devido à vantagem que o carro de perseguição deve eventualmente alcançar. A pontuação do carro principal é quanto tempo ele evitou ser pego ou ultrapassado; a pontuação do carro de perseguição é o oposto. Em vários jogos, ambos os jogadores podem tentar melhorar sua pontuação um contra o outro. Não há necessidade de definir uma linha de base, pois os jogadores podem fazer isso por si mesmos.
Um estilo de jogo semelhante ainda relacionado às corridas seria fazer com que alguns jogadores seguissem o caminho oposto ao longo da pista e tentassem deliberadamente colidir com os carros que chegavam, e marcar pontos de maneira apropriada. Isso não deve prejudicar um jogador que espastre tanto, pois um espasmo dificultaria a trajetória do carro que se aproximava para prever e evitar / acertar o jogador adversário.
fonte