Tengo un proyecto escolar para construir una IA para un juego de carreras en 2D en el que competirá con varias otras IA ( sin colisión ).
Se nos da una imagen de mapa de bits en blanco y negro de la pista de carreras, se nos permite elegir estadísticas básicas para nuestro automóvil (manejo, aceleración, velocidad máxima y frenos) después de recibir el mapa. La IA se conecta al servidor del juego y le da varias veces un segundo número para la aceleración y dirección actuales. El lenguaje que elegí es C ++, por cierto. Las preguntas son:
¿Cuál es la mejor estrategia o algoritmo (ya que quiero intentar ganar)? Actualmente tengo en mente algunas ideas encontradas en la red y una o dos propias, pero me gustaría antes de comenzar a codificar que mi perspectiva es una de las mejores. ¿Qué buenos libros hay al respecto? ¿A qué sitios debo referirme?
Respuestas:
Configure una IA básica, luego configure una API para manejar su propio automóvil. Si puede vencerlo, debe configurar un algoritmo de grabación que luego pueda reforzar positivamente su IA. Esta podría ser una red neuronal para modificar las acciones de tu IA. Como el frenado gradual en una esquina, etc.
¿Puedes usar bibliotecas externas en tu proyecto? Si es así, le sugiero que mire a FANN . Es una biblioteca de red neuronal rápida; para ahorrarte escribiendo el tuyo. Si necesita el código fuente, siempre puede escribirlo usted mismo, sin embargo, puede llevar algún tiempo.
fuente
Si puede preprocesar el mapa antes de ejecutar la IA, simplemente calcule las mejores líneas de carrera a través de segmentos del mapa.
Esta publicación en GameDev.net tiene varias sugerencias.
Los libros de AI Wisdom tienen MUCHOS artículos sobre carreras de IA. Definitivamente los recomendaría, especialmente el primero que tiene artículos que describen cómo puedes representar el mapa como una estructura de datos dentro de tu IA.
Otro método que he visto es el aprendizaje de refuerzo simple (Q-learning), que probablemente tomará unos pocos miles de iteraciones para obtener el camino óptimo. Se describe en este documento: http://www.cs.ubc.ca/~zhijin/540report.pdf
fuente
Aquí hay una excelente referencia para conducir IA: Comportamientos de dirección para personajes autónomos . Publicado aquí para referencia de todos. Hay mucha información para comenzar, pero también mucha información, así que no te obsesiones con los detalles.
fuente