Mini-doc: La inteligencia artificial en el medio (parte 1)

8

Hola compañeros vrutaleros. Los exámenes finales han terminado, las vacaciones al fin comienzan y ahora que vuelvo a tener tiempo libre, llego el momento de subir más contenido a la página. Si recuerdan mi aporte de teorías sobre el poder Z, les había dejado dos temas a elegir para la próxima ocasión, pero la profecía que hice al inicio se cumplió (soy vidente) y casi nadie lo leyó, pero esas cosas pasan. Así que me decante por este tema porque ya bastante gente ha hablado del otro y porque sinceramente, me apetecía más escribir de este, ya que es algo más interesante pero que tristemente no recibe tanta atención en el medio. Y además, me permite trabajar en un nuevo tipo de artículos: los mini-docs.

¿Qué son? Pues en términos simples, “documentales” sobre la historia de cierta saga, persona o aspecto del medio, como en este caso con la inteligencia artificial. Su objetivo es tratar brevemente los acontecimientos importantes de dicho tema, con su buena dosis de opiniones y ofrecer una reflexión final. Aclaro que no los haré muy seguido, ya que necesitan más trabajo e investigación que otros tipos de artículos que he hecho y enserio quiero que estén lo mejor posible.

Por último, para este caso, me centrare en definir los conceptos y mostrar ejemplos de estos a lo largo de la historia. Además, intentare usar una presentación más trabajada y dirigible para el aporte, así que díganme en los comentarios que les parece. Bien, eso es todo. Ready… ¡Start!

Comencemos explicando algunos conceptos. La inteligencia es normalmente definida como “la facultad de la mente de aprender, entender, razonar, tomar decisiones y formarse una idea determinada de la realidad.” Y la inteligencia artificial (I.A para abreviar) es un “programa de computación diseñado para realizar determinadas operaciones que se consideran propias de la inteligencia humana, como el auto-aprendizaje”. Aun con sus variaciones, al revisar estos conceptos queda claro que para que un programa se considere “inteligente” debe ir más allá de patrones predefinidos y ser capaz de emular alguna de las cualidades de nuestra mente.

Ahora bien, conseguir esto es algo difícil y costoso, así que en la mayoría de los casos, los programadores prefieren hacer que la I.A (Inteligencia artificial) de su juego “parezca inteligente”. Para lograr esto, actualmente se suelen utilizar estas 2 técnicas: las máquinas de estados finitos y los arboles de comportamiento. Las primeras consisten en darle al objeto una serie de estados con acciones específicas para cada uno, con transiciones entre estos. Para ejemplificarlo, imaginemos que estamos en un “Action RPG”. Acabamos de entrar a una fortaleza enemiga y nos encontramos con un guardián. Su estado actual es “pasivo” que al vernos pasara a uno de “persecución”. Una vez nos alcance, su estado será de “ataque” o bien podría ser un arquero que nos ataque desde cualquier distancia y no tenga el estado de “persecución”. El problema de esta técnica es que es muy poco flexible y necesita un muy buen diseño de nivel para funcionar.

Los arboles de comportamiento en cambio, funcionan como una red de neuronas en la que cada una representa una acción. Su principal ventaja es que son muy adaptables a las situaciones, pues permiten almacenar un gran número de acciones que se pueden ejecutar en diferente orden y forma, permitiendo así mejores reacciones a una mayor cantidad de eventos. Para entenderlo mejor, retomemos el ejemplo anterior. Ahora caminar, atacar, etc. son acciones separadas e independientes, por lo que nuestro guardián ahora puede defender y atacar a la vez, esconderse y tirar una bomba o llamar refuerzos mientras corre en función de ciertos factores. Ojo, se puede hacer esto con el modelo anterior, pero resulta más complicado y menos eficaz.

