Este mes de marzo StarCraft celebra su 20 aniversario y en estas dos décadas es reconocido como un titulo que cambió completamente la industria, desde el aspecto evolutivo de los juegos de estrategia, hasta las primeras etapas de los E-sports a nivel mundial. No solo ha brindado enormes aportes a la industria del Gaming, sino también a la de la ciencia en el desarrollo de la inteligencia artificial conocida como IA.

La investigación de la IA en los juegos RTS (real time strategy), es un concepto que lleva más de dos décadas y StarCraft ha sido la catapulta para el desarrollo de esta tecnología computacional, por mucho tiempo los investigadores han trabajado en construir BOTS o NPC (non-playable character) capaces de derrotar a los mejores jugadores humanos, pero aún falta mucho camino por recorrer. En el Blizzcon 2016, las compañías DeepMind y Blizzard dieron a conocer una colaboración en el desarrollo de un API (interfaz de programación de aplicaciones) abierto para IA en StarCraft II.

Desde finales de la década de los 90 los investigadores han hecho una transición de investigar diferentes técnicas de IA en juegos RTS de forma aislada, a tener colaboraciones y torneos que presentan estrategias mucho más complejas por parte de los gamers profesionales.

Para que este tipo de investigaciones sucedan, algunas cosas deben ser necesarias:

  • Open API’s para que los investigadores construyan y evalúen los bots
  • E-sports para facilitar que los investigadores puedan comparar diferentes técnicas y comportamientos
  • Repeticiones para aprender nuevos algoritmos y usarlos en la practica
  • Oponentes humanos para evaluar el desempeño de los bots (los bots se conocen popularmente como “la maquina” es un personaje controlado por la IA)

La mayoría de estas condiciones fueron introducidas con el lanzamiento de Brood War API en el 2009, pero la naturaleza cerrada de la plataforma hizo que la labor de los investigadores fuera más difícil de automatizar los procesos de aprendizaje en los sistemas de IA. Más tarde con el anuncio del “environment” abierto de StarCraft II, los investigadores tendrán una gran oportunidad de desarrollar sistemas capaces de tener un rendimiento nivel experto en un juego RTS.

En marzo de 1998 el mundo conoció Starcraft y su paquete de expasion Brood War salió en noviembre de ese mismo año. Este revolucionó el gaming profesional principalmente en Corea del Sur. Mas tarde ese mismo año aparece un clon de Warcraft II llamado Freecraft, que luego fue rebautizado como Wargus. Este fue programado en un “engine” llamado Stratagus y fue de los pioneros en la IA.

FreeCraft

El primer artículo científico sobre la inteligencia en los videojuegos fue Human-Level AI’s Killer Application Interactive Computer Games publicado por John Laird y Michael van Lents de Soar Technology Inc. en el 2001, la relevancia del artículo fue de gran magnitud porque reconocía los juegos de estrategia real como un excelente medio para estudiar la inteligencia artificial. En el año 2002 fue el lanzamiento de Warcraft III, una de los grandes “features” que venía con el juego era un editor de mapas ampliamente flexible, que fue usado para la versión inicial de DOTA. El editor de mapas tenía un código que permitió programar una IA “custom”, sin embargo, estaba limitada a un solo tipo de mapa, así nació el típico mapa de los MOBA. (Multiplayer online battle arena).

Para el 2003 Michael Buro y Tomothy Furtak del departamento de ciencias en computación de la universidad de Alberta propusieron el desarrollo de un código abierto para el “engine” de los juegos RTS, para poder ser usado por la comunidad de investigadores en inteligencia artificial. El año siguiente Michael Buro lanza la primera version de ORTS (Open-Source RTS Engine) el sistema tenia la capacidad de correr los juegos de formas gráficas y en forma de código (no-grafica) lo que permitía un desarrollo rápido de bots en las sesiones de juegos, el problema era que no existía la opción de probar los bots contra jugadores humanos. Por otro lado, Freecraft, basado en Warcraft II y ahora renombrado Wargus usaba un engine llamado Stratagus, con una plataforma abierta para que los investigadores tuvieran libertad de explorar cualquier técnica deseada, el problema es que no tenía la opción de crear repeticiones de las partidas y el “networking” estaba limitado a probar bots vs bots. Ese mismo año, 2004, se propone el sistema TIELT, un “framework” de IA que proveia un API consistente, sobre el cual se desarrollaron varios títulos. Uno de los objetivos del sistema era tener la capacidad de transferir el conocimiento de la IA a un nuevo juego,creando una base de datos de código que se comporta como la “memoria” de la inteligencia artificial con una estructura sencilla.

Durante los años de 2005 y 2008 se desarrollaron las primeras competencias de ORTS y la ICCup (International Cyber Cup) un “third-party” host server de StarCraft, en la cual se permitía correr bots y proveía a los jugadores con una tabla de récords y resultados, esta información era muy importante porque reunía datos reales de gamers para ser usados en el desarrollo evolutivo de la IA. A mediados del 2008 se presenta la primera investigación propiamente de la IA en StarCraft donde los investigadores Ji-Lung Hsieh y Chuel-Tsai Sun del centro nacional de ciencias de Taiwan construyeron un modelo con estructuras, unidades y recursos para optimizar la IA, esto lo hicieron reproduciendo miles de partidas de forma consecutiva.

Predicción del orden de construcción en StarCraft

Para el fin de la primera década de nuevo milenio fue lanzado el API de Brood War, con un proyecto de Google Code llamado BWAPI (Brood War API), el cual proveía acceso al código de programación de StarCraft. La librería funcionaba usando una herramienta DDL para inyectar el API al runtime de StarCraft, esto proveía una interfaz para tener funciones dentro del juego, actualmente el host es GitHub y tiene una versión de Java.

Mas tarde en el 2010 Starcraft II Wings of Liberty es lanzado, ese mismo año la primera competencia de IA fue realizada en el AIIDE (Artificial Intelligence and Interactive Digital Entertainment) , el evento fue ganado por el equipo de la universidad de BerkeleyOvermind”, en los siguiente dos años se creo el Student Starcraft AI Tournament.

Para el 2013, Krasi0 desarrolla un sistema llamado ladder (escalera) con bots de Starcraft ahora corriendo 24/7 creando un ambiente diferente para el desarrollo y evaluación de la IA. Entre los años 2014 y 2016 Matt Webcorner , del Laboratorio de computación gráfica de la universidad de Standford demostró que un bot de StarCraft II se puede construir para interceptar comandos de DirectX, para interferir en el estado del juego.

En el 2016 los investigadores de IA de Facebook comenzaron a usar StarCraft como una herramienta de aprendizaje y presentaron un artículo en Micromanagement , crearon un bot que participo en el reciente AIIDE 2017. Finalmente, en el Blizzcon 2016, DeepMind anuncio que estarán colaborando con Blizzard en un “open Framework” para IA, el desarrollo de la IA se calentó cuando Google y Facebook se pusieron a competir desarrollando un bot capaz de jugar profesionalmente StarCraft.

Links de los articulos cientificos:

http://gamelearninglab.nctu.edu.tw/ctsun/RTS%20player%20modeling.pdf

https://www.aaai.org/ojs/index.php/aimagazine/article/view/1558/1457

https://arxiv.org/pdf/1609.02993.pdf

https://cachedsscaitscores.krasi0.com/eloRatings/

https://code.facebook.com/posts/132985767285406/introducing-elf-an-extensive-lightweight-and-flexible-platform-for-game-research/

Compartir