sábado, 30 de mayo de 2015

La Inteligencia Artificial en los RPGs.

Últimamente he estado jugando de nuevo a Game Dev Tycoon y una de las cosas más llamativas es la escasa necesidad que hay que potenciar la Inteligencia Artificial (en ese juego) en caso de que quieras crear un RPG. Al contrario del apartado sonoro (En Game Dev Tycoon también se considera como un elemento secundario en este género, cuando es evidente que muchas de las mejores Bandas Sonoras vienen de RPGs), en este caso creo que todos podemos considerar que sí que es algo que normalmente no ha sido especialmente cuidado en este género.

Enemigos que lanzan ataques incorrectos, que atacan a quien no deberían, que se curan cuando tienen su vitalidad al máximo... Creo que casi todos habremos visto algún ejemplo de estos en ciertos 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 el rival 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.

Hacen trampas, vaya.
Así, pues, en el género RPG vemos multitud de posibles respuestas de la Inteligencia Artificial de los enemigos 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 (Muchas veces con el oso recibiendo más daño del dragón que de nuestros ataques, lo cual no hace que cambie de objetivo) o por qué un Graveler salvaje, que nos acaba de aparecer delante, ve como una genial idea explotarse a sí mismo simplemente por hacerle daño a nuestro pokémon. Esta es una tendencia general de todos los videojuegos en sí, pocos han logrado darle una coherencia absoluta a las razones de por qué nos ataca todo lo que vemos.

Precisamente, Pokémon es uno de los ejemplos más claros de una Inteligencia Artificial mal programada, con multitud de ejemplos realmente absurdos: Pokémon que no paran de usar Ataque Arena, Gruñido o cosas por el estilo, problemas contra los pokémon de doble tipo (Lanzando ataques que no causan daño simplemente porque serían muy efectivos contra uno de los dos tipos), 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 contra un pokémon de tipo Veneno porque Agilidad era de tipo Psíquico), intentos consecutivos de causarte diferentes estados alterados cuando ya sufres un estado alterado...

¿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 a un pokémon que solventar ese problema.

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. Que, vale, cabrea igual porque normalmente intentamos curarnos antes de que nos vuelva a atacar, pero hay veces que nos ganan en rapidez y por acciones como esa pierden la posibilidad de derrotarnos.

Cosas como esta son bastante naturales en muchos RPGs importantes, como Dragon Quest, donde resulta sencillo ver a enemigos perdiendo turnos intentando reforzarse cuando no pueden reforzarse más, intentando llamar a compañeros cuando su grupo está completo, eliminando los efectos beneficiosos del grupo cuando no nos hemos aplicado ninguno... Y ya si miramos a Dragon Quest IV y los compañeros controlados por la IA, era para echarse a temblar ante clérigos perdiendo turnos y PM que podrían usar en curar/reforzar a sus compañeros para, en su lugar, intentar causar muerte directa a un jefe. (Algo imposible)

Precisamente, eso de dejar a la IA luchar controlando a un personaje del jugador es de las cosas más dolorosas del mundo, como el clásico ejemplo del Coliseo de Final Fantasy VI, donde tenías que dejar que tu personaje luchase solo. En la práctica, curiosamente, era mejor tener a un personaje que no tuviera demasiadas posibilidades disponibles, ya que al elegir al azar entre muchas, era fácil verle ejecutar técnicas inútiles o mucho menos efectivas de lo que sería coherente... Pero, claro, no había coherencia detrás de ello, simplemente usaba una habilidad o ataque al azar.

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 PS2 (Especialmente con Mitsuru, pasando de curarte por usar Marin Karin o haciendo que un combate extremadamente fácil con enemigos débiles a confusión, habilidad en su disposición... Se pierda en usar ataques poco efectivos), la selección de habilidades en tu grupo de The Last Remnant... 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 el grupo ganase solo.

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ó", 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/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 en su máximo esplendor.

Pero, como ya hemos comentado, esta cierta estupidez de la Inteligencia Artificial es algo 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 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. Fire 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 (¿Flechazos a un tío con una armadura gigante? ¿En serio?), 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), un título al que estoy jugando ahora mismo, 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 el turno, buscar flanquear a nuestros personajes, curarse o recargar si les hace falta, ser agresivos si pueden matar a alguien, lanzando granadas si pueden dañar a más de un aliado...

Sí, hay muchas veces que les puedes engañar, que tomarán una opción no-tan-perfecta o que por buscar ser agresivos se pondrán en peligro (Como cuando invocan a un elemental, lo fuerzan demasiado y se les pone en su contra) pero, en general, acabarás cabreado por lo bien que actúan, haciendo que te tengas que tomar muy en serio casi cualquier combate.

Por supuesto, también tenemos casos como los MMORPGs, donde "el agro" (Llamar la atención de un enemigo y hacer que te ataque) y la forma de jugar con él siempre puede generar problemas con la Inteligencia Artificial y vemos desde enemigos que nos persiguen hasta el fin del mundo a casos donde podemos matar monstruos sin preocuparnos de que nos puedan alcanzar.

Este caso, que se suele considerar como "hacer trampas" y suele estar castigado en todos los juegos online, es casi parte misma del concepto de los juegos 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, creo que ya hemos hecho un repaso bastante completo 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 muchos 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.

Abe me comentó decenas de veces que él se suele elegir personajes curativos para controlar en los RPGs porque "con un jugador siendo el curandero, el grupo no puede perder" y, hey, bien que lo probamos hace ya un par de años.

Así que, nada, espero que os haya gustado la entrada y ya nos comentaréis vuestros casos donde la IA os ha resultado más imbécil u os ha sorprendido con una acción extremadamente inteligente (O incluso sobrehumana) porque, al fin y al cabo, gritarle a la televisión tampoco es que arregle mucho, ¿verdad? :P

9 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