jueves, 27 de febrero de 2020

La Inteligencia Artificial en los RPGs

Uno de los aspectos que parece ser especialmente ignorado en el género RPG es el de la gestión de la Inteligencia Artificial por parte de los enemigos y aliados, que parece ser un factor que se queda muy por debajo de la atención de muchos estudios, que prefieren desarrollar una buena Banda Sonora por encima de unas mecánicas mejor programadas. 

Enemigos que lanzan ataques incorrectos, atacan a quien no deberían, se curan cuando tienen su vitalidad al máximo... casi todos habremos visto algún ejemplo en determinados RPGs e, igualmente, muchos os habréis dado cuenta de que hay otros donde este caso es completamente contrario y los enemigos no suelen desperdiciar oportunidades, buscan siempre al aliado más débil y no paran de sorprendernos con jugadas que no habíamos llegado a visualizar. Eso es algo clásico de SRPGs como Fire Emblem o Final Fantasy Tactics, títulos donde la estrategia es su punto fuerte y, por tanto, sus creadores le dieron una especial importancia a crear una Inteligencia Artificial que fuera un reto para el jugador humano, una especie de Deep Blue que, no obstante, tiene sus limitaciones (en los RPGs el jugador puede hacerse más fuerte que el enemigo, preparándose antes de empezar) y en muchos títulos estratégicos donde hay diferentes modos de dificultad no se esfuerzan realmente en mejorar la IA, sino que simplemente buscan darle habilidades imposibles o un poder intrínsecamente superior al que tendría un jugador humano.

Es decir, que los momentos donde notamos una IA más dura suele ser cuando todo el juego parece dedicarse a "hacer trampa" y jugar con toda la información en su poder, que sólo éste puede tener. Algo terrorífico y que, por fortuna, generalmente nadie programa así porque sería algo inviable para el jugador, aunque sería interesante en determinados momentos.
Así, pues, en el género RPG vemos multitud de posibles respuestas de la Inteligencia Artificial ante nuestras acciones aunque, en general, todos siguen el concepto de "vamos a por ti, humano" y nos podemos quedar preguntando eso de por qué a veces un oso y un dragón luchan juntos contra nosotros en Skyrim (a veces incluso aunque ambos deberían ser enemigos naturales) o por qué un Graveler salvaje en Pokémon, nada más cruzarse con nosotros, ve como una genial idea explotarse a sí mismo simplemente por hacerle daño a nuestro compañero. Esta es una tendencia general de todos los videojuegos en sí, ya que pocos han logrado darle una coherencia absoluta a las razones de por qué buena parte de los enemigos nos están atacando hasta el punto de la inmolación absoluta si con eso nos pueden frenar.

Como comentamos antes, Pokémon es uno de los ejemplos más claros de una Inteligencia Artificial difícil de comprender, con multitud de ejemplos realmente absurdos: criaturas que no paran de usar ataques de estado, desconocimiento de las fortalezas de sus rivales, búsqueda de ataques Súper-Efectivos sin ninguna coherencia (como el mítico caso que que en Pokémon Rojo/Azul el Dragonite de Lance sólo podía usar Agilidad -que sube la Rapidez, no es un ataque en sí- contra un pokémon de tipo Veneno o Lucha porque Agilidad era de tipo Psíquico y sería muy efectivo si de verdad atacase), intentos consecutivos de causarte diferentes estados alterados cuando ya sufres uno...

¿La razón? Falta de espacio para programar algo más complejo, de forma que la Inteligencia Artificial de la serie de RPGs más vendida del mercado usa una simple "tirada de dados" para decidir qué ataque usa, con la única diferencia de que repetirá el ataque más efectivo disponible en caso de que sea un pokémon que cuente con un entrenador. De hecho, ejemplos como el de Shedinja son los que más han obligado al equipo a retocar reglas de objetos o Inteligencia Artificial, provocando el increíble caso de que a partir de la sexta generación veamos a entrenadores que cambian de pokémon si el que tienen no puede debilitar al genial Bicho/Fantasma con Superguarda y 1 PS, que sólo puede caer ante ataques muy efectivos o daño "pasivo", como veneno, quemaduras o efectos del clima. Eso es una rareza dentro de la Inteligencia Artificial del juego, que en títulos anteriores dejaba a entrenadores totalmente bloqueados usando ataques al azar, perdiendo a su grupo sin darse cuenta de que tendrían algún método para solventar ese problema y, cuando al fin lo sacan, ya es demasiado tarde.

