CoreWar: Un juego de programación de batalla

Tomás García . Vista 7902 veces

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.

    Partida de CoreWar corriendo bajo el simulador pMARS. Partida de CoreWar corriendo bajo el simulador pMARS.

    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.

    Una partida de CoreLife. Una partida de CoreLife.

    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.

    Sitio oficial:  CoreWar

¿Y tú, qué opinas?

  • #1 Reyvolsam
    Reyvolsam jueves, 14 de mayo de 2009, 04:42

    Orale muy interesante para los que llevamos programacion, el lado divertido y entretenido de la programacion.

    Saludos!!

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #2 RedDragon
    RedDragon jueves, 14 de mayo de 2009, 06:16

    Excelente, seria interesante que hiciera un tutorial con cosas basicas a la hora de programar, asi algunos cuantos podemos aprender, y que mas insentivo para practiar que un juego...creo que seria muy prometedor y educativo para los que queremos comenzar en el mundo de la programacion y no sabemos como...

    Responder >> Attention Minus Plus Votos: 3 de 3
  • #3 <a href="../../foro/member.php?u=16040" target="_self">Juan Antonio</a>
    Juan Antonio jueves, 14 de mayo de 2009, 10:52

    Solo apto para informaticos experimentados, si no lo eres, echa tu tiempo en aprender primero informatica que te sera mas util y despues juega.

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #4 masterjedi
    masterjedi jueves, 14 de mayo de 2009, 14:55

    esto es viejisimo.

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #5 <a href="../../foro/member.php?u=6723" target="_self">you</a>
    you jueves, 14 de mayo de 2009, 15:23

    #4Sí, como dice en el artículo, es viejísimo. De los años 70. Muy bien 10 por ser un virtuoso en lectura comprensiva y por comentarios tan útiles. XD

    Responder >> Attention Minus Plus Votos: 2 de 4
  • #6 andres
    andres jueves, 14 de mayo de 2009, 16:09

    Buenisimo, ahora se con que me voy a poder entretenerme cuando termine de enfermar del todo mi cabeza programando.

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #7 Pepe Veraz
    Pepe Veraz jueves, 14 de mayo de 2009, 23:14

    pues el ensamblador no es cualquier cosa eh, es un lenguaje de bajo nivel por lo cual es mucho mas complejo que los programitas que todos hacemos en C.

    saludos.

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #8 andres
    andres viernes, 15 de mayo de 2009, 14:00

    #7que vos hagas "programitas" con c, no es culpa de la herramienta sino de quien la usa, que no sepas explotar el potencial que tiene c como lenguaje, no permite que lo menosprecies, o por lo menos investiga un poquito que se ha desarrollado con él.

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #9 -x-
    -x- sábado, 23 de mayo de 2009, 07:27

    jajajaja me causo gracia tu comentario "programitas"???? y mas eso de "que todos hacemos" todos es mucho recurso humano no crees?, como dijo el camarada andres no se que tipo de programas hagas tu pero hay cosas que ni siquiera te imaginas que se pueden hacer con C, y en una cosa si tienes razon el lenguaje ensamblador no es cualquier cosa debes tener una mente muy abstraida para comprender y ser un programador nato, ocea que minimo debiste ser aceptado en alguna ingenieria, o estar tocado por dios en el mundo de la programacion, hay gente muuuy buena chicos de 15 años(si no es que menos) que programan para los ejercitos en varios paises del globo, y bueno animo y suerte a los que pretenden... Leer más

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #10 <a href="../../foro/member.php?u=20256" target="_self">MANZANILLA</a>
    MANZANILLA martes, 23 de junio de 2009, 23:13

    ola no se como jugar me enseñan

    Responder >> Attention Minus Plus Votos: 3 de 3
  • Cargando...Cargando...

  • nuevo comentario
    Nombre

    Campo obligatorio

    Email

    Escriba una dirección de correo electrónico con el formato sunombre@ejemplo.com.

    Campo obligatorio

 
Ir arriba