Portada » Elección de la IA del juego y su “dificultad”

Elección de la IA del juego y su “dificultad”

by Donal Sandro Noblejas Huaman

Hola mi nombre es donal Sandro Noblejas Huamán de Lima Perú 🇵🇪 hoy vengo con otro artículo de  Diseño de juegos como siempre y en cada uno de ellos completamente solo y me agrada porque se aprende, y como siempre sin empresas, personas, familiares, ni el estado ni ningún tipo de ayuda cuidado con los estafadores solo en mis tiempos libres redactando jejeje, bueno ahí vamos.

Finalmente volví a la normalidad y comencé  pero eso no es de lo que quería hablar.

Ayer estuve deambulando por Internet mirando varios tutoriales sobre la IA de juegos y su implementación. Admito de inmediato que no los miré en su totalidad, así que si hay contenido similar en alguna parte, no dudes en asomarme en los comentarios .

Probablemente muchos esten familiarizados con todos los enfoques, pero comencemos con un pequeño glosario para que más abreviaturas no supongan dificultades para nadie:

  • FSM – máquina de estados finitos o máquina de estados finitos. Generalmente se omite la palabra “final”.
  • BT – árbol de comportamiento o árbol de comportamiento. En esencia, es una “actualización” de la máquina estatal.
  • GOAP: planificación de acciones orientada a objetivos. Te lo contaré a continuación.

Por lo tanto, Internet está lleno de tutoriales de IA en todas las variantes posibles: máquina de estados, árbol de comportamiento, GOAP y IA de utilidad. Cada uno de los cuales, en esencia, sólo determina el algoritmo mediante el cual cambian los estados/acciones del personaje.

  • Para FSM y BT, estos son simples, aunque con condiciones de transición claras. “Si vemos al enemigo, acudimos a él. Si nos acercamos, atacamos”.
  • Para GOAP, encontramos un “camino” a partir de las acciones del jugador que conduce al resultado deseado. Como regla general, utilizamos la búsqueda en amplitud para seleccionar una “ruta”, pero si hay una gran cantidad de acciones, podemos considerar usar los algoritmos del “hermano mayor” de la búsqueda en amplitud. Por ejemplo, A*.
  • En Utility AI, simplemente elegimos la acción más “efectiva” de cualquier forma. Esto se puede hacer mediante fórmulas de cálculo, estimación mediante curvas de Bézier o mediante una combinación de estos métodos.

También existen varios métodos mixtos, pero en realidad terminan en uno de estos cuatro enfoques. Por ejemplo, la llamada IA ​​táctica: de hecho, utilizando uno de los métodos anteriores, no selecciona una acción específica, sino su secuencia. Pero personalmente no veo aquí ningún enfoque fundamentalmente nuevo en comparación con los demás.

También es imposible no abordar la cuestión de la implementación de la IA mediante el aprendizaje automático. También tienen tres problemas principales con enfoques más “clásicos”.

  • Costos laborales: se necesitarán cientos y miles de horas para entrenar una IA de este tipo para que avance en la dirección correcta. Incluso con simulaciones aceleradas y muchos agentes entrenando simultáneamente. Después de todo, no puedes decirle directamente “ve allí”; debes darle “recompensas” si va a donde debe. Cuya salida correcta y equilibrada tampoco es una tarea trivial para algo más complejo que una “serpiente” o un Flappy Bird. ¿Qué podemos decir de la inteligencia para tácticas por turnos como XCOM, estrategias como Civilization o Crusaders Kings, o shooters con buena IA como Killzone o FEAR (podría haber otros ejemplos,. Escribe tus favoritos en el comenta juegos o juegos con buena IA en tu opinión).
  • Calidad: incluso con un buen entrenamiento, existe una posibilidad muy pequeña de que se garantice que la IA se comportará “correctamente”. Especialmente en un entorno muy complejo y dinámico. Los jugadores y desarrolladores preferirán la inteligencia “predecible” a la inteligencia “inteligente”. La IA construida mediante aprendizaje automático siempre interpretará las condiciones de entrada a su manera y actuará de acuerdo con lo que ha aprendido. Esto lleva al tercer problema…
  • Dificultad para editar. Incluso utilizando enfoques más avanzados, es muy fácil cambiar el comportamiento de los personajes: modificar la curva de Bézier en un lugar o editar los efectos de las acciones y objetivos de la IA en otro. Pero esto no se puede hacer tan rápido con ML. Si, por ejemplo, enseñaste a los robots en un juego de disparos a atacar como berserkers, a pesar de estar heridos, hacerlos más cuidadosos requerirá mucho tiempo e iteraciones. Recuerda YouTube con sus terribles algoritmos, si viste algún video sobre un tema completamente nuevo (por ejemplo, un video musical, aunque el resto del tiempo miras podcasts y videos sobre programación). ¿Cuánto tiempo tienes para ignorar los nuevos videos musicales antes de que YouTube finalmente decida “está bien, aparentemente esto realmente no le gusta”? ¡Tendrá suerte si al menos no muestra el único vídeo que vio!