Pero esto de usar ataques al azar sin mucha coherencia es algo que también afecta a títulos como los Final Fantasy, donde podemos encontrar enemigos que abusan de habilidades de Gravedad (Que reduce 1/2 nuestra vitalidad actual) o incluso técnicas que dejan a todo el grupo con 1 punto de vitalidad... Y en lugar de matarnos, vuelven a lanzar el mismo ataque el turno siguiente. Esto supone un cierto alivio para los jugadores que no tienen que afrontar toda la "mala leche" de determinados enemigos que, si quisieran y usasen una y otra vez su mejor ataque, seguramente no nos dejarían ningún opción de victoria.

Esta cierta tendencia a "aleatorizar ataques para no resultar demasiado duros con el jugador" o evitar patrones memorizables, provoca por tanto situaciones tan ridículas como ver a enemigos perdiendo turnos intentando reforzarse cuando no pueden hacerlo más, intentando llamar a compañeros cuando su grupo está completo, eliminando los efectos beneficiosos de nuestro grupo cuando no nos hemos aplicado ninguno... Y esto en caso de enemigos, porque cuando los aliados son controlados por una IA, la situación se vuelve muy parecida, pero esta vez en nuestra contra.

Hay multitud de ejemplos donde gestionar este azar prácticamente nos hacía desear limitar la cantidad de opciones disponible para esos personajes, simplemente para que evite usar aquellas que serán normalmente más inútiles. Seguramente, muchos recordaréis aquí casos como el de Donald "no te curo nunca o, mejor, te curo cuando acabas de curarte tú" de Kingdom Hearts, tus compañeros en Persona 3 versión de PlayStation 2 (especialmente con una curandera como Mitsuru, quien disfrutaba drenar sus SP usando la habilidad de confusión Marin Karin... que luego no usaba ante enemigos que sí eran vulnerables), la selección de habilidades en tu grupo de The Last Remnant, el nulo daño que hace cualquier aliado que no manejamos en Ys VIII: Lacrimosa of Dana... Por fortuna, juegos como los de la serie Tales of..., Dragon Age: Origins o Final Fantasy XII idearon un sistema de Inteligencia Artificial programable... Que en el caso de Final Fantasy XII resultaba tan ridículamente efectivo que muchos pasábamos de "tomarnos la molestia" de pulsar botones y simplemente movíamos al grupo por ahí, disfrutando de que nuestra planificación de habilidades hiciera que nuestros aliados triunfasen solos.

Por supuesto, hay compañías que saben que eso de dejar a la IA usar habilidades al azar genera problemas y muchas, de hecho, hablaron de ello. El equipo de Atlus cambió el sistema en Persona 3: Portable, dejando que los jugadores controlasen a todo el grupo. "Lo de dejar a la IA de los compañeros en modo libre era parte de lo que queríamos representar con el juego... Se ve que nadie lo comprendió", dijeron. Así que ese cambio de idea les hizo alterar la dificultad del juego porque, de golpe, al tener a dos compañeros coherentes y coordinados por el mismo jugador, la dificultad había bajado de forma alarmante. De hecho, Atlus ha programado generalmente sus títulos sabiendo que, si los enemigos que crearon abusaran de sus mejores habilidades, el jugador no podría vencer de ninguna forma, razón por la cual la suerte del propio usuario se considera como un factor importante dentro de los Shin Megami Tensei.

