Calculando o "poder" de um jogador em um jogo do tipo "Defenda o seu Castelo"

10

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 ..):

insira a descrição da imagem aqui

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.

Jesse Emond
fonte
Se alguma parte não estiver clara o suficiente ou se devo apresentar mais informações sobre como manejo uma funcionalidade no jogo, deixe um comentário e editarei minha pergunta. Além disso - este deve ser um wiki da comunidade? Pessoalmente, não vejo isso como subjetivo ou argumentativo, mas posso estar errado.
precisa

Respostas:

4

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.

nimbus57
fonte
3

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.

Alexander Gessler
fonte