Preparen armas ... ¿Listos? ... ¡A programar!

Publicado en

¡Tan solo 3 puntos abajo! Sólo unas líneas de código más… Casi cuarto para las doce… El código aún no es perfecto. El ataque es muy bueno, pero la defensa aún no es suficientemente efectiva… Ese otro tanque aún me está derrotando… ¡Diez minutos y se cierra el concurso! ¡Vamos piensa!... ¿Y si agrego un ciclo aquí y pongo esta rutina de giro adicional? ¡Y el campo de fuerza justo después de la teleportación al momento de soltar la mina, ahora quitaré los comentarios de mi código especial… ¡Sólo dos minutos más!... ¡¡Listo, a pelear!!

En el principio

En la reciente edición del Campus Party en México, conocida también como CPMX4, además de las conferencias dictadas, se lanzaron también diversos retos por parte de las empresas e instituciones que participaron, ya fuera como patrocinadores, expositores o con dinámicas de generación de conocimiento para todos los “Campuseros”. Un reto que se presentó por segunda ocasión consecutiva fue el “INFOTANK”, un “juego” donde cada participante debe utilizar sus conocimientos y habilidades de programación, lógica y estrategia para proveer a su tanque de las instrucciones necesarias para vencer a sus oponentes. En el juego combaten tanques pre-programados por cada jugador, que tratan de demostrar que su estrategia para vencer a sus oponentes es la mejor. Para ello el reto considera que los trabajos de desarrollo abarquen las áreas de inteligencia artificial, programación y lógica, conjugado en los algoritmos más innovadores que permitan atacar y defender la posición de cada tanque.

La primera vez que se presentó este reto en el evento CPMX3 o Campus Party México 2011, fue uno de los concursos que más aceptación y expectativa generó entre los “Campuseros”, obteniendo una participación de cerca de 400 competidores (el registro de concursantes más alto en un reto en la historia de los Campus, según los propios organizadores). Uno de los ganadores del reto expresaba incluso: “Llevo varias noches sin dormir plenamente por estar pensando en el algoritmo, y cuando decidí que era suficiente, que ya debía dormir y que ya no me importaba si ganaba o perdía, me desperté soñando en el código que implementé sólo unas horas antes de que cerrara el concurso… ¡Y gané!”, y su entrega fue tal que cuando se anunciaron los ganadores él no estuvo presente por estar dormido. Un aspecto interesante, es que en aquella ocasión, la última hora y en especial los últimos minutos fueron sumamente intensos en cuanto al movimiento de puntuaciones y cambios en la tabla de posiciones, y por supuesto la demanda de tráfico al servidor del sitio web, al grado que se tuvo un empate en tercer lugar, generando cuatro ganadores del reto.

A partir de esa fecha, el INFOTANK se ha utilizado en diversas ocasiones posteriores ya como concurso en congresos universitarios o como elemento didáctico para principiantes en programación, o en eventos con espacios para estudiantes de niveles primaria y secundaria. Permitiendo en todos los casos la experiencia de sentir que la programación no es tan compleja como pudiera pensarse y que la inteligencia artificial de un “robot” (aunque sea de forma virtual, como puede ser un tanque del juego) puede producir resultados tan simples o extraordinarios como la creatividad y astucia del programador lo permitan.

De regreso al presente

En esta edición CPMX4 o Campus Party México 2013, la experiencia fue incluso mayor en términos de calidad de los algoritmos, aún cuando solo participaron 230 concursantes, quienes incluso una semana antes de comenzar oficialmente el periodo de competencia, empezaron a poner en práctica diversas estrategias, de forma que pudieran ser los mejores programando la inteligencia de sus tanques. Los combates se realizaron formalmente desde el día 31 de Julio hasta el 3 de Agosto, de los cuales, los últimos treinta minutos de competencia fueron un vertiginoso cambio de posiciones y puntos, pues de un segundo a otro un tanque podía subir o bajar desde una hasta tres posiciones, generando que los últimos 5 minutos en especial fueran de una intensidad enorme, además de irse presentando empates múltiples continuamente en los primeros lugares, hasta que finalmente a las 12:00pm se conocieron los tres primeros lugares.

“Debo decir que este reto fue muy interesante, estaba lleno como cualquier competencia de la vida real de estrategia, matemáticas y al final quien hizo mejores matemáticas y eso fueron los mejores tanques y fue muy
divertido verlo”, expresó Alejandro Jimenez, ganador del primer lugar, en el escenario principal ante los “Campuseros” que veían la premiación de todos los retos.