Quizás de los que se lo tomaron más a broma fueron los creadores de Mother 2/Earthbound, que le incluían a casi todos los enemigos alguna acción inútil tipo "Te mira mal", "Se cae" o cosas así e incluso ideó a un enemigo basado enteramente en ese concepto de aleatoriedad: Clumsy Robot (Robot patoso, en la imagen superior), que tenía 7 acciones inútiles (Limpiar, Comerse un sándwich...) una habilidad que causaba petrificación y un misilazo que DESTROZABA. Así, pues, si tenías mala suerte y te lanzaba varios misiles seguidos o te petrificaba, perdías casi sin remedio. Y si tenías suerte, ganabas el combate sin recibir daño. La ruleta del azar jugando con la IA en su máximo esplendor.

Pero, como ya hemos comentado, esta cierta estupidez de la Inteligencia Artificial es algo que podría ser bastante fácil de controlar: dejar a los jugadores dar órdenes directas a los compañeros antes de comenzar el combate (caso de Gambits en FFXII) es el extremo perfecto que se debería aplicar a cualquier juego que nos confiera aliados manejados por la máquina, pero al ver como en los Final Fantasy XIII y XV esa opción ha desaparecido por "una IA más inteligente que siempre usa el ataque más eficiente", parece que eso no es tan fácil de implementar y la mayoría de compañías prefieren idear una IA lo más efectiva posible y despreocuparse. ¿Será porque consideran que programar a tus compañeros es algo demasiado complejo?

La cosa es que una mala IA no es algo común en los SRPGs, donde realmente cuesta encontrar títulos de ese subgénero donde los enemigos sean efectivamente idiotas... salvo en los momentos donde haya que proteger a una unidad, que no dejará de ponerse en peligroFire Emblem es un gran ejemplo de situaciones en las que el jugador se lamenta porque no fue capaz de prever un cierto movimiento de una unidad enemiga que podría matar a un aliado. Sí, está claro que muchas veces vemos a enemigos caer como moscas intentando atacar a un personaje al que no podrían derrotar en la vida, pero en general están especializados en encontrar a una unidad débil en mala posición para acabar con ella.

Casos como el de la imagen superior, de cómo mejoraron la IA en Shadowrun Returns: Dragonfall (PC, 2014) reflejan muy bien la línea de comandos presente en los enemigos para que parezcan coherentes en todo momento: tomar coberturas si les queda una sola acción que efectuar en su turno, buscar flanquear a nuestros personajes, curarse o recargar si les hace falta, ser agresivos si pueden matar a alguien, lanzar granadas si pueden dañar a más de un enemigo... Sí, hay muchas veces que les podremos engañar, que tomarán una opción no-tan-perfecta o que por buscar ser agresivos se pondrán en peligro pero, en general, no les veremos actuar como "pollos sin cabeza" que se lanzan a la desesperada sobre nosotros como puros kamikazes.

Por supuesto, también tenemos casos como los MMORPGs, donde "el agro" (llamar la atención de un enemigo y hacer que ataque sólo a una unidad) y la forma de jugar con el mismo siempre puede generar problemas con la Inteligencia Artificial, ya que se basa en criterios numéricos muy específicos que se pueden hacer públicos mediante addons. Además, también es sencillo que en esos juegos veamos enemigos que nos persiguen hasta el fin del mundo y casos donde podemos matar monstruos sin preocuparnos de que nos puedan alcanzar.

Eso se suele considerar como "hacer trampas" y puede estar castigado en ciertos títulos multijugador, pero es casi parte misma del concepto de los títulos de la serie Dark/Demon's Souls/Bloodborne, donde abusar de la IA es algo alabado por sus creadores, ya que ellos mismos piensan que el ingenio de los jugadores debe prevalecer por encima de todo y, si por una mala programación es posible derrotar a un enemigo fácilmente ejecutando una táctica imaginativa, no les queda más que aplaudir e intentar corregirlo en próximos parches. Un concepto interesante donde no se castiga al infractor, sino se le aplaude por haber sido más listo que ellos.

En fin, esto sería un pequeño repaso de las diferentes formas de tratar a la Inteligencia Artificial en los RPGs. En general, muchas compañías no se toman muy en serio este concepto a pesar de que, en bastantes casos, provocan situaciones surrealistas y parece que sólo en los SRPGs hay una consciencia seria de crear a unos enemigos realmente inteligentes. Seguramente, el aspecto más a mejorar es el de la IA en los aliados, ya que sólo juegos donde existe programación directa por parte del jugador podemos ver una coherencia seria y nos evitamos esos "¿Pero qué haces?" tan comunes.

