Em vários jogos, a IA é projetada para facilitar o jogador sem o seu conhecimento. Isso pode ter uma chance de 0% de acertar na primeira vez que você aparecer, um inimigo permitindo que você se esgueire por eles ao não se virar, ou a diminuição da dificuldade quando o jogador estiver machucado ou reiniciado várias vezes.
Eu ficaria ofendido se ao final de um jogo de tabuleiro ou esporte soubessem que um humano não se esforçara ao máximo.
A mesma ética existe para uma IA?
edit Como no título, minha principal preocupação era manter o handicap escondido do jogador, por exemplo, ao jogar um shooter, é razoável esperar que o jogador saiba que a IA tem um tempo de reação artificial e mira ruim, mas minha pergunta era sobre jogos que esconda coisas como inimigos que não usam a melhor arma ou diminuam a dificuldade quando o jogador está ferido.
fonte
"the object of these games is to have fun"
,"the player needs to know that she is achieving"
e"as a rule, adventure games should be able to be played from beginning to end without "dying" or saving the game if the player is very careful and very observant"
deve ser muito aplicável a projetar AIs - incluindo aqueles que "permitem" a vitória jogador.Respostas:
O que você deseja realizar com sua IA?
Se o seu jogo está tentando contar uma história , é razoável que a IA seja ajustada para que você obtenha a história que deseja contar.
Se você deseja que o jogador tenha uma sensação de realização ao superar um obstáculo ou derrotar um oponente, fazer com que a IA controladora jogue o jogo tira isso - você precisa que a AI seja realmente a ameaça que é apresentada.
fonte
As AIs de jogos quase sempre não são competitivas, porque se a IA realmente se esforçasse para vencer, muitas vezes seria imbatível. Uma IA não está vinculada a limitações humanas como reflexos, precisão, percepção, fadiga ou capacidade computacional. Então, quando está jogando seriamente para vencer, nenhum humano jamais teria uma chance.
Vamos dar como exemplo o gênero de tiro em primeira pessoa. A maior parte dessa resposta deve ser aplicável à maioria dos outros gêneros. Há exceções. AIs têm dificuldades em derrotar humanos em jogos de estratégia muito complexos, por exemplo. Muitos jogos de estratégia 4x em tempo real e baseados em turnos trapaceiam muito para tornar os jogadores de IA desafiadores. Mas cobrir todos os gêneros de jogos tornaria o escopo dessa resposta muito grande. Então, vamos nos concentrar no gênero FPS.
Uma IA de jogo perfeito atiraria em você com perfeita precisão no primeiro quadro, onde um único pixel do seu personagem é visível para eles. Às vezes, você encontra isso no modo multiplayer quando joga contra trapaceiros. Eles são chamados de aimbots, e ninguém gosta de jogar contra eles, porque é extremamente frustrante.
Mas uma IA de mira tão perfeita é, de fato, a mais fácil de programar:
Portanto, o jogo perfeito é o comportamento padrão. Fraquezas humanas como falta de atenção, percepção limitada, reação atrasada e pontaria imprecisa são coisas que você como desenvolvedor de jogos precisa programar intencionalmente. E você normalmente leva um longo tempo para ajustar esses aspectos até que o comportamento do inimigo seja plausível e ofereça a quantidade certa de desafio ao jogador. Quanto desafio é "a quantidade certa de desafio"? Pergunta muito interessante, mas não dentro do escopo desta questão.
Lembre-se também de que a maioria dos jogos para um jogador é inerentemente assimétrica por razões narrativas. Os jogadores e os adversários da IA geralmente não têm os mesmos objetivos, têm ferramentas diferentes disponíveis e nem sempre estão sujeitos à mesma mecânica de jogo. Não é incomum que o único personagem-jogador enfrente dezenas ou centenas de oponentes em um único nível. Quando todo oponente seria tão bom quanto o jogador, isso seria impossível. Mas a maioria dos jogos está vendendo fantasias de poder. O jogador deve ser um herói de ação durão que pode derrotar sozinho um pequeno exército. Essa é geralmente a experiência que o jogador espera quando compra um jogo de tiro em primeira pessoa. Isso significa que, para dar ao jogador um desafio "justo", você precisa tornar o único inimigo relativamente fraco e estúpido.
Agora, com relação à pergunta "Devo facilitar o jogo quando o jogador está perdendo?" . Talvez talvez não. Muitos jogadores realmente se sentem condescendentes quando fracassam repetidamente em um desafio e, de repente, o desafio é retirado, tornando-se muito mais fácil. Portanto, você pode evitar isso, pelo menos sem perguntar ao jogador se ele quer ajuda.
Mas o que muitos jogos fazem com muito sucesso é uma técnica chamada bandas de borracha . Ajuste a dificuldade de encontros futuros, dependendo do sucesso do jogador em encontros anteriores. Às vezes você pode fazer isso naturalmente dentro da ficção do jogo.
fonte
A IA de um jogo faz parte do design geral de um jogo. No final do dia, a IA que você cria precisa complementar o design do jogo.
Se o seu jogo é projetado para criar um ambiente desafiador e competitivo, uma IA "perfeita" pode ser uma coisa boa. Ao mesmo tempo, você deve considerar algo muito importante:
Humanos não são computadores .
Mesmo sem trapacear, em muitos jogos competitivos não é difícil criar uma IA capaz de derrotar qualquer humano sem esforço. As IAs não precisam ler as entradas do player para ter tempos de reação mais rápidos do que qualquer humano. Se o jogador executar uma ação que tenha alguma dica visual, a IA tem o direito, sob a sua regra de "jogar da melhor maneira possível", de usar até pequenas diferenças visuais para reagir perfeitamente ao que está acontecendo.
Para fazer isso funcionar, você precisa mudar a natureza do jogo em si. No jogo de humano para humano, você pode ter todas as animações de corda para ataques rápidos parecerem muito diferentes, já que o tempo de reação humano está sendo levado em consideração. Mas para computadores, esse jogo é trivialmente fácil; eles podem reagir instantaneamente e perfeitamente.
Portanto, em jogos de luta, se um computador perfeito tiver uma jogada rápida e você atacar com qualquer coisa que precise de mais quadros do que a jogada, o computador o atingirá . O que era um intrincado jogo de adivinhação, em que os jogadores precisam prever os movimentos um do outro se transforma na perda humana para o computador.
Se você deseja ter uma IA perfeita, precisa criar um jogo em que a IA possa jogar perfeitamente e ainda perder . Isso não é fácil, e não funcionaria em muitos gêneros. Isso só poderia acontecer se houver coisas às quais a IA precise reagir, mas sem tempo suficiente para fazê-lo. Isso seria como jogos RTS, onde há informações ocultas. Um jogo verdadeiramente perfeito exigiria conhecimento perfeito, mas isso é inatingível. Portanto, o computador terá que se contentar com "jogar perfeito, tanto quanto eu sei". E assim, pode ser enganado.
Mas, mesmo nesses jogos, a velocidade dos computadores lhes dá uma vantagem em qualquer situação em que haja informações bem compreendidas. Eles podem micro perfeitamente, posicionando cada unidade para o efeito máximo. E assim por diante.
Basicamente, a maioria dos jogos feitos para humanos são feitos para humanos , não para computadores.
Esta não é uma questão de "ética". É uma questão de para quem o jogo é feito e qual é o objetivo do oponente da IA.
fonte
Como prefácio, vou correlacionar ética com trapaça. Se você se sente enganado, sente que algo antiético aconteceu com você.
Em poucas palavras, para tornar aceitável o comportamento da sua IA, torne crível o comportamento que ela imita. As pessoas não se sentem enganadas por um comportamento crível, elas se sentem enganadas por um comportamento inacreditável / irrealista. Portanto, seja crível e você não terá a questão da ética.
Além disso, observe o que a IA representa ao considerar sua pergunta: é o IntelliGENCE Artificial , não o IntelliGENT Artificial . Inteligência é a capacidade de adquirir e aplicar conhecimentos e habilidades. Inteligente é algo que normalmente possui alta inteligência. Em outras palavras, apenas porque algo tem inteligência não significa que seja inteligente. Um esquilo tem inteligência, mas não é (pelos padrões humanos) inteligente.
Por fim, decisões separadas que a IA toma das mecânicas de jogo reais e não deixe a AI violar as regras. Esse último ponto é talvez um pouco mais difícil de explicar, então aqui está um exemplo ...
Um exemplo com armas e IA
Sua IA não está simulando uma arma e como ela dispara, simula um ser pensante (ou talvez uma máquina) por trás dessa arma.
A arma em si é gerenciada por código que calcula se um tiro é acertado, levando em consideração o alcance, a precisão da arma, o padrão espalhado pela distância, a posição do atirador, se o atirador está se movendo, a habilidade do atirador etc. Você nunca deve mexer com esse código, pois está simulando a realidade mecânica e física. Se você fizer isso, você quebra a credibilidade.
Mas a coisa segurando a arma? Isso é gerenciado pela IA. Ela deve ter nenhuma influência sobre como a arma realmente funciona. Apenas como a arma é usada.
Portanto, dado o comportamento conhecido da arma, pergunte-se por que a IA pode falhar no primeiro tiro. Em seguida, faça com que seu comportamento de IA reflita o que faria o primeiro tiro falhar. É porque está simulando um oponente de baixa habilidade que dispara do quadril e não mira? É porque a IA dispara o primeiro tiro de pânico enquanto se move? É porque o oponente tem uma arma de baixa qualidade? É porque o oponente está muito longe?
Se sua IA simula esses tipos de coisas "por que", você criou uma AI que se comporta de maneira crível quando dispara e erra. E ninguém vai se sentir enganado por esse tipo de IA.
Um cenário para armas e exemplo de IA
Considere um cenário em que você se esconde e surpreende um oponente da IA. Eles pulam e disparam contra você descontroladamente enquanto correm para trás - e seu código de tiro basicamente oferece a eles uma chance muito baixa de acertar no primeiro tiro por causa disso. E supondo que o jogador saiba o que torna os chutes imprecisos, eles acharão essa falta altamente acreditável e aceitável.
Mas, se você quiser, a IA poderia dizer: "OK, preciso aumentar minhas chances de acertar. O que posso fazer ... OK, posso parar de me mover. Posso me agachar. Posso apontar minha arma usando miras ao invés de disparar de o quadril ". E a IA começa a mudar a forma como dispara, e o oponente começa a melhorar. Essa é a inteligência se movendo em direção à inteligência.
É claro que uma versão muito inteligente desse oponente não entrará em pânico e irá imediatamente para a ação mais eficaz. Eles podem rapidamente cair de joelhos e mirar em você com mira, e aumentam muito suas chances de acertar.
Resumo de armas e exemplo de IA / Conclusão
Basicamente, o que isso diz é para a IA que envolve atirar em alguma coisa, o "nível de habilidade" da IA gira em torno da velocidade com que ela se move para fazer o possível para otimizar sua precisão. A AI super burra nunca descobre, sempre disparando a partir do quadril enquanto corre e se move. A inteligência artificial faz cada vez mais para otimizar a precisão. A AI REALMENTE inteligente apenas faz tudo o que pode para otimizar a precisão.
fonte
Sim. Uma IA deve permanecer no nível em que foi definida.
Uma IA de xadrez sempre vence todos nós, e cabe a nós ajustá-la a algo que acharmos agradável. Eu nunca iria querer que a IA se embaçasse quando vir que vai ganhar ou aparecer um pop-up dizendo "companheiro em 25, você quer que eu seja pior no xadrez?". Apenas me bata até me cansar de jogar em um nível que está além de mim.
Não vamos pensar que dar ao oponente todas as rainhas tenha alguma coisa a ver com a IA.
fonte
Eu diria que não. Você vê para mim jogos são, antes de tudo, produtos de entretenimento. Eles querem oferecer uma experiência a um público específico. Portanto, tudo depende de qual experiência e para qual público você deseja fazer uma experiência. Tome um novo jogo, por exemplo, como Cuphead. Este jogo é feito para pessoas que querem que o jogo seja difícil, implacável e assim por diante. Esse tipo de jogador se sentiria mal se o jogo diminuísse depois de morrerem X vezes (até agora eu morri 255). Então, novamente, diminuir automaticamente a dificuldade para um público mais casual pode ajudá-los a progredir no jogo e, geralmente, a se divertir. Então, em conclusão: "Conheça o seu público".
fonte
Tente ser competitivo em um esporte com sua data ou com seus filhos. Nos dois casos, você pode acabar praticando esse esporte sozinho, porque não foi divertido para eles.
O termo Inteligência Artificial é um pouco enganador. Por padrão, a IA é executada pelo computador que possui um conhecimento completo das regras e do estado do jogo; portanto, a AI saberia exatamente o que fazer e quando fazê-lo para vencer o jogador.
Isso não é divertido.
A parte de Inteligência da IA deve ser transformada em idiotice, apenas o suficiente para desafiar os jogadores e mantê-los jogando.
Esse é um desafio e é por isso que os designers de jogos existem.
fonte
Por fim, o papel da IA é ajudar a produzir uma experiência recompensadora e digna de nota. O Dr. Ian Lane Davis fala sobre isso em algumas de suas entrevistas, que o papel de uma IA é perder de forma convincente. Entrevista com a PCAuthority (A mecânica que você mencionou são exemplos do jogo que não é convincente, ao invés disso, opta por uma maneira barata e fácil de proporcionar vitória ao jogador.)
Da mesma entrevista:
Nos filmes, livros, programas de TV, o que queremos como telespectadores é que as chances aumentem contra o protagonista, mas apenas até certo ponto. Então queremos que os mocinhos ganhem. Quanto mais perto o inimigo chegava da vitória, maior a recompensa.
O objetivo é sempre entretenimento.
fonte
O objetivo da sua IA não deve ser vencer, deve proporcionar um jogo agradável. Parte desse prazer está em ser desafiada. Minha abordagem a isso no Scrabble foi dupla: primeiro, aponte para peças que correspondam ao nível de vocabulário do ser humano. A correspondência de níveis melhorará ao longo de vários jogos, mas você também pode fazer uma estimativa bastante boa nos primeiros jogos. No Scrabble, você precisaria de um léxico classificado pela idade da leitura, embora como um substituto, o uso de um corpus grande para determinar a frequência de palavras em uso seja uma aproximação razoável. Em segundo lugar, use construções de reprodução que imitam inicialmente as humanas - por exemplo, um computador geralmente faria muito mais paralelas do que um jogador humano ocasional (suponho que não estamos jogando com especialistas de classe mundial). No entanto, à medida que a experiência contra um oponente específico aumenta,então você começa a usar alguns truques contra eles que eles não usam a si mesmos - mas esporadicamente, com a intenção de fornecer um exemplo para o ser humano imitar e melhorar seu próprio jogo.
O sucesso da sua IA será medido pela frequência com que o humano voltará para uma partida de retorno. Sua satisfação com o código deve vir de quão bem ele consegue tocar como um humano e não como uma máquina. Isso é algo que pode ser testado através da criação de competições online em que os humanos não sabem se estão jogando com outros seres humanos ou máquinas. (Um teste de Turing limitado)
Eu sempre me referi a esse estilo de codificação como "estupidez artificial" em vez de IA :)
Eu não considero isso antiético. Por outro lado, acho que usar todos os recursos de um algoritmo de computador para derrotar um humano é antiético - tanto quanto alguém jogando Scrabble online usando um computador para encontrar as peças com maior pontuação.
Outra maneira de 'emburrecer' um algoritmo é colocar limitações genuínas no nível humano das capacidades do seu jogador de IA - novamente, usando o Scrabble como exemplo, em vez de fornecer um vocabulário fixo, você pode fazer com que o seu jogador de IA aprenda seu vocabulário lendo a Internet artigos e você pode limitar sua capacidade de memória para que tenha que fazer escolhas deliberadas de quais palavras vale a pena lembrar. Não há absolutamente nada antiético nisso e ele alcança o objetivo de tornar o jogo mais humano - por exemplo, remover a vantagem do computador de ter um conhecimento perfeito de quais palavras são válidas no dicionário e quais devem ser desafiadas quando jogadas pelo oponente humano. .
fonte
Existem várias razões pelas quais os oponentes do computador precisam ser emburrecidos.
Philipp já mencionou a parte de se divertir, mas outro que vale a pena mencionar é o de equilibrar as vantagens injustas dos oponentes dos computadores.
Não somos capazes de criar uma IA verdadeira que funcione como um jogador. Os oponentes de computador que enfrentamos hoje (mesmo quando chamados de IA) não estão analisando a imagem renderizada do jogo para encontrar o que atirar, como um humano. Nem precisam mover um objeto físico sobre a superfície da mesa para indicar que precisam virar.
De fato, a maioria dos oponentes de computadores tem o baralho empilhado a seu favor. Eles sabem a localização exata de cada jogador, qual a sua altura, onde o ponto ideal de tiro na cabeça é para esse tipo de inimigo / modelo de personagem, tem uma arma que eles podem dizer "atirar nessa coordenada" e é um golpe exato, etc. para tornar o jogo justo, agora você precisa se aproximar das limitações de um humano.
Portanto, grande parte desse "emburrecimento" é necessária simplesmente para criar um jogo justo para os oponentes que jogam de acordo com regras diferentes.
Se você já está fazendo isso, é um pequeno passo para aplicar mais algumas modificações no efeito de contar histórias e tornar as coisas mais divertidas.
Outro aspecto é a linha do tempo acelerada na qual a maioria dos jogos é executada. Existem jogos de quatro horas em que você é um atirador de elite. Leva muito mais tempo para aprender a disparar com precisão uma arma. Leva mais tempo do que isso para rastrear um animal através de uma floresta. Um bom jogo encontra o equilíbrio certo entre tornar o jogo trivial para vencer e ter que frequentar anos de academia de polícia.
Portanto, depende de quem e para que serve um jogo, se essas escolhas são boas. Por exemplo, muitos jogos grandes realmente não são um jogo único. São vários jogos mesclados em um, para atrair o público mais amplo possível e ganhar dinheiro suficiente para recuperar os enormes custos iniciais de um jogo com ação / captura de voz, voz, pontuação e textura.
Então você terá jogadores que querem competir com outros jogadores, que se preocupam apenas com a mecânica da batalha. Você tem outros que querem apenas experimentar uma história interativa e consideram as batalhas entre eles uma tarefa árdua, e outros que procuram principalmente um jogo de criação ou uma simulação de gerenciamento ou negociação de recursos.
Para encontrar o ponto ideal aqui, você deve oferecer um desafio para cada tipo de jogador, mas também deve mantê-lo simples o suficiente para que os outros tipos de jogadores possam ignorar aquelas mecânicas indesejáveis (para eles) ou concluir o jogo enquanto estão jogando. mal neles.
Em jogos para um jogador, isso geralmente é conseguido permitindo sustentar déficits em um mecânico com habilidade excepcional em outro (por exemplo, criar uma armadura incrível e a luta se tornar mais fácil) ou ter configurações de dificuldade que permitem ativar / desativar o partes que o irritam.
No multiplayer, isso não é realmente possível, então você combina jogadores com rank / equipamento semelhante e ajusta a dificuldade durante todo o jogo.
No entanto, esses são truques bastante "acima da tabela". Todo jogador recebe a "última bala de dano duplo secreto" e pode tirar vantagem disso. A compreensão intuitiva da maioria das pessoas sobre a probabilidade de uma "chance de acerto de 50%" realmente está errada, e eles serão ajudados informando as porcentagens "traduzidas" para o "idioma". O que, como você diz, sobre truques "secretos"?
Bem, se um jogo fosse como xadrez, e lhe dissessem um conjunto de regras, mas na verdade essas eram uma mentira, isso seria trapaça.
Mas nenhum dos jogos de artigos recentes que li sobre os truques dos desenvolvedores de jogos para fazer você se sentir melhor era assim. A maioria eram jogos repletos de histórias, famosos por invocar um certo humor ou sentimento. E nesse contexto, exibir barras de saúde 100% matematicamente corretas torna o jogo muito menos emocionante.
É como um truque de mágica: os jogadores esperam receber uma ilusão, então acho que é justo dar a eles. Também é como um truque de mágica, pois algumas pessoas ainda querem acreditar que há mágica real e ficarão desapontadas quando descobrirem o truque.
fonte
Quando um oponente humano não se esforça ao máximo, você fica ofendido porque é condescendente. A IA não pode ser condescendente, mas você pode pensar que o desenvolvedor da IA pode. Existem duas diferenças aqui:
Isso também se aplica ao design de níveis. Você pode pensar que é condescendente se o desenvolvedor o receber com avisos óbvios, mas isso apenas torna o jogo chato. Da mesma forma, se é tão difícil que você precisa de reflexos de milissegundos, pode ser tão frustrante que é chato.
Reduz ao mesmo problema que está sempre entre os seres humanos. Se você praticou um esporte chamado "futebol de bebê", não se ofende com o inventor do jogo, porque eles não estão sendo condescendentes com você em particular. Igualmente "futebol de artilharia" é o mesmo na direção oposta.
Teria de haver um ser humano envolvido, por exemplo, um oponente multijogador que permita vencer, para que o ataque seja equivalente à OMI.
fonte
Ao criar um jogo, você deseja criar uma experiência , não uma IA que seja tecnicamente / mecanicamente "justa".
Em alguns jogos, os jogadores podem sofrer mais alguns golpes do que o normal quando estão com pouca saúde. Esse mecânico é implementado propositadamente para criar a experiência de sobreviver por pouco a uma luta. Os designers de jogos querem que você tenha essa adrenalina, mesmo que você tenha sofrido um ou dois golpes a mais do que deveria. Não há absolutamente nada antiético em implementar algo semelhante no seu jogo.
O mesmo conceito se aplica à IA em geral. Você pode criar as regras do seu jogo, mas o mais importante é que você está no controle total da experiência. Se tornar a IA inconsciente do seu movimento próximo ou fazer com que eles percam suas primeiras tacadas melhora a experiência do jogo, então implemente-os sem culpa.
Se a premissa / design do seu jogo girar em torno da IA implacável, convém garantir que seja uma experiência divertida e positiva para o jogador. Caso contrário, você pode ajustar outras mecânicas para torná-la mais envolvente. Alguns exemplos em que posso pensar seriam dar ao jogador outras vantagens sobre a IA, como mais vida, velocidade, dano ou melhor armamento. Isso compensaria a diferença de habilidades entre uma IA implacável e o jogador.
fonte
Você precisa dar um passo atrás e pedir um propósito
Em uma competição, o objetivo é descobrir quem é melhor. É por isso que não dar o melhor de si é o mesmo tipo de trapaça que os medicamentos para melhorar o desempenho: estraga o objetivo.
O objetivo da IA em jogos de computador é entreter e desafiar o jogador. Uma IA perfeita fará com que o jogador sinta que realmente realizou algo, por isso deve parecer difícil. Isso pode ser feito ajustando o nível de dificuldade para que fique correto - não muito fácil, nem muito difícil. Ou trapaceando, adaptando a IA ou através de muitos truques que sabemos que os jogadores não percebem.
Não há questão moral aqui. O jogador não é mais enganado do que quando assiste a um filme com CGI ou um mágico de palco. Ele espera que o jogo o divirta e, desde que entregue, ninguém foi enganado, mesmo que alguns detalhes não sejam totalmente honestos. Mas também não é o mágico, nem o filme.
fonte
Não, não é antiético nem necessário
De fato, não há "ética" envolvida aqui, apenas diversão.
Dito isto, não deve ser necessário torná-lo não competitivo, no mundo ideal. Dê à AI exatamente as mesmas ferramentas que você, como o jogador possui. Isso significa uma clara separação no código do jogo. Por exemplo, ele não deve saber nada sobre seus itens / atores que você, como humano, não pode conhecer.
Em seguida, codifique sua IA para que ela possa deduzir tudo o que precisa saber sobre a situação atual, testemunhando-a como você, como faria um jogador humano. A IA deve fazer sua própria representação interna do mundo sobre o que vê. Obviamente, em algum momento você precisa fazer as pazes, ou seja, seria absurdo que a IA fizesse OCR em alguma representação textual em uma UI simulada. Mas deve ser simples permitir "ver" apenas os fatos sobre entidades no jogo que você, como humano, também pode ver através da interface do usuário.
Obviamente, a IA só pode dar os mesmos comandos para suas entidades como você pode e, em qualquer outro aspecto, também está vinculada às mesmas regras. Idealmente, você deve executá-lo através do mesmo código de rede que o seu cliente de jogo também usa (com a restrição adicional de garantir que ele não "saiba" sobre as coisas que seu cliente (segmentado por humanos) entregou pela rede, mas ainda não exibido pela interface do usuário.
Garanto-lhe que isso tornará a IA complicada o suficiente para implementar que emburrecer é o seu menor problema. E se você conseguir programá-lo para que ele seja reproduzido de maneira significativa, provavelmente será incrível.
Isso também lhe dará todas as ferramentas para ajustar a IA a um nível divertido para o jogador. Dê um tempo de reação artificial, faça com que ele se esqueça de coisas ou se esqueça de se lembrar de informações (por exemplo, uma leve ofuscação ou agitação aleatória de seus valores de entidade "lembrados"). Jogar contra uma IA que comete erros realistas resolveria o seu problema, pois a AI pode ser muito competitiva e, através de seus erros, ainda pode ser superada.
Vi essa abordagem uma vez, no jogo Angband (descendente de Moria, no gênero Nethack), muitos anos atrás. Desde que o jogo é single-player, que não era um AI jogando contra um ser humano, mas que simulou jogo humano. O mantenedor da época ("Ben" e, se bem me lembro) realmente fez o que eu descrevi; ele simulou todas as estruturas de dados do jogo real em um segundo conjunto de dados para a IA. A IA apenas "sabia" coisas que realmente havia testemunhado (incluindo atributos de monstros e coisas assim). Muito impressionante.
E escusado será dizer que nunca mais vi essa abordagem, pelo menos para que eu pudesse reconhecê-la - toda "IA" em qualquer jogo de computador era sempre estupendamente estúpida e pouco inteligente, previsível, as regras muito óbvias, com aplicação forçada. trapaça para dar uma chance contra jogadores, e pior.
TL; DR: no mundo ideal, a questão não deve ocorrer; no mundo real, conseguir uma IA divertida para trabalhar já é um desafio (para o programador).
fonte
Em essência, a qualidade absoluta da IA como oponente realmente depende do tipo de jogo, da quantidade de tempo gasto no desenvolvimento da IA no jogo e da energia da CPU / ciclos alocados por trás da IA.
Em um jogo de tabuleiro simples, como o Chess, a IA alimentada por computador doméstico sempre venceria porque pode triturar os movimentos melhor do que um humano e os algoritmos para isso são muito bem conhecidos.
Respectivamente, nos atiradores de arcade (na maioria dos jogos de FPS), uma IA pode ter uma mira perfeita (assumindo coisas como velocidade do projétil >>> velocidade do jogador) e uma "visão" perfeita. Nesse caso, você também pode acabar com uma situação em que a AI apenas apagará o jogador fora do jogo, supondo que os recursos do jogo sejam iguais entre a IA e o jogador. Por outro lado, por exemplo, conecte o reconhecimento de visão em uma IA do FPS e em breve você terá problemas reais de processamento e o player de repente é o favorito (por enquanto!).
No RTS, a IA executada em um PC normal pode ser superior ou inferior, independentemente de seguir ou não as regras. As complexidades do jogo decidem se o equilíbrio da IA exige desvantagens ou se é necessário "trapacear" para oferecer um desafio decente. O mesmo vale para 'jogos de tabuleiro complexos' (jogos de estratégia baseados em turnos, como Civilizations, mas também Go [por um tempo no PC doméstico]) e alguns outros gêneros, como simuladores de voo e corrida, onde as superioridades da IA - quase instantânea reação Às vezes, o processamento de números superior, a memória perfeita e o conhecimento completo do ambiente circundante - podem ser ofuscados pelas complexidades da mecânica do jogo.
O fato é que a IA do jogo padrão que é executada em um computador doméstico com limitações semelhantes às humanas (por exemplo, a IA vê / ouve o que você vê / ouve) quase sempre perde para o jogador além dos simples jogos de tabuleiro (por enquanto !). Por outro lado, simplifique as regras, adicione conhecimento extra no jogo (por exemplo, a IA conhece o ambiente, incluindo onde você está, o tempo todo), poder de processamento e tempo de desenvolvimento da IA e o ser humano pode acabar perdendo o jogo.
No geral, a questão da ética é, na minha opinião, bastante irrelevante e enganosa. O objetivo de jogar um jogo de computador vs AI não é ganhar ou perder, mas aproveitar a experiência. E para esse fim, em termos de balanceamento, adicionar AI / handicaps / bônus de jogador é geralmente muito mais fácil do que criar AIs de níveis diferentes.
fonte
do Wikcionário:
Para mim, uma das características mais desejáveis (e mais difíceis de alcançar) de uma IA de jogo adequada é a capacidade de cometer erros, como nós (humanos) fazemos.
Porque erramos, por padrão. AIs não, por padrão. A integração de AIs de jogos com essa "qualidade" inerentemente humana ajudaria bastante a evitar esse sentimento de "trapaça" (de qualquer forma, ganhando ou perdendo).
Isso também seria uma característica que uma IA apropriada precisaria dominar para passar no teste de Turing: não se acreditaria que uma inteligência fosse de origem humana se não fosse capaz de mostrar a “capacidade” de tornar “humano” (ou erros humanos).
fonte
Existem várias maneiras pelas quais uma IA inimiga facilita para você.
Provocando a animação depois de obter um sucesso. Isso permite que o jogador termine a animação de atordoamento e se prepare para um ataque próprio. Seria muito fácil desativar a provocação e depois bloquear o player.
Repetidamente usando ataques que podem ser combatidos (ou evitados e deixando o inimigo aberto por danos). Nos atiradores de capa de baixa qualidade, esse é o inimigo que sai da capa para permitir que você os atinja. Um ai competitivo não seleciona esse tipo de ataque. Concedido isso pode ser corrigido com plot .
A telegrafagem se move (a conclusão) para que o jogador tenha a chance de reagir. Essa animação de corda é uma parte muito importante da dificuldade de escalar, especialmente em combate baseado em reação.
É muito fácil tornar um inimigo difícil de enfrentar. Mas é muito difícil torná-lo um inimigo desafiador e divertido. Parte disso é fazer o inimigo fazer coisas idiotas e permitir que o jogador tenha uma jogada vencedora.
fonte
Não, em geral não é - como desenvolvedor de jogos, você está criando uma experiência interativa e o comportamento da sua IA é determinado pelo tipo de experiência que você está tentando criar. Como um contra-exemplo, considere uma situação em que você é capaz de implementar uma IA que seria imbatível para qualquer humano no planeta. Você deveria fazer isso? Seria antiético "emburrecer" a IA para que o jogo seja realmente jogável? Uma coisa antiética seria tirar proveito de seus jogadores; mas isso - esse é apenas o design de jogabilidade usual.
Deixe-me abrir uma lata de minhocas para você: visite este tópico do twitter .
PS Note, no entanto, que alguns jogadores não verão as coisas dessa maneira. Eles podem até ficar com raiva. Mas isso decorre do mal-entendido de como o desenvolvimento de jogos e a IA funcionam. Isso não torna a prática antiética.
fonte
Eu diria que depende bastante do jogador.
Pessoalmente, estou acostumado a os robôs serem significativamente mais estúpidos ou injustamente hábeis (às vezes até os dois). É difícil para mim lembrar de um jogo em que os robôs estavam em dificuldade "justa" e não espero que sejam assim, porque sei o quão limitados eles são.
Também muitos desses "ajustes" seriam notados no final se o jogo se popularizar o suficiente.
Eu diria que ainda é melhor informar os jogadores sobre "mudanças na dificuldade" e eu sei dos jogos que fazem isso.
fonte
Resposta alternativa que é mais sobre design, motivada pela edição da sua pergunta.
Você declarou em sua edição ...
Qual é o verdadeiro problema aqui
A verdadeira questão aqui é sobre design, não ética. O mau design é o que faz com que algo pareça "antiético". Você está tentando resolver aqui: equilibrar a habilidade do jogador contra o desafio adversário do jogo.
Um jogo que propositadamente "impediu" o desafio de equilibrar com a habilidade do jogador, adotando uma abordagem de design simplista demais para tentar equilibrar a habilidade do jogador e o desafio do oponente. Portanto, não é antiético fazer isso, é apenas um design ruim.
Digamos que o jogador se depare com um grande oponente forte e difícil demais para ele. Isso significa que ou o jogador se aprofundou no jogo para uma área que é demais para eles (pense em Casadores se você for para o norte da Goodsprings em Fallout: NV), ou o designer colocou o jogador contra adversários desafiadores quando eles sabem o jogador não está pronto.
Como você resolve isso da perspectiva do design? Simples. Você não coloca o jogador contra um oponente que é muito difícil para ele. E você projeta uma diferenciação clara entre oponentes, e parte dessa diferenciação é a habilidade do oponente. E você progride no jogo de tal maneira que é mais difícil (mas não impossível) para um jogador entrar na cabeça deles muito rápido.
Isso é basicamente o que a idéia do Flow tem a ver com o design de jogos.
Um exemplo com três ogros
Imagine que você tem 3 tipos de ogros em seu jogo: um ogro fraco que balança em você com um graveto, um ogro de nível médio com um galho maior e um ogro enorme com um grande tronco.
Se você é um novo jogador que não ganhou nova vida, armadura, etc., o pequeno ogro teria que acertá-lo 4-5 vezes para matá-lo. Mas uma vez que você está no nível superior, ele dificilmente pode fazer algo com você.
O ogro de nível médio pode matá-lo como iniciante em 1-2 hits, mas se você for de nível superior, são necessários 4-5.
O ogro enorme pode matá-lo como iniciante em 1 golpe, ou 4-5, se você estiver em um nível superior.
Todos os ogros sempre determinam se atingem da mesma maneira. Como eles determinam se atingem nunca muda. Não há tempo de reação artificialmente baixo (ou alto), nem dano artificialmente baixo (ou alto). Eles apenas são o que são.
A solução
Se o jogador estiver com um nível baixo, coloque-o contra apenas pequenos ogros. Talvez lhes dê um ogro de nível médio de vez em quando como um desafio. Ou vários ogros pequenos juntos. Nunca os coloque contra um monte enorme de ogros pequenos, múltiplos médiuns ou um gigante, pois eles morrerão.
Se eles são de nível médio, coloque-os contra ogros de nível médio com alguns ogros de nível baixo apenas por "diversão". Talvez tenha um enxame de pequenos para torná-lo mais interessante. Nunca os coloque contra um monte de ogros de nível médio ou um ogro gigante, pois eles morrerão.
Apenas alto nível sobe contra o ogro gigante. Talvez dê a eles alguns ogros de nível médio de vez em quando, ou um ogro gigante com um enxame de pequenos, ou qualquer outra coisa para impulsionar o desafio. Nunca os coloque contra um monte de ogros gigantes, pois eles morrerão.
Com essa abordagem, você nunca precisa "prejudicar" nada, porque o jogador nunca verá coisas que talvez precisem ser enfraquecidas.
E se um jogador de baixo nível estiver realmente disposto a se aprofundar no jogo em que se depara com ogros gigantes, deixe-os morrer - eles merecem.
fonte