Menu
in

CoreWar: Un juego de programación de batalla

Cuando la computación estaba en pañales, Silas Warner creó un juego llamado RobotWar, este luego inspiró CoreWar, un juego donde programadores desarrollan aplicaciones llamadas “guerreros”, cuyo objetivo es eliminar al resto de los programas. Luego de 25 años de existencia y muchos torneos, la base de seguidores sigue creciendo y aquí te contamos un poco de qué va este juego (y sus versiones alternativas).

Durante los años 70, Silas Warner (programador, por aquel entonces, de MUSE Softwaree y uno de los mayores colaboradores del sistema PLATO) creó un juego llamado RobotWar. El concepto era programar un robot que pueda ganarle al resto sin ninguna intervención del usuario. Este juego se volvió tan popular que, para 1982 ya existían torneos anuales donde varios programadores podían competir entre ellos. Tal como RobotWar, CoreWar es una variante en donde los jugadores deben programar una aplicación (llamada Guerrero) para que pelee contra el resto de los programas por el control de la máquina virtual MARS (Memory Array Redcode Simulator). Estos programas están escritos utilizando el lenguaje Redcode, muy similar al lenguaje ensamblador.

A lo largo de los años (están cerca de cumplir su aniversario número 25) se han experimentado con muchas técnicas y estrategias para ganar. Las más conocidas son: sobrescribir memoria ciegamente, buscar al oponente y generar nuevos procesos. Estas técnicas son conocidas como piedra, papel y tijera, ya que, no importa qué, una siempre le gana a la otra.

Lo más interesante de CoreWar es que cada programador hace su “guerrero” lo mejor que puede y una vez que comienza la batalla no pueden hacer otra cosa más que mirar la pantalla y rezar por que no lo destruyan por completo. El hecho de que las peleas generalmente tienen más de dos programas batallando lo hace aún más emocionante.

Como dijimos, el éxito de CoreWar fue tan grande que también tuvo sus propias variaciones. Una de las más populares es CoreLife que, a diferencia de CoreWar, tiene un elemento aleatorio en la batalla, por ende, el resultado nunca puede ser determinado por las condiciones originales. Más allá de esa diferencia, CoreLife es muy similar al juego original.

Sin dudas este no es un juego para cualquiera, es más, para muchos seguramente no es un juego sino una pantallita con lucecitas. Pero quienes se dan maña con este tipo de lenguaje de programación parecen disfrutarlo mucho y es por eso que año a año crece aún más. No creemos que se vuelva un entretenimiento masivo, debido a la naturaleza compleja de la programación, pero sin duda nos gustaría ver más de CoreWar en el futuro.

Escrito por Tomás Garcia

Leave a Reply