¿Cuáles serían vuestros ejemplos donde la IA os ha resultado más torpe? ¿Y en cuáles os ha sorprendido muy gratamente? Nos encantaría leer vuestras experiencias en estos casos.

11 comentarios:

  1. Un curandero siempre es útil en un RPG pero cuando te atiborras de pociones y objetos de resurreción, el mago blanco acaba en un segundo plano abandonado.
    Para mí, todo grupo debe tener un tanke. Se buffea, puede buffear al resto en defensa y puede recibir todos los golpes. En juegos como Demon Souls, el concepto se va a la porra: mira el caso del Caballero de la Torre. Intenta tankearle. verás la risa que te entra

    ResponderEliminar
  2. Un apunte Adell, lo del dragonite de lance en pokemon usando agilidad es contra los pokemon veneno (o lucha), no bicho. Supongo que lo dices por el famoso ATV del twitch ;)

    Y lo de compañeros inútiles es algo que da muchísima rabia, especialmente con los sanadores xD O casi peor, cuando un aliado con poca def se lanza en plan suicida contra el enemigo más fuerte y el sanador se gasta todo el MP curándole o resucitándole xD La verdad es que se agradece que haya opciones de personalización, aunque sean simples, y poder dar a cada personaje cierto rol adecuado a sus atributos. La saga Tales de la que hablé hace poco es un buen ejemplo, jugad al Phantasia y reíros con la IA XD En symphonia no es tan bestia, pero el 75% del trabajo lo haces tu, pese a ser 4. En cambio en los últimos tus compañeros suelen actuar de forma decente (aunque aún es mejorable).

    Eso sí, ODIO cuando la IA de los enemigos es aleatoria, ya que tiendo a tener muy mala suerte. Aun recuerd mi primera vez con Final Fantasy IV, siendo humillado continuamente por el jefe final porque usaba su ataque más bestia cada dos por tres, pese a que en todas las guías que miré decían que no había que preocuparse por su ataque especial ya que apenas lo usaba xD

    ResponderEliminar
  3. En el caso de Dragon Quest IX me resultaba especialmente útil dejar a mi healer controlado por la IA para que curase, ya que en este juego las acciones que realizará la máquina se basan en el momento que le toca ejecutar la acción, y no durante la toma de decisiones. De esta forma, si al comienzo de un turno tengo la vida a tope, si yo controlase al healer no sabría si voy a perder vida y debo curarme con el riesgo de desperdiciar una acción y los PM, pero si le dejo a la IA, si en el momento que le toque actuar he perdido mucha vida, curará, y si no la perdí o considera que no perdí la suficiente como para curar, hará otra acción.

    ResponderEliminar
  4. Un caso curioso es el de Dragon Quest VIII
    Si ponías un personaje con "tacticas curativas" y acababas el turno, en caso de que un enemigo te matara un personaje, este ya había predicho que ibas a morir y ya había seleccionado el hechizo de resurrección a este, cosa imposible de saber manualmente por que no sabes las acciones del enemigo hasta que completas las tuyas.
    Un bug bastante beneficioso la verdad xD

    ResponderEliminar
  5. La verdad es que cuando vi por primera vez el sistema de gambits del FF XII pensaba que lo empezaríamos a ver como un estándar en posteriores videojuegos (y más viendo que cada vez es más fuerte la tendencia de no controlar a tus otros miembros del grupo, véase FF XIII, FF XV o Xenoblade). Es una pena que con la capacidad técnica que tienen las nuevas consolas sigamos teniendo problemas tan graves de IA en muchas ocasiones (veamos qué tal se comporta Donald en el futuro KH3), es algo que era comprensible en la primera GameBoy o incluso en la SNES, pero hoy en dia parece ridículo.

    ResponderEliminar
  6. Muy interesante el artículo y muy cierto también xD. Me he sentido identificado con muchos de los ejemplos que se proponen, pero nada como nuestro querido Donald en KH (maldito pato ¬¬) y Mitsuru en Persona 3 (Marin Karin, ¿OTRA VEZ?). A modo particular, decir que en la saga Dragon Age, en Origins existía un sistema de "gambits" bastante competente, para estar actualmente en Inquisition con 4 cosillas que no valen de mucho (básicamente cuando tomarse una poción según el porcentaje de vida y cuántas dejar libres para usar tú mismo). Por suerte, la máquina no juega mal del todo (hablo de dificultad normal)... si exceptuamos los combates contra dragones. Ahí lo más común es que se queden delante del aliento flamígero de uno o bien que se queden pasmados viendo venir desde lejos un proyectil de hielo para comérselo de pleno. Suerte de la pausa táctica, que en esos combates es bastante necesaria, cosa que no ocurre a esas dificultades en el resto del juego.

    Respecto a los oponentes, es cierto que en los SRPG suelen estar muy astutos, claro ejemplo es lo que sale un par de veces de personajes muriendo en FE porque no eres capaz de anticipar la maldad suprema de la máquina xD.

    ResponderEliminar
  7. La IA también depende del genero del juego. En un RPG por turnos lo normal es que los enemigos tengan programado soltar ataques al azar y a lo sumo conforme surjan circunstancias tales como perder PS pues varían un poco su comportamiento (así funciona la IA enemiga en un RPG Maker), pero en juegos como SRPG la IA enemiga es lo más valioso. Caso especial merecen los ARPG y la IA de tus aliados, en los que, dependiendo si los incluyen como simple ayuda mientras que el jugador es el héroe, o como verdaderos camaradas de un grupo de guerreros, puede ser que apenas tengan inteligencia o si que estén bien diseñados (aunque sea más bien porque permitan al jugador darles ordenes o marcarles el comportamiento).

    ResponderEliminar
  8. Vale, ya decía yo que la IA de los Dragon Quest a veces "predecía" cuando convenía curar. Eso se debe a que el jugador elige su acción previo al comienzo de la ronda, mientras que la IA la elige justo cuando le toca actuar, como si estuviésemos en un Mario RPG.

    ResponderEliminar
  9. Gran articulo, yo fui uno de los que uso el sistema gambits de final fantasy XII de tal forma que lo único que hacia era atacar :p el unico caso de IA especialmente peligrosa a tal punto que me veo obligado a reiniciar la partida porque los enemigos olvidando su propia seguridad van directo a matar solo mis unidades debiles haciendo casi imposible subirlas de nivel en tactics ogre de psp

    ResponderEliminar
  10. El principal motivo por el cual los turnos o el tiempo real con pausa tactica siguen siendo los mejores sistemas de batallas para grupos es precisamente por la IA. Esta o bien es demasiado buena y resuelve el combate o es estúpida y genera problemas innecesarios. Mismamente lo he probado en la demo del ffvii remake: aunqte comprendo lo que quieren hacer, en el mejor de los casos el combate es muy artificioso y en el peor sigue trivializando los combates más débiles (y para combates triviales mejor que no existan). Comprendo qte muchas veces los combates en los juegos de rol no han tenido la complejidad deseada pero los automatismos nunca benefician a un sistema de batalla.

    ResponderEliminar
  11. Justo hoy me quedé de piedra cuando en Pokémon Blanco, un entrenador cualquiera, cambió de Pokémon por uno que sí aguantaba el golpe del mío. Es decir, no solo cambió de Pokémon (que ya de por sí es raro), sino que predijo que, como su Pokémon anterior era de un tipo concreto, yo iba a usar un movimiento de un tipo supereficaz contra el suyo y puso a combatir a uno que lo resistía.

    Hablando totalmente en serio, puse la consola sobre la mesa y aplaudí al entrenador porque, que yo recuerde, ni siquiera los líderes de gimnasio te hacen unas jugadas como esa, y ojo, que no es por el juego, porque todos los otros entrenadores se empeñan en que sus ataques de tipo lucha y normal algún día le harán algo a mi Cofagrigus, de tipo fantasma xDD

    ResponderEliminar