“El reto lo vi desde que lo publicaron y me interesó mucho, me gusta la programación y pensé que era mi oportunidad de demostrar lo que puedo hacer. Yo tenía mis códigos, los probaba, subía de nivel y los comentaba
para que no se viera que podía hacer” decía con una sonrisa el veracruzano Gerardo García, al conversar con Infotec al terminar la premiación.

“En lo personal se me hizo una gran experiencia porque nunca había participado en este evento, es la primera vez que mezclo tantos conceptos juntos en algo tan divertido que no te das cuenta cómo pasa el tiempo” expresó alegre Rosaura Vidal, quien se llevó el tercer lugar a Cuernavaca.

Las opiniones de los “Campuseros” sobre el reto fueron muy positivas, particularmente en relación con la dinámica, diversión y por supuesto el estímulo de saber quién es el mejor programador. “Lo que más me gusta de INFOTANK es que puedes poner en práctica tus capacidades de programación y algoritmos en un ambiente de lucha”, comentó
Jacobo González, propietario del tanque Moctezuma1.

“INFOTANK es una excelente oportunidad de competir con otras personas y eliminar al más débil”, dijo Francisco Javier García, propietario del tanque “Gears of War”.
Este año INFOTANK presentó nuevas armas: minas terrestres, campos de fuerza y teleportación. Sin embargo las balas y los misiles mantuvieron su papel protagónico en los combates y sin lugar a dudas los competidores tuvieron más elementos para destrozar al enemigo.

A través del espejo

Más allá de la experiencia, la diversión, y el orgullo de sentirse el mejor programador, está la plataforma tecnológica con que se desarrolló este juego. El portal Infotank.infotec.com.mx cuenta con instrucciones, foros, consola de programación (donde cada jugador puede ingresar las líneas de código para programar los movimientos
de su tanque), zona de entrenamiento (para experimentar el código y verificar que se encuentre listo antes de entrar en batalla), y el Campo de Batalla donde se libran todos los combates y se ganan o pierden los puntos que permiten alimentar la tabla de posiciones para saber quién va a la delantera y quién rezagándose.

Lo importante de este sitio web es que al incluir ciertos componentes se comporta como un API para realizar el propósito principal del juego: Programar. Puede no parecer impresionante para muchos o lo contrario para otros, pero lo principal es que siendo una página web formada de la integración de componentes con funcionalidades
específicas que como piezas “Lego”, al conectarse, permiten tener toda la funcionalidad que se muestra en el reto INFOTANK, y que la tecnología usada es la misma para el desarrollo de una página informativa simple o para un producto complejo como un CMS o un administrador BPM, pero que al integrar modelado de funcionalidades
mediante Web Semántica se obtienen resultados mucho más ambiciosos y en tiempos más cortos, pues la versión que incluyó nuevas armas y reglas, usada en CPMX4 tomó únicamente una semana realizarse y probarse, sólo por referir un ejemplo.

Mucho se ha mencionado en esta columna sobre desarrollo orientado a la semántica o paradigmas de algoritmos basados en esta tecnología, así como que la plataforma SemanticWebBuilder con sus componentes utiliza esta tecnología y son base para desarrollar otras aplicaciones. Por ello, el caso del INFOTANK es tan importante, pues
aún cuando se trata de un juego en línea, es una aplicación por sí misma que brinda distintas interfaces según la administración, edición o publicación de la información que se desee operar por parte de los usuarios, y que además lo logra de una manera simple, pero poderosa, pues permite a desarrolladores que no tienen idea de estar usando modelos semánticos u ontologías en sus desarrollos la operen y se sientan cómodos trabajando en estos modelos, dando la pauta de que la línea evolutiva del desarrollo de Software no se encuentre tan distante de la
pauta indicada para la Web 3.0.

Armen sus tanques, la guerra continúa…

Bio
Victor Jesús Hernández Salinas es Coordinador de Servicios de Producto en INFOTEC. Es Licenciado en Sistemas de Computación Administrativa por la UVM. Desde 2003 colabora en INFOTEC en el equipo de Desarrollo de nuevos productos y servicios. Fue creador y Coordinador del área de Servicios de Producto y su normatividad, es además coordinador del programa de Certificaciones para SWB. Ha impartido conferencias sobre Web Semántica y Ciudades Digitales en diversos foros, participado en mesas redondas gubernamentales y publicado artículos en diversas revistas y sitios web.