Eu tenho um projeto escolar para construir uma IA para um jogo de corrida 2D, no qual competirá com várias outras IAs ( sem colisão ).
Nos é dada uma imagem bitmap em preto e branco da pista de corrida; podemos escolher estatísticas básicas para o nosso carro (manuseio, aceleração, velocidade máxima e freios) depois de recebermos o mapa. A IA se conecta ao servidor do jogo e fornece várias vezes um segundo número para a atual aceleração e direção. A linguagem que eu escolhi é C ++, a propósito. As perguntas são:
Qual é a melhor estratégia ou algoritmo (já que quero tentar vencer)? Atualmente, tenho em mente algumas idéias encontradas na rede e uma ou duas minhas, mas gostaria antes de começar a codificar que minha perspectiva é uma das melhores. Que bons livros existem sobre esse assunto? A quais sites devo me referir?
Respostas:
Configure uma IA básica e, em seguida, configure uma API para lidar com seu próprio carro. Se você conseguir vencê-lo, configure um algoritmo de gravação que possa reforçar positivamente sua IA. Essa poderia ser uma rede neural para ajustar as ações da sua IA. Como travagem gradual em um canto, etc.
Você tem permissão para usar bibliotecas externas em seu projeto? Nesse caso, sugiro que você olhe para a FANN . É uma biblioteca de rede neural rápida; para poupar você escrevendo seus próprios. Se você precisar do código-fonte, sempre poderá escrever por conta própria, mas pode levar algum tempo.
fonte
Se você pode pré-processar o mapa antes de executar a IA, basta calcular as melhores linhas de corrida através dos segmentos do mapa.
Esta publicação no GameDev.net tem várias sugestões.
Os livros da AI Wisdom têm MUITOS artigos sobre IA de corrida. Definitivamente, eu os recomendaria, especialmente o primeiro que possui artigos que descrevem como você pode representar o mapa como uma estrutura de dados dentro da sua IA.
Outro método que eu vi é o aprendizado por reforço simples (Q-learning), que provavelmente levará alguns milhares de iterações para obter o caminho ideal. Está descrito neste documento: http://www.cs.ubc.ca/~zhijin/540report.pdf
fonte
Aqui está uma excelente referência para conduzir a IA: comportamentos de direção para caracteres autônomos . Postado aqui para referência de todos. Há muitas informações para você começar, mas também muitas, então não fique muito atolado nos detalhes.
fonte