Por lo tanto, implementar una IA verdaderamente “compleja” es una tarea mucho más voluminosa y poco rentable en comparación con las implementaciones básicas.

En muchas fuentes, la elección entre un enfoque se dibuja como una línea recta, encima de la cual están escritas todas las opciones en orden de “complicación”. Algo como esto FSM → BT → Utility AI → GOAP. Pero este enfoque es fundamentalmente incorrecto, ya que no está del todo claro que en este caso exista una “complicación”. Ninguno de estos enfoques es “difícil” de implementar. Pero hablaremos de cuál puede ser la complejidad del enfoque un poco más adelante.

En general, al elegir un enfoque, es necesario centrarse en varios componentes:

  • Número de acciones/estados del personaje (caminar, dormir, disparar, etc.). Y no sólo los previstos para la próxima versión/sprint, sino también los previstos en el futuro. ¡Para no quedarte con una máquina de estados en la que necesitas realizar cientos de flechas entre acciones y que Dios te ayude si olvidas siquiera una!
  • Previsibilidad. Es fácil entender cómo se comportará un personaje si dice en blanco y negro “si estás cansado, vete a dormir”. Es mucho más difícil fijarse en algunas fórmulas y curvas de animación que puedan expresar “eficiencia” para “ir a dormir”. Si desea menos sorpresas en su comportamiento, mire hacia FSM y BT. Si hay más singularidad: GOAP y Utility AI.
  • El horizonte de planificación de acción del personaje. Aquí también todo es sencillo: si es necesario elaborar una “estrategia” a partir de acciones, avanzamos hacia enfoques que lo permitan.

Ahora hablemos de la “complejidad” de la IA. Hasta ahora, se considera que la IA del juego más “compleja” es la implementada en el FEAR original, lanzado en 2005. Pero la complejidad de esa IA no estaba sólo en “buscar un conjunto de acciones”, sino en implementar “características” adicionales además. Además de ellos, también existen kits de carrocería para IA, como:

  • Predicción del comportamiento del jugador: “Esperaré al jugador del carril izquierdo, ya que lo más probable es que vaya allí”
  • Comportamiento grupal: “avisaremos a los demás si un jugador toma el camino de la izquierda”
  • Comportamiento que cambia dinámicamente: “cualesquiera que sean los planes que tengamos, si el jugador toma el camino correcto, llegaremos allí”

Lo más interesante es que estas mecánicas se implementan de manera casi idéntica, independientemente del enfoque de implementación de la IA. Por lo tanto, visualmente la composición de la IA del juego se puede dibujar en la siguiente imagen:

Siempre que los elementos del rompecabezas no se puedan girar, por supuesto)

Así que la próxima vez que empieces a escribir juegos de IA, no seas un defensor estrecho de miras de enfoques “fáciles” y “difíciles”: ¡elige sabiamente!

Y ahora que hemos hablado un poco sobre el hardware de la IA del juego, de acuerdo con todas las leyes infogitanas, haré un pequeño calentamiento)

Lo que resultó ser lo más divertido de mi búsqueda es que ninguno de los tutoriales ofrece una implementación de IA de este tipo: una implementación verdaderamente “complicada”. Esto es comprensible, los jugadores se han vuelto casuales, incluso en AAA. Con cada nuevo juego de ubisoft, YouTube se llena de vídeos sobre lo estúpidos que son sus robots. Por lo tanto, como una serie de videos “para personas avanzadas”, la búsqueda por encontrar mejores formas de realizar todo lo anterior sin tantos pasos sería genial ya veremos y recuerda Google Youtube están a tu disposición para seguir buscando información saludos.

Hola gracias por leer mis artículos pero para mantener en funcionamiento verlista.com hay que pagar el dominio y el hosting así que espero me puedan hacer una donación a BCP Como ya saben hago esto completamente solo gracias.

19394988756035.  Cuenta BCP

Autor Donal Sandro Noblejas Huamán

Lima Perú 🇵🇪 

Whatsapp:51924118897 – 51939416004

Sitio web verlista.com

verlista.com

https://pe.linkedin.com/in/donal-sandro-noblejas-huaman

You may also like

Leave a Comment

Are you sure want to unlock this post?
Unlock left : 0
Are you sure want to cancel subscription?
-
00:00
00:00
Update Required Flash plugin
-
00:00
00:00