Estou codificando um jogo 4X "simples" (se um jogo 4X puder ser simples). É um escopo independente, e eu estou me perguntando se há alguma maneira de criar uma IA aceitável sem que eu tenha passado meses codificando nela.
O jogo tem três partes principais de tomada de decisão; gastos em pontos de produção, gastos em pontos de movimento e gastos em pontos técnicos (basicamente existem 3 'moedas' diferentes, a moeda não gasta no final do turno não é salva)
- Gastar pontos de produção
- Atualize um planeta (aumente sua tecnologia e produção)
- Construir navios (3 tipos)
- Mover navios de planetas para planetas (custando Pontos de Movimento)
- Mover para atacar
- Mover para fortalecer
- Tecnologia de pesquisa (pode pesquisar parcialmente uma tecnologia, como no Master of Orion)
O plano para mim agora é uma abordagem de força bruta. Existem basicamente 4 opções amplas para o player -
Atualize o (s) planeta (s) para sua produção e saída tecnológica
Conquiste o maior número possível de planetas
Proteja o maior número possível de planetas
Chegue a uma determinada tecnologia o mais rápido possível
Para cada decisão, percorrerei as opções possíveis e apresentarei uma pontuação; e a IA escolherá a decisão com a pontuação mais alta. No momento, não tenho idéia de como 'misturar decisões'. Ou seja, por exemplo, a IA deseja atualizar e conquistar planetas ao mesmo tempo. Suponho que posso ter outra lógica que faça uma otimização da força bruta em uma combinação dessas 4 decisões ...
Pelo menos, esse é o meu plano se não consigo pensar em nada melhor. Existe alguma maneira mais rápida de criar uma IA aceitável? Não preciso de uma boa, para rivalizar com o Deep Blue ou algo assim, apenas algo que tenha a ilusão de inteligência.
Esta é a minha primeira vez fazendo uma IA nessa escala, então não ouso tentar algo grande demais também. Até agora, tenho experiências com FSM, DFS, BFS e A *
Respostas:
Parece que você pode experimentar o Minimax para "misturar" suas decisões. Houve uma conversa no Game AI Conf do ano passado pelos programadores por trás da Green Corp, e foi isso que eles usaram para criar sua IA. Levou muito tempo para acertar, mas eles têm um resultado decente.
fonte
Se for bom o suficiente para despertar interesse (e você terá que presumir que será, ou pode sair agora), e ele suporta redes, o melhor curso de ação para esse tipo de coisa é:
Fazendo isso, a parte mais difícil será permitir que a IA seja roteirizada e usada dessa maneira, e você apenas terceirizará a otimização real da IA para os jogadores.
Isso não apenas fornecerá uma IA muito melhor, mas também agregará muito valor ao jogo em si!
fonte