Existem blogs ou white papers recomendados que falam sobre tornar a IA em um jogo de RPG mais real? (Especificamente em combate por turnos.)
Eu sei que algo deve estar lá fora, mas só estou encontrando trabalhos que falam sobre algoritmos por trás da IA. Estou analisando mais de perto "é isso que faz um oponente de computador se sentir vivo". Assumindo riscos, indo fácil, recuando, etc ....
Tantas respostas impressionantes, e eu gostaria de poder aceitar várias delas. Obrigado a todos!
Respostas:
Erros. Nada é pior do que um oponente de IA que pode atirar na sua cabeça a 24 km de distância, ou sempre escolhe a estratégia de vitória perfeita. Ele quebra a imersão e torna aparente que você está fazendo uma rotina. Erros podem fazer a IA parecer mais humana.
Muitos jogos de FPS forçam a IA a errar com seus primeiros tiros, avisando o jogador que a AI está lá, antes de ir para a matança.
Às vezes, jogos de estratégia podem selecionar uma estratégia sub-otimizada ou, ao avaliar ameaças, podem propositalmente ignorar uma proporção delas.
Um jogo de corrida em que trabalhei calculou quando o jogador estava por perto e depois rolou um dado para fazer os carros de IA na frente dele subvirarem pela esquina ou soprarem um pneu. Foi elogiado por sua IA realista.
No entanto, criar IA imperfeita ainda é um desafio. Você precisa cometer erros convincentes, a um ritmo convincente, em vez de executar uma ação perfeita após uma ação perfeita até cometer um erro ridículo. Isso pode ser ainda pior do que jogar apenas uma IA perfeita. Por exemplo, o programador que trabalhava na IA de corrida acima passou muito tempo modelando como um carro subvenciona e quais entradas a AI precisa fazer para causar uma subviragem convincente. Como sempre, o playtesting é vital.
Aqui está um bom artigo sobre o que é necessário para produzir esse tipo de erro: http://www.gamasutra.com/view/feature/3947/intelligent_mistakes_how_to_.php
fonte
Outros falaram sobre IA, lógica, planejamento e a importância de cometer erros. E tudo isso é bom e útil no desenvolvimento da IA.
Mas a pergunta era sobre o que faz um oponente de computador se sentir vivo, e isso não é possível através da IA. Simplesmente não é. Os jogadores não julgam um personagem em um jogo com base em suas escolhas de nível estratégico; eles julgam isso com base em coisas muito menores.
Para que um oponente do computador se sinta vivo, o que você precisa é de um conjunto abrangente de animações e sons de alta qualidade (vocais, especialmente) para o oponente. O jogador não pode ver a IA. Ele não pode ouvir, ele não pode experimentar, ele não pode saber o que o oponente está pensando. A aparência de "esse personagem é uma entidade viva" é apresentada ao jogador inteiramente por meio das animações que tocam no personagem e dos sons produzidos pelo personagem (que novamente serão principalmente vocais).
É importante que o personagem reaja aos estímulos ao seu redor; olhar as coisas próximas, tocar objetos próximos (quando apropriado), parecer assustado quando surpreso e mostrar outras emoções quando apropriado.
Ao falar sobre essas coisas, é importante minimizar as repetições. Se o personagem usar a mesma animação de "ataque" toda vez que atacar, nunca se sentirá vivo. Se ele reproduzir uma única animação "inativa" em loop quando não estiver fazendo mais nada, não se sentirá vivo. Se ele diz que a mesma voz brinca duas vezes (especialmente consecutivamente), isso quebra a ilusão de que o personagem está vivo.
E é isso mesmo. Se o oponente que você está tentando fazer parecer vivo estiver fisicamente presente em seu jogo, seu sucesso em fazê-los parecer vivos será determinado principalmente pelos gráficos e sons mostrados ao jogador.
Se o oponente que você está tentando fazer parecer "vivo" não está realmente presente no jogo, como é o caso do Chess e do StarCraft, fique à vontade para desconsiderar esta resposta; sua melhor aposta é seguir as respostas focadas na IA.
fonte
Aqui está uma lista de alguns conceitos simples que podem tornar seu oponente mais vívido:
Intenção
Dê ao jogador uma maneira de adivinhar a 'intenção' da IA. Isso pode ser tão simples quanto gritar "Quantidade acima da qualidade" antes de tentar um ataque certeiro, "Flanqueá-lo" enquanto tenta ficar atrás de você ou "Leve o líder, nada mais importa" antes de atacar o protagonista. Você também pode se tornar mais complexo, por exemplo, fazer com que eles dêem uma linguagem de sinais aos seus colegas de equipe e depois alterem o comportamento deles.
Desespero
À medida que o oponente se aproxima da morte, você pode dar a ele uma sensação de desespero. Mude suas táticas em determinados marcos da saúde. Torne os estágios posteriores mais em pânico, com maior risco da parte deles (ir para o granizo maria, em vez de lascar lentamente). Comunique isso visualmente também (animações mais exageradas, veias pulsantes etc.).
Sair com um estrondo.
Dê a eles uma morte que torne a luta com eles algo que vale a pena repetir. Grunhidos caem animadamente. Chefes soliloquiam. Se for um personagem orgulhoso, faça com que eles se recusem a matá-lo e cause o último dano causado a eles mesmos. Você entende a deriva.
fonte
Eu recomendo este google IO falar é sobre o google doodle pacman. Às 18:00, eles começam a falar sobre a personalidade dos fantasmas em pacman. É realmente impressionante como você pode simplesmente colocar personalidades no caminho simples.
Google I / O 2011: Os segredos do Google Pac-Man: um game show
Vale a pena assistir a todo o vídeo. Eu realmente recomendo.
fonte
Eu não conheço nenhum desses blogs, mas como um RPG tático baseado em turnos é meu segundo gênero favorito logo após roguelikes, escreverei uma postagem para você. Pela minha experiência, não foi uma dificuldade de IA tática em um RPG ou RTS que muitas vezes me deixou de lado, mas o contrário: a miopia completa da AI e a ausência de decisões da equipe. Humano nunca vai jogar assim.
Naquela época, quando eu ainda via os JRPGs como um pináculo do design de jogos, uma vez tentei fazer um "TRPG japonês típico" com grande foco em combates táticos por turnos, como Final Fantasy Tactics. Como sempre, tornou-se apenas uma demonstração de tecnologia para busca de caminhos e IA, então vou compartilhar meus pensamentos sobre o assunto.
A maioria desses TRPGs não se incomoda muito com a IA. A diversão dos jogadores não vem de um desafio tático ou estratégico complexo, mas da agricultura em geral e do abuso da IA de uma maneira engraçada. Portanto, não importa muito que suas IAs façam coisas que nenhum humano jamais faria. Normalmente, é suficiente ter uma IA estúpida e equilibrá-la com o design do jogo, de forma que ele nunca precise ver mais de um movimento com antecedência e use apenas os melhores movimentos de curto prazo. Claro que nunca parece real, mas quem se importa? Parece errado, quero acreditar que é possível criar diversão com base em ações complexas de IA em vez de agricultura e rolo a vapor. Talvez desnecessário e demorado, mas possível.
Lembrando o Final Fantasy Tactics original e seu mod incondicional FFT 1.3, eu estabeleci os seguintes objetivos para a IA humana e divertida:
Pensei em abordar o número 1 com comportamentos emergentes, o número 2 com personalidades diferentes e a escolha de estratégias "semi-aleatórias" semelhantes a humanos, o número 3, mantendo a codificação embutida no mínimo e um teste cuidadoso.
Então, quais são esses comportamentos sobre o que estou falando, é uma sequência de habilidades com scripts para usar? A melhor capacidade de uma lista ponderada? Não, o que eu tinha em mente era uma combinação de uma inteligência desejada , tipo de personalidade e um papel derivado das habilidades e armas atualmente disponíveis. Você pode descrever essa combinação como um "estúpido traficante de danos" ou "curador defensivo inteligente". Assim, as especializações de IA, como classes ou profissões, por exemplo, uma Archer AI que usa arco para disparar flechas com algum conjunto de habilidades de arqueiro genéricas predefinidas, como Take Aim ou Arrow Shower, tornam-se logicamente emergentes em vez de codificadas.
Basicamente, é importante detectar e operar nessas funções: negociante de danos, absorvedor de danos, desabilitador, skirmisher, curandeiro, buffer / debuffer, área de efeito; geralmente, um personagem desempenhará pelo menos dois desses papéis.
Para tirar sarro tático disso, queremos que os comportamentos manejem vários casos de maneira sólida:
Caso mais simples. Muitos duendes fracos emboscam nossos heróis. A ameaça percebida é óbvia, os goblins tentarão sobrecarregar o jogador, com cada goblin tendo uma personalidade estúpida de berserk com algumas habilidades corpo a corpo primitivas, a fraqueza percebida também é óbvia, como atrair os goblins a um único personagem blindado e resistente ao fogo e, em seguida, lançar uma série de tiros AoE baseadas em feitiços nessa direção geral. Encontre um absorvente de dano, encontre um AoE'er, especialize-o para o tipo de dano de AoE'er, envie o absorvente de dano para a massa de goblins, lance um feitiço de AoE danificado quando os goblins se agruparem.
Caso usual para testar interações simples da equipe. O jogador encontra um cavaleiro, um arqueiro, um mago e um clérigo. A ameaça percebida agora é mais complexa, várias interações se tornam disponíveis. Você já pode ver possíveis papéis e suas combinações. O clérigo irá polir e curar, o mago distribuirá coisas mágicas complexas, mas altamente prejudiciais, o cavaleiro atacará alguém ou defenderá um mago, o arqueiro ajudará o cavaleiro cortando aqueles que tentam fugir dele ou tornando sua estratégia de defesa mais completa, isso vai depender da escolha do cavaleiro. As personalidades dos inimigos podem ser decididas aleatoriamente, transformando o mesmo encontro em uma experiência única. O jogador terá que decidir qual é a melhor estratégia com as unidades que ele possui atualmente, e se a IA tentar fazer o mesmo no outro lado da tela, seria interessante.
Caso complexo para testar as interações da equipe e o planejamento estratégico. Há uma batalha em que você enfrenta uma gangue de quatro assassinos (negociante de dano cuidadoso e inteligente + skirmisher). Poucos em números, com aparência ameaçadora, a ameaça percebida reside em ataques hábeis e mortais, e a fraqueza percebida é que é fácil reduzir a força geral com apenas um único assassino morto. Então, naturalmente, eles são espertos, usam habilidades que funcionam bem entre si e podem focar os personagens mais perigosos dos jogadores de fogo; os gravemente feridos recuam, curam e se lustram para voltar à batalha. Obviamente, o jogador tentará destruir um deles primeiro, e os assassinos terão que suavizar essa estratégia fácil, para que seja menos dominante.
Caso difícil para muita estratégia. Existem vários esquadrões de inimigos, com cada líder de esquadrão decidindo os melhores movimentos táticos locais e, em seguida, uma melhor decisão estratégica global é selecionada para beneficiar todos os esquadrões.
Caso impossível. Adicione um general para decidir uma estratégia e peça aos líderes de esquadrão que a implementem da melhor maneira possível.
Já existem muitas cartas, e por muito tempo, a implementação foi uma bagunça e eu nunca superei um "caso difícil", mas mesmo assim essa abordagem de táticas divertidas parecia factível. Comecei com FSMs, mas tive que abandonar essa abordagem rapidamente, tornou-se uma bagunça emaranhada de estados e transições impossíveis de depurar. Depois de um tempo, decidi com personagens semi-autônomos baseados em percepção de habilidades, como no paradigma "senso-pensar-agir" com árvores de comportamento para possíveis ações individuais, uma estratégia global que afeta possíveis ações de equipe baseadas em possíveis ações individuais, também uma versão bastardizada de algo como previsão estatística N-Gram foi lançada.
Como isso funcionou? Surpreendentemente bem, a IA até leu minha mente várias vezes, mas eu me cansei e a abandonei, pois havia falhas convincentes mais do que suficientes:
Eu acho que minha abordagem era medíocre, na melhor das hipóteses, se não totalmente ruim, e a IA era um buggy e um pé no saco para se desenvolver ainda mais, mas mesmo assim eu me diverti bastante jogando contra ela, quase como se estivesse brincando com um garoto distraído, que ainda é melhor que o Tactics Ogre :)
fonte
Nem sempre faça com que ele responda à sua ação X com a ação Y. Ao avaliar cada ação em potencial, adicione um fator aleatório de falsificação para que a IA nem sempre escolha a mesma opção, mas escolha algo razoável.
Avalie se um ataque tem uma chance razoável de ter sucesso ou, pelo menos, causar danos significativos. Muitos jogos simplesmente possuem rotas de ataque com script que um humano pode aprender e usar para emboscar a IA repetidamente.
fonte
Uma coisa que vejo sugerida é que a IA comunique seus "pensamentos" ao jogador de alguma forma. Isso geralmente é feito em atiradores em primeira pessoa, fazendo com que os inimigos (irrealisticamente) gritem seus planos para o jogador (ou seja, "flanqueie-o!", "Ele está lá!", Etc.).
No final do dia, os jogadores sabem que estão jogando contra uma IA, então qualquer coisa inteligente que a IA faça sem antes informar o jogador pode ser descartada como trapaça.
fonte
Muitas vezes, pensamos em "como criamos a IA?"
Isso está pulando a grande questão: "O que é IA?"
Essa palestra do TED.com, que eu assisti alguns anos atrás, compartilhou uma abordagem muito inspiradora da definição de Inteligente Artificial.
Se você deseja que seus jogadores sintam que os inimigos são "inteligentes", isso fornecerá uma resposta de alto nível e, essencialmente, uma nova maneira de pensar sobre a IA, que é a "capacidade de prever"
http://www.ted.com/talks/jeff_hawkins_on_how_brain_science_will_change_computing.html
fonte
Para mim, "sentir-se vivo" significa que o personagem age como você pensaria na vida real.
As pessoas na vida real têm necessidades, motivações, medos, falhas. Eles conversam, reagem um com o outro se for um grupo, fogem porque cuidam da própria vida.
Se eles são militares ou treinados, eles têm táticas.
Então, talvez você deva verificar no campo do comportamento humano, assim nas ciências humanas, não nas ciências da computação.
fonte