Videojuegos: ¿Qué tan difícil es crear NPC / IAs similares a los humanos?

Yo diría que no podemos hacer humanos como la IA en la academia o la industria usando grandes grupos de computadoras con miles de CPU y Petabytes de RAM.

En comparación, hacer humanos como AI con la pequeña fracción de los recursos de CPU asignados a AI después de que todos los demás sistemas de juego hayan terminado mientras se intenta mantener 60 FPS es ridículamente ridículo.

La IA de los videojuegos no es como tratar de hacer “humanos como la IA”.

Son solo algunos trucos baratos, humo y espejos.

Cuando digo barato, quiero decir barato en lo que respecta al tiempo de CPU y la memoria RAM.

Tienes A * camino de búsqueda y algunos máquina de estado finito o árboles de comportamiento. Un juego realmente sofisticado con un programador inteligente de inteligencia artificial a quien los ejecutivos le hayan dado mucha libertad podría usar un ingenioso planificador GOAP o HTN.

Eso no es nada humano en absoluto. Es super simple.

Game AI no se trata de tratar de hacer inteligencia. Se trata de tratar de convencer al jugador de que no hay estupidez.

Entonces, la respuesta simple y simple a su pregunta es … Maldita sea imposible.

Como señala Daniel Super, es extremadamente difícil desde el punto de vista computacional. Simplemente hacer una planificación de ruta simple para unos pocos cientos de agentes es una verdadera exageración en el hardware moderno si desea ejecutar a 60 FPS: a 16.666 milisegundos por cuadro, es difícil elegir comportamientos y encontrar rutas.

Ir más allá de eso es mucho más difícil. Una IA “realista” tendría muchas de las mismas cualidades opacas y frustrantes que un ser humano real: si lo llamaras y no respondiera, ¿sería un error? ¿O la IA solo estaba tratando de recordar dónde dejó sus llaves? ?

Y lo más importante, ¿cómo podría comunicar la diferencia al jugador de forma natural?

Ciertamente podrías hacer que el NPC diga “oh, lo siento, solo me preguntaba dónde estaban mis llaves” una vez: pero si apareciera cinco o seis veces en una sesión de juego, el jugador se volvería loco y el naturalismo del comportamiento sería Disparo. Para vender realmente la naturaleza humana de los personajes, necesitaría toneladas de animación y datos de voz (realmente no podemos sintetizar versiones creíbles de ninguno de ellos, al menos no sobre la marcha) y un modelo muy sofisticado de las motivaciones del personaje. . Y el público es súper crítico: todos estamos programados para ser jueces expertos del comportamiento humano, ya que es una habilidad crítica de supervivencia. Defectos realmente sutiles pueden deshacer modelos de personajes y animaciones hechos a mano con mucho cariño con mucha facilidad (el extraño efecto del valle); Pasará mucho tiempo antes de que los comportamientos generados por procedimientos sean tan buenos como esos.

En cualquier caso, el “realismo” de la IA es inextricable a partir de la animación, la actuación de la voz y la presentación gráfica, todo lo cual requiere una gran cantidad de recursos. Entonces, teniendo en cuenta que tenemos dificultades para lograr que las pequeñas mariquitas simplemente crucen las puertas de manera confiable, debo decir que la respuesta es “bastante difícil”.

Depende de lo humano que quieras que sean.

Desea que tengan respuestas que suenen naturales, horarios diarios, respuestas ambientales, etc., entonces esto se puede hacer, aunque es bastante difícil. Kingdom Come: Deliverance está haciendo una IA modular que resolverá la mayoría de estos con el menor trabajo posible para el programador.

Si quieres lo más cercano posible al comportamiento humano, entonces es casi imposible porque eso significaría hacer algo que sea al menos igual al cerebro de un mono y luego tener el poder de ejecutar al menos 30-50 de estos simultáneamente. Incluso si logras hacer esto, la cantidad de máquinas que podrían ejecutar este tipo de IA no es más de 10.

Además, ¿quién puede decir que el juego no solo comenzará a hacer trampa si logras crear una IA lo suficientemente sofisticada como para ser humana?

Podemos manejar los rasgos de comportamiento seleccionados moderadamente bien, pero como otros han dicho aquí, el hardware es una limitación para hacer las cosas más amplias. Hay una razón por la que nuestros cerebros tienen miles de millones de neuronas, e incluso si usáramos solo un bit en cada palabra de la máquina para representar una neurona, el procesamiento para emular un comportamiento humano sería muy largo y consumiría muchos recursos.