Estas son las formas más usadas para simular inteligencia en los videojuegos, pero…¿Hay algún método que se acerque más a la inteligencia “real”? Sí, hay uno: el “algoritmo genético”. Este se basa parcialmente en la teoría de la evolución de Darwin ¿Cómo? Pues, dicho rápido y mal, libera una serie de “entidades” en un entorno y los somete a diversas situaciones (según el juego), hasta que la mayoría “muera” y los “sobrevivientes” (los más aptos) pasen sus características a la siguiente generación. Esto se repite una y otra vez hasta conseguir el nivel de eficiencia deseado. El ejemplo en este caso será con una máquina de jugar ajedrez. Pero esta solo dispondrá de la información sobre cómo mover cada pieza y una base de datos vacía que almacenara las jugadas. Ahora creamos un grupo clonando esta máquina algunas veces y lo ponemos a jugar contra diferentes jugadores, con poca habilidad en el deporte. De estos encuentros conservamos las máquinas que hayan tardado más turnos en perder y las replicamos. Repetimos el proceso, aumentando poco a poco el nivel de los jugadores y empezamos a ver como como las máquinas de las últimas generaciones no solo aguantan más turnos, sino que en algunos casos son capaces de ganar la partida. Al final del proceso, se elige la maquina con mejor inteligencia de todo el grupo, ósea, la que mejor responda a un mayor número de jugadas. Este método en los videojuegos, permite crear entidades muy robustas y adaptables, pero con el inconveniente de ser con diferencia, la forma más costosa y difícil de usar.

Muy bien. Con eso concluye la introducción. Ahora avancemos al recorrido de… el papel de la I.A a lo largo de la historia del medio.

- Comenzamos nuestro viaje como no, con el primer videojuego de la historia; Pong, lanzado por la mítica Atari en 1972… Oh esperen. Según mis fuente (Wikipedia) este juego se basó en “Tennis for Two”, así que mejor hablo de… Rayos, este juego solo se puede jugar con dos personas. Entonces. ¿Cuál fue el primer videojuego que hiciera uso de una I.A? Pues…

Incluyo este vídeo porque tiene mucha información interesante que me gustaría explicar, pero no puedo extenderme tanto. Para quien no desee verlo, OXO (juego) es un simulador del clásico Gato, “tres en línea” o como tú le llames. Desconozco el funcionamiento del jugador COM, pero según dice el vídeo, es bastante bueno, algo lógico considerando la simpleza del juego. Pero sin duda, lo que más me llama la atención de OXO es que su propósito, demostrar la interacción que hay entre hombre y máquina. Sirve perfectamente para introducirnos al tema de este aporte, y además, me inspira para hacer mi futura tesis.

Por cierto, nombrare muchos juegos en esta parte, pero en general dedicare de 4 a 6 renglones a cada uno, así que cálmense. Este juego, debido a su importancia y su inspiración para mí, fue la excepción. Y ahora, continuemos con el viaje.

- Space Invaders, diseñado por Toshihiro Nishikado fue lanzado para las “recreativas” (Arcadias) en 1978 y destaco por manejar una gran cantidad de enemigos en movimiento, aunque de inteligentes que tenían apenas tenían la semi-aleatoriedad de sus disparos.

- Pac-man, lanzado por Namco en 1980, es (creo) el primer juego en tener personajes en vez de simples “obstáculos” y esto se extiende a la jugabilidad. Cada fantasma tiene un patrón distinto: Blinky es el que te persigue de forma más directa, luego Pinky intenta llegar al lugar a donde cree que tu iras, adelantarse a tus movimientos, Inky normalmente te sigue, aunque a veces toma desvíos extraños y Clyde, digamos que hace lo que quiere. Solo voy a comentar, que para un juego hecho en esos años, tener ese nivel y variedad de “inteligencias” es realmente sorprendente.

- En 1985 llega la NES de Nintendo y trae un procesador más avanzado, que permite la creación de enemigos con una mayor cantidad de acciones como los diferentes Koopas en la saga de Super Mario, los jefes de TLOZ2 o los peladores (basados en estereotipos nacionales) de Punch-Out!! Tenías que leer sus patrones, aprender a esquivar sus ataques y golpear en el momento y lugar exacto según cada uno.

- Pero si hablamos de un juego con una I.A resaltante, tenemos a… Dragón Quest (Dragón Warrior en América). Si, este título lanzado en Japón en 1989 fue el primer juego RPG de su tipo (creo) y una auténtica revolución. Una de sus principales virtudes era que en el combate los enemigos podían variar sus rutinas de ataque, aunque por desgracia no pude encontrar más detalles.

- Un año después, llegaría Street Fighter II a las Arcadias el cual de hecho, tiene una “Inteligencia” enemiga muy, muy interesante para hablar. Por ejemplo, muchas de los ataques del CPU se hacen en cadena, es decir que cada uno tiene rutinas con varios movimientos seguidos. Además, el oponente tiene tres estados: espera, donde solo se mueve un poco, ataque, donde ejecutara estas rutinas y reacción, donde intentara defenderse de un ataque (en función del oponente, la altura del movimiento, etc.). Y por cierto, la CPU PUEDE VER TUS ATAQUES ANTES DE QUE TU PERSONAJE LOS HAGA, así que si, en este juego la computadora hace trampas. Ahora puedes esto como excusa cuando te digan que juegas mal esta saga. Lamento haberme extendido tanto aquí, pero esta información, obtenida de un proyecto (SF2PLATINUM) me resulto demasiado interesante como para no usarla. Chequen su página si tienen tiempo (y saben algo de inglés y/o programación).

- Con la llegada de los juegos en 3D, la I.A tenía nuevos retos que superar. Y con Ocarina of Time, se dieron pasos importantes para ello. El juego tenía muchos enemigos con diferentes características que se adaptaban bien al entorno 3D, desde seres tontos y simples como las Deku-babas hasta enemigos más sofisticados como los Stalfos y los jefes, capaces de variar sus ataques e incluso de reaccionar a los tuyos, de una manera bastante buena tomando en cuenta que fue el primer Zelda 3D.

- Más o menos en el mismo año (1998), nace la saga de Mario Party, que además de romper amistades, resulta interesante por su “gran” trabajo en la inteligencia de los COMS (personajes controlados por la CPU). Y no es por complejidad, pues estos son bastante “tontos” en ocasiones y los mini-juegos son simples, pero son decenas de ellos y cada uno requiere de una programación diferente, sin contar con la fase del tablero (donde apostaría que hacen trampas) y los distintos grados de dificultad. A mí al menos me sorprende la gran cantidad de trabajo que se tuvo que hacer para que los COMS de esta saga funcionen (más o menos).

- Llegamos al 2004 cuando la famosa Valvue (antes de Steam) lanzo Half-Life 2, considerado uno de los mejores juegos de su generación, aunque con una I.A enemiga, cuestionable. Y no es que no esté trabajada. De hecho, muchos enemigos están muy atentos a nuestros movimientos y usan diferentes tácticas para intentar derrotarnos, pero debido a su modo de “verte”, a veces ocurren cosas como esta:

En fin, eso es todo por ahora. Quería hacer este aporte de tirón, pero hay demasiado de que hablar, así que lo dividiré en 2 partes (sorpresa). En la siguiente terminare con esta “cronología” y explicare como veo yo que podría explotarse más este genial recurso tan poco valorado en el mundo de los videojuegos. Así que… Continuara.

8 8

8 comentarios

17 de junio de 2017 - 15:30
#2 TORYGRANGER
No sabía que en hl2 te podías esconder detrás de un bote de aspirinas. Snake tiene mucho que aprender.

9 0

17 de junio de 2017 - 14:05
#1 OOOMGWTF
este tipo de contenido me encanta muchisimo, pero para ser noticia no tanto *cof* *cof* FORO PLS *cof* *cof* sigue asi :)

8 1

17 de junio de 2017 - 16:49
#3 ZELKAT13
Y pensar que hay varios que dirán "pero que tan difícil puede ser hacer un videojuego"... Puede que hoy día no sea difícil, dependiendo de la rama de videojuego claro, obviamente un triple A no es comparable a un indie, pero fácil, no es, lleva mucho trabajo y la IA es, básicamente, el guión y vida del videojuego en si mismo. Que muchas veces sale mal (E.T, Club Driver), y otras muchas más salen joyas (Mario, Zelda, Metroid por mencionar las más conocidas).

4 1

17 de junio de 2017 - 22:49
#4 ROXAS_358
Me parecio bastante interesante el articulo, espero que pronto llegue el siguiente para asi ver como a ido avanzando todo en la industria, y manten el formato que esta genial

Pd: a alguien mas no le sale el articulo en la seccion de noticias?

3 0

19 de junio de 2017 - 12:51
#7 ARNI8213
#5 @alt180 Eso es parte de la IA de los enemigos (hablando en general).

2 0

19 de junio de 2017 - 12:52
#8 ARNI8213
#6 @gianluca12345 Habrá segunda parte tranquilo.

2 0

17 de junio de 2017 - 22:59
#5 ALT180
Respecto al último video, estoy seguro que eso tiene más que ver con el sistema de detección del jugador que con la inteligencia en sí.

1 1 1

18 de junio de 2017 - 00:26
#6 GIANLUCA12345
Vrutal, no hanlaste de la IA de la serie de Batman o de F.E.A.R., que es considerada la mejor inteligencia artificial

0 1 1

Deja tu comentario

Necesitas estar registrado o iniciar sesión con tu cuenta Memondo para poder participar.