O Bill agora joga Skat bem!
Bill e Mike estão praticando Skat há algum tempo e finalmente chegaram a um nível em que conseguem jogar de igual para igual!
Na realidade, o que aconteceu foi que eu precisava de uma pequena pausa nos meus projetos habituais. Nunca fiquei muito satisfeito com o nível de jogo oferecido pelos oponentes de computador do Skat, então decidi pesquisar a fundo como os jogadores de Skat de computador realmente funcionam — as estratégias, ideias e os algoritmos mais atuais e amplamente aceitos. Algumas coisas ficaram acima da minha compreensão, mas finalmente consegui entender o assunto o suficiente para tentar colocá-lo em prática.
O resultado? Bill e Mike começaram a me derrotar completamente em todas as mãos. Mas também não sou muito bom em Skat, então precisava de uma referência melhor: um teste A/B. Durante a última semana, metade de vocês jogou com os bots antigos e a outra metade, com os novos. Os resultados chegaram e são muito promissores.
Algumas estatísticas!
Depois de uma semana de teste A/B, ficou extremamente claro que os bots novos superaram os antigos em todos os critérios. Eles ganham mais mãos e marcam mais pontos, defendem melhor e cumprem muito mais contratos que anunciam, por isso vencem mais listas. A conclusão é simples: os bots novos são tão bons quanto — e até um pouco melhores que — a média dos humanos que jogam nosso Skat.
Pontuações das mãos
Antes, os bots ficavam, em média, no vermelho. Em uma mão normal, era de esperar que eles não marcassem ponto algum ou anunciassem e perdessem contratos suficientes para que as penalidades superassem os poucos pontos que conseguiam conquistar. A pontuação média por mão deles era negativa, ao contrário da pontuação razoavelmente boa obtida pelos humanos em geral — provavelmente uma combinação entre os humanos anunciarem contratos melhores e os bots serem um tanto ruins na defesa contra contratos fracos dos humanos.
Os bots novos, porém, são muito mais competentes. Tomando bastante cuidado para não anunciar contratos que não acham que podem vencer, agora eles ganham pontos com mais frequência do que perdem e, assim, obtêm ótimas pontuações médias por mão. Já os jogadores humanos enfrentam bots que defendem muito melhor, então fica bem mais difícil realizar contratos arriscados, o que leva a uma pontuação menor por mão. Mas ainda estão no azul!
Contratos anunciados e contratos vencidos
Como provavelmente fica evidente no gráfico de pontuação das mãos, os robôs agora são competentes o bastante para saber até onde anunciar e como cumprir um contrato depois de vencê-lo.
Como regra geral, você deve vencer pelo menos dois terços dos contratos que anuncia, simplesmente porque a penalidade por perder é o dobro do que se ganha ao vencer. Pode-se dizer com segurança que os bots antigos não alcançavam esse objetivo ambicioso.
Os jogadores de computador antigos geralmente anunciavam demais e, como resultado, não cumpriam muitos de seus contratos. Não a maioria deles, é verdade, mas o suficiente para ficarem abaixo dos mágicos 66% necessários para não entrar no negativo.
Os bots novos são muito mais ponderados. Eles sabem quais anúncios provavelmente conseguirão cumprir e não anunciam acima disso. O Bill foi configurado para assumir mais riscos que o Mike, mas os leilões costumam terminar muito antes de chegar perto da linha vermelha.
Como resultado, quando os bots novos anunciam um contrato, quase sempre o cumprem. Com um bom trabalho em equipe e um pouco de sorte, eles estão longe de serem invencíveis — só não é mais tão ridiculamente fácil derrotá-los quanto antes.
Partidas vencidas
E, finalmente, o motivo de toda essa jornada: tentar corrigir as taxas de vitória extremamente desequilibradas. Os bots antigos, francamente, não eram muito bons. Os humanos que jogavam contra eles venciam uma enorme maioria das partidas: 77%. Isso é simplesmente absurdo, desequilibrado demais para ser justificado até mesmo pela nossa filosofia geral de sermos um “site casual para algumas partidas tranquilas”.
Depois da reformulação, posso afirmar com orgulho que os oponentes de computador estão vencendo aproximadamente na mesma proporção que os jogadores humanos — e até um pouco mais —, com os humanos conseguindo conquistar apenas 30% de todas as vitórias em listas. Isso faz do Bill e do Mike, com folga, os jogadores de computador mais competentes de todo o nosso site! O melhor resultado anterior era o do Cribbage, cujo oponente de computador vence 51% das partidas em um bom dia.
Agora, os bots novos podem parecer um pouco fortes demais e difíceis demais. Não era exatamente nosso objetivo criar um jogador de Skat de nível profissional. Tenho certeza de que um entusiasta realmente bom de Skat conseguiria dar uma surra nos bots novos, mas eles são, sem dúvida, bastante desafiadores. Ainda assim, são um excelente ponto de partida para reduzir um pouco a dificuldade até chegarmos a algo mais próximo de uma divisão equilibrada de 33% para cada lado. Isso fica para uma futura sessão de testes A/B e para um futuro projeto meu!
Os bots novos já estão disponíveis!
A partir desta publicação, os bots novos já estão disponíveis para todos jogarem contra eles.
Os bots novos ficam ativados por padrão através da opção “Oponentes de computador difíceis”, mas jogadores casuais como eu, que precisam praticar um pouco antes de enfrentá-los, podem desativar essa opção no menu de opções. Isso troca os oponentes por versões mais fáceis, que usam o mesmo sistema dos bots novos, mas foram ajustadas para que, juntos, vençam apenas 50% das listas contra o humano. Ainda vou acompanhar o desempenho deles e, se continuarem difíceis demais, vou reduzir ainda mais a dificuldade até que os humanos vençam metade de todas as partidas. Não fiz especificamente um teste A/B para chegar a esse número de 50%; simplesmente fiz os bots fáceis jogarem contra os bots difíceis (que representavam um jogador humano) e fui ajustando os parâmetros até que os bots difíceis vencessem os fáceis na proporção adequada.
Por causa da nova estratégia, o algoritmo de Skat do Bill e do Mike pode ser o mais complicado e elaborado entre todos os jogadores-bot do nosso site, mas, se tudo correr bem, talvez eu me anime a adaptá-lo para mais jogos nossos. Veremos!
Espero que vocês gostem dos bots novos e que eles proporcionem uma experiência mais desafiadora e divertida para todos!
Se quiser experimentar os bots novos, basta acessar Skat here on Cardgames.io. E, se tiver algum comentário ou opinião sobre eles, não hesite em falar comigo por support@cardgames.io ou por qualquer um dos nossos canais de redes sociais.
Até a próxima!