Eu estou fazendo um jogo do tipo "Defend Your Castle", em que cada jogador tem um castelo e deve enviar unidades para destruir o castelo do oponente. Parece assim (e sim, este é o jogo real, não um desenho rápido de pintura ..):
Agora, estou tentando implementar a IA do oponente e gostaria de criar 4 níveis diferentes de IA: Fácil, Normal, Difícil e Hardcore. Eu nunca fiz uma IA "séria" antes e gostaria de criar uma bastante completa dessa vez.
Minha idéia é calcular a pontuação de "poder" de um jogador, com base na saúde atual de seu castelo e na pontuação de "poder" individual de suas unidades. Em seguida, a IA tentaria manter uma pontuação próxima à do jogador (o Easy ficaria abaixo, o Normal ficaria perto dele e o Hard tentaria ficar acima dele). Mas eu simplesmente não sei como calcular a pontuação de poder de um jogador. Existem muitas variáveis a serem consideradas e não sei como usá-las adequadamente para criar um número significativo (o nível de potência).
Alguém poderia me ajudar nessa?
Aqui estão as variáveis que devem influenciar a pontuação de poder de um jogador:
Saúde atual do castelo, saúde total da unidade, dano, velocidade e alcance de ataque. Além disso, o jogador pode ter aumentado a Renda (o saco de dinheiro), o dano (o + Dano) e a velocidade (o + velocidade) ... Como eu poderia incluí-lo na pontuação?
Estou realmente preso aqui ... Ou existe outra maneira de implementar a IA para esse tipo de jogo?
Obrigado pelo seu precioso tempo.
fonte
Respostas:
Não sei se é fácil dizer isso, mas tentar descobrir o quão importante é cada variável é provavelmente o ponto de partida (se você obtiver 50 pontos de vida, poderá durar 10 segundos a mais; se você receber 5 pontos de dano, pode destruir 50 pontos de vida 10 segundos mais rápido; etc ...). Depois disso, tentar normalizar as habilidades pode valer a pena (50 pontos de vida são iguais a 10 de velocidade e 100 de renda).
Imagino que uma maneira fácil de encontrar algo disso seja apenas executando simulações. Mantenha um jogador em um único nível e comece a ajustar as variáveis individuais de acordo com a sua escala.
fonte
Primeiro de tudo, eu não incluiria itens de curto prazo, como ganhos ou atualizações de velocidade - acho que os jogadores esperam que essas coisas os ajudem por um tempo, não que a IA se adapte imediatamente e fique mais forte também.
E para o resto: experimente. Comece com uma fórmula de poder que lhe pareça razoável (a resposta do nimbus57 deve ser um bom ponto de partida) e depois desenvolva sua fórmula e a IA de forma iterativa.
Por último, mas não menos importante, tente garantir que a fórmula subjacente não possa ser explorada pelo jogador para obter vantagens injustas, etc. - também não deve ser muito óbvio como funciona, então use um pouco de aleatoriedade.
fonte