StarCraft II

Charla con el equipo de Starcraft II de DeepMind

Justin Groot, Blizzard Entertainment

Cuando StarCraft salió en 1998, el español Oriol Vinyals, experto en inteligencia artificial (IA) de DeepMind, no era más que un niño. Se enamoró del juego y ascendió entre los rangos competitivos, llegando incluso a quedar en tercer puesto en las clasificatorias del World Cyber Games (WCG). Desde entonces se convirtió en toda una eminencia dentro de la investigación de IA. ¿Y cuál es su proyecto actual? El desarrollo de un bot o «agente» capaz de dominar Starcraft II.

///

¡Gracias por dedicarnos un poco de tu tiempo! ¿Podrías presentarte?

Oriol: Soy Oriol Vinyals, investigador científico en DeepMind, y lidero la campaña de Starcraft II. Mi objetivo es lograr avances en el estado actual de la inteligencia artificial. StarCraft es un buen sujeto con el que investigar, de hecho, parte de mi doctorado en la universidad de Berkeley fue sobre StarCraft.

¿Trabajaste con StarCraft en tu doctorado?

Oriol: Un día un amigo mío me dijo: «Hay un grupo de gente en Berkeley que va a participar en una competición de IA contra IA y como tú jugaste mucho a ese juego estaría bien si pudieras ayudarles y ver cómo lo han abordado».

Estaban desarrollando un bot que se centraba en los mutaliscos Zerg. Empecé a jugar contra el agente... y creo que acabaron nombrándome «entrenador».  

La forma en que el proyecto abordaba el juego estaba basada en sistemas de reglas de expertos. «Vamos a hacer un montón de mutaliscos; necesitaremos una orden de construcción que pueda resistir varios ataques tempranos y además tendrán que crecer lo suficiente para mantener la producción», y cosas así. Era un enfoque muy programático, gracias al cual el agente aprendió a microgestionar los mutaliscos. Acabamos ganando esa competición. Fue muy divertida.

¿En qué se diferencia ese trabajo de lo que haces ahora en DeepMind?

Oriol: DeepMind está desarrollando lo que se conoce como «AGI» (siglas en inglés para inteligencia general artificial). No estamos desarrollando un agente que pueda jugar a un solo juego en concreto, sino que pueda jugar a cualquier juego sin demasiado conocimiento previo, pero primero hay que entender cuál es el paradigma de aprendizaje. Pensé que sería más divertido y desafiante desarrollar un bot al que no haya que programarle las reglas sino al que simplemente se le muestre la pantalla. «Aquí tienes el ratón y el teclado. Venga, empieza a interactuar con el juego e intenta mejorar».

¿Y por qué StarCraft?

Oriol: El juego presenta sin duda varios desafíos para una IA. En el Go puedes ver todo el tablero, al contrario que en StarCraft, en el que hay que explorar el mapa. Y luego está la interfaz, que es un banco de pruebas estupendo para ver si un agente puede interactuar con un juego moviendo el ratón y haciendo clic, muy distinto a las 14 acciones distintas que había en una Atari. Es todo un desafío.

¿Y cómo marcha el proyecto?

Oriol: Vemos cosas que son muy evidentes debido a la forma en la que entrenamos a los agentes. En retrospectiva, son situaciones que obviamente iban a pasar. Por ejemplo, la acción de mover la cámara para moverse por el mapa. Resulta que algunos agentes alejan la cámara de su base y no vuelven al punto donde deberían estar prestando atención (la propia base) para construir edificios y demás.

Para los humanos esto es algo simple, el minimapa sirve para mover la cámara y explorar, pero esos agentes se movían por todos lados, hacían clic en el minimapa sin llegar a ninguna parte y de repente, por un golpe de suerte, hacía clic justo donde estaba su base, pero su siguiente acción era seleccionar a todos los trabajadores y enviarlos a cualquier parte.

Es hasta doloroso de ver. A partir de ese punto necesitan recibir alguna señal o recompensa. Con suerte hay veces en las que hacen algo bien y entonces, y solo entonces, pueden empezar a aprender. Al contrario que con los juegos de Atari, en los que comenzarían a hacer cosas razonables bastante rápido, StarCraft tiene mucho más espacio donde interactuar y es bastante complicado arrancar, especialmente si hablamos del juego completo sin restricción alguna.

Hemos desarrollado una serie de minijuegos que son como versiones simplificadas de StarCraft. Dividimos ciertos aspectos del juego en mapas que consisten en, digamos: «expándete y crea muchos trabajadores», o «mueve las unidades e intenta cubrir la mayor parte del mapa posible», etc. En los minijuegos hay agentes que fueron capaces de aprender lo más básico, como mover las unidades o actuar en situaciones de combate...

(Para conocer más detalles, echad un vistazo al artículo conjunto entre Blizzard y DeepMind —en inglés— sobre sus descubrimientos de Starcraft II más recientes.)

¿Alguna sorpresa por ahora?

Oriol: Hay un mapa con dos soldados cuya misión es recoger minerales repartidos por el mapa. Una cosa que le cuesta al agente es entender que tiene que usar a los soldados de forma independiente. Pero lo que el agente realmente estaba intentando aprender es a mover a los soldados usando patrullar. Y hay una cosa que yo no sabía: patrullar hace que la distancia entre los soldados sea constante, lo que les permite recoger más minerales mientras se controlan simultáneamente. Esa fue la primera vez en la que dije: vale, acabo de aprender algo nuevo sobre Starcraft II.

( Vídeo )

Ahora hablemos por hablar. ¿Esta IA podría llegar a nivel de juego inalcanzable para un humano?

Oriol: No lo sé. Pero definitivamente creo que el enfoque tiene potencial para crecer en escala. Si programamos un bot en 2010, como el que hicimos en Berkley, este tendrá una orden de construcción o dos o tres, pero no escala a más. Tarde o temprano, alguien puede estudiar su estilo de juego y descubrir sus puntos débiles. Lo que me gusta de nuestro enfoque es que, si todo sale bien, el agente habrá aprendido una gran variedad de tácticas y formas de contraatacar que no podrían programarse, de la misma forma que no puedes programar a un jugador de Go excepcional.

Si hablamos de vencer a los mejores, no sabría decirte. Habrá que verlo. No puedo predecir si lo lograremos o no.  


Créditos de las imágenes: DeepMind

Más artículos sobre el 20.º aniversario

Kevin «monk» Dong, diseñador del modo cooperativo, nos cuenta su historia

El cambio en los esports de Starcraft II protagonizado por «Scarlett», «NoRegreT», y «la casa»

Mike Morhaime habla sobre los 20 años de esports de Starcraft

Evolución completada: recreación de las unidades clásicas de StarCraft para StarCraft II