¿Los conceptos de 'IA pura' de nivel superior (como redes neuronales o algos genéticos) se implementan con éxito en juegos comerciales?

18

Aunque los gráficos son mi área principal de enfoque, he estado incursionando en los conceptos de Game AI desde hace bastante tiempo; desde la simple búsqueda de rutas A * hasta intrincados Perceptrones.

Mi pregunta es esta; ¿Alguien tiene ejemplos de implementaciones exitosas (o quizás más interesantes, fallidas) de algunos conceptos de inteligencia artificial de alto nivel en títulos comerciales a gran escala?

Por nivel superior, me refiero a los métodos de simulación de inteligencia que generalmente se encuentran en Pure AI ... Por ejemplo ...

  • Redes neuronales
  • Algoritmos genéticos
  • Teoría de decisiones

Entiendo que además de un presupuesto financiero, los desarrolladores también tienen un presupuesto de uso de memoria (con la IA a menudo en segundo plano). Muchos de estos métodos son costosos de implementar y proporcionan retornos limitados. Me intriga saber si alguien sabe dónde o cuándo se ha implementado alguno de estos (u otros conceptos de alto nivel que he olvidado mencionar). cualquier juego conocido :)

También sé que en esta industria, los secretos comerciales son una realidad;) Aparte de los títulos de AAA, si tiene alguna de sus propias historias de éxito (o desastres) ¡sería bueno escucharlas! :RE

Sulfato de cobre
fuente

Respuestas:

18

En términos generales, las redes neuronales y los algoritmos genéticos no se usan en los juegos, y aparte del interés reciente en el uso de redes neuronales para el aprendizaje profundo, tampoco es tan frecuente fuera de los juegos.

La razón principal por la que se enseñan en la academia de inteligencia artificial no es por su aplicabilidad práctica, sino porque son bastante fáciles de explicar como dispositivos de enseñanza: ambos tienen análogos matemáticos y biológicos que permiten a los estudiantes comprender cómo podrían funcionar.

En el mundo real, normalmente necesita confiabilidad y previsibilidad. El problema con los métodos de aprendizaje es que si aprenden 'en la naturaleza', pueden aprender los patrones equivocados y no ser confiables. Un NN o un GA podría alcanzar un máximo local que no se garantiza que sea lo suficientemente bueno como para proporcionar la experiencia de juego requerida, por ejemplo. Otras veces, puede terminar siendo demasiado bueno, encontrar una estrategia perfecta que sea inmejorable. Tampoco es deseable en la mayoría de los productos de entretenimiento.

Incluso si entrenas fuera de línea (es decir, antes del lanzamiento, y no durante el juego), un conjunto de datos aparentemente atractivo podría estar ocultando anomalías que, una vez encontradas por un jugador, son fáciles de explotar. Una red neuronal en particular generalmente desarrolla un conjunto de pesos que es bastante opaco para estudiar, y las decisiones que toma son difíciles de razonar. Sería difícil para un diseñador ajustar una rutina de IA como la que se desea.

Pero quizás el problema más condenatorio es que los GA y NN generalmente no son las mejores herramientas para cualquier tarea de desarrollo de juegos. Si bien son buenos dispositivos de enseñanza, cualquier persona con suficiente conocimiento del dominio de la materia generalmente está mejor equipada para usar un método diferente para lograr resultados similares. Esto podría ser cualquier cosa, desde otras técnicas de IA como máquinas de vectores de soporte o árboles de comportamiento hasta enfoques más simples como máquinas de estado o incluso una larga cadena de condicionales si-entonces. Estos enfoques tienden a hacer un mejor uso del conocimiento del dominio del desarrollador y son más confiables y predecibles que los métodos de aprendizaje.

Sin embargo, he oído que algunos desarrolladores han utilizado redes neuronales durante el desarrollo para entrenar a un conductor a encontrar una buena ruta alrededor de una pista de carreras, y luego esta ruta puede enviarse como parte del juego. Tenga en cuenta que el juego final no requiere ningún código de red neuronal para que esto funcione, ni siquiera la red entrenada.

El "costo" del método no es realmente el problema, por cierto. Tanto las NN como las GA se pueden implementar de manera extremadamente económica, y la NN en particular se presta para el cálculo previo y la optimización. El problema es realmente poder obtener algo útil de ellos.

Kylotan
fuente
3
Fuera de los juegos, los GA han tenido un éxito inmenso al encontrar soluciones esotéricas a problemas de ingeniería, por ejemplo, el trabajo inicial del Dr. Adrian Thompson sobre circuitos genéticos que resultó en subcircuitos "inútiles" que afectaron el flujo de tal manera que el resto funcionara. El problema es que las soluciones esotéricas efectivas no son valiosas en los juegos como en la ingeniería. El problema realmente difícil de la IA del juego es hacer que la IA tenga una estrategia comprensible, no solo jugar bien.
44
He usado GA para ajustar las variables del controlador AI. Pero como mencionó, esto se hizo sin conexión con una herramienta para generar los datos de ajuste. El juego no se entregó con GA activa, solo los números que se habían derivado durante el desarrollo.
wkerslake
@ Joe - sí, me encantan los GA. Creo que son una forma bastante efectiva de explorar un espacio problemático de una manera bastante intuitiva para la persona que modifica el algoritmo. También los he usado para tomar decisiones en tiempo real, pero es difícil argumentar que fueron más eficientes o más efectivos que las alternativas.
Kylotan
+1 para el conocimiento del dominio. Tampoco descarte el caso comercial: semanas de tiempo del programador para crear, ajustar y mantener una línea de carrera NN podría ser menos rentable que una simple herramienta máxima para establecer una spline y unos días de tiempo de diseño.
Tenpn
El problema es más que para aprender algo útil, necesita una gran red neuronal que requiere mucha potencia de cálculo. Si tienes una red pequeña, es barato entrenar como dijiste, pero no tiene la oportunidad de aprender un comportamiento sofisticado. Otro problema que veo es que necesitas una gran cantidad de ejemplos de entrenamiento para ML, por lo que no puedes entrenar durante el juego, ya que tomaría demasiado tiempo para que los enemigos se vuelvan inteligentes. Por otro lado, el refuerzo de Q-learning parece una buena técnica para eso. Un truco solo funcionaría una vez contra esta IA. Sin embargo, no estoy seguro de si los juegos han usado eso.
danijar
7

Las aplicaciones de la IA "académica" en los juegos tienden a ser mucho más sutiles que los tipos de cosas que normalmente se consideran IA en la esfera del juego. Gran parte del enfoque de mi profesor de IA del juego cuando estaba en la escuela era IA para el control de la cámara. Su otra área de interés fue la gestión narrativa de inteligencia artificial, que, hasta donde yo sé, todavía se limita a la academia en su mayor parte. Un ejemplo notable de esta área posterior sería la fachada .

El problema principal para la IA "académica", en los juegos, es que están resolviendo diferentes problemas. A menudo no quieres satisfacer los requisitos, en el juego; solo quieres satisfacer. Como se ha redactado anteriormente: no quieres ser fácil, pero tampoco quieres que tu oponente de IA sea demasiado difícil.

Dicho esto, la serie de juegos en blanco y negro de Lionhead usaba IA similar a lo que estás hablando con la pregunta anterior y al menos tuvo el éxito suficiente para que hicieran una secuela .

Recuerdo los informes de IA radiante de "The Elder Scrolls IV: Oblivion", que originalmente también fue un ejemplo de esta veta de comportamiento, pero tuvo que ser silenciada debido a un comportamiento extraño e inesperado, como los NPC que se matan entre ellos por comida.

lathomas64
fuente
GA también se usa en la serie de criaturas: en.wikipedia.org/wiki/Creatures_(artificial_life_program) pero no es tan exitoso como el blanco y negro u Oblivion mencionado anteriormente
lathomas64
Gracias por la respuesta. Es interesante ya que mencionaste que el equilibrio en Game AI es crucial, ya que con casi todos los aspectos del desarrollo del juego, debe ser divertido antes de que sea realista / creíble. Una IA que es demasiado "inteligente" no es nada divertida, a nadie le gusta un smart-alec :)
Bluestone
1

Son difíciles de depurar, por lo que un problema técnico (posiblemente causado por una sobre optimización accidental) no se puede solucionar fácilmente. Debido a esto, cualquier red neuronal que use los juegos debe aprender en tiempo real durante el juego. Sin embargo, se han utilizado, por ejemplo, el juego NERO.

Lucas
fuente
1

Dado que solicitó ejemplos en la industria, aquí hay uno para usted: el primer título que conozco que usaba redes neuronales era Fantasy Empires, un juego de D&D TBS / action lanzado en 1993. Aparentemente los usaron para conducir lo que diría la figura maestra del calabozo y hazlo de forma "inteligente" pero "no predecible" ... si has jugado mucho el juego, ¡puedes estar en desacuerdo! La figura maestra de la mazmorra animada ofrece orientación sobre su estilo de juego, basado en sus acciones recientes, de una colección de fragmentos de sonido estático, utilizando el NN. Supongo que es una red muy simple.

(vea la página 57 del manual para más detalles)

ingrese la descripción de la imagen aquí

Ingeniero
fuente
Este podría ser un ejemplo interesante, pero para alguien que no ha jugado este juego no ayuda mucho. ¿Puedes explicar qué mecánicas de juego controlaba la red neuronal, cuál era la intención y dar algunos ejemplos de buenos y malos resultados que produjo?
Philipp
@Philipp Su punto debidamente anotado - ETA. Los resultados no fueron tanto "malos" como simplemente que la naturaleza analógica de las redes neuronales parecía desperdiciada al cuantificarse en un conjunto muy limitado de acciones de salida.
Ingeniero