Spacewar-jugando

En este recorrido que estamos haciendo por los primeros videojuegos de la historia hemos conocido la historia del Tennis for Two, de OXO y del Nimrod, la terna que ostenta la corona de los primeros videojuegos de la historia y que se desarrollaron durante los años 50. Hoy vamos a viajar a la que, actualmente, está reconocida como la mejor escuela de ingeniería del mundo, el Instituto Tecnológico de Massachusetts (MIT), un centro en el que nació Spacewar!, el segundo videjuego interactivo de la historia.

En 1960, llegó al MIT el PDP-1, el primer computador fabricado en serie por la compañía Digital Equipment, una computadora quetrabajaba a 200 KHz y realizaba 100.000 operaciones por segundo. Alrededor de esta infraestructura nació el que denominan el espíritu hacker del MIT, es decir, el grupo de alumnos pioneros en trabajar, por su cuenta, con computadoras y software por la diversión de aprender y experimentar en el Tech Model Railroad Club. Estas mentes inquietas llegaron a reproducir música en el PDP-1 gracias a la creación de un software, el compilador de armonía, con el que codificaron y reproducieron obras de Bach o de Mozart.

En el año 1961, Steve "Slug" Russell, Martin "Shag" Graetz y Wayne Wiitanen idearon un juego para computador que querían desarrollar en la PDP-1 del MIT. Aunque no eran estudiantes del centro, el profesor Jack B. Dennis, que era el responsable del computador, permitía el acceso a todo aquel que estuviese interesado y tuviese un proyecto en su cabeza. Después de que Alan Kotok hubiese programado algunas rutinas para realizar cálculos trigonométricos (senos y cosenos), Steve Russell pudo tener acceso al PDP-1 y, tras 200 horas de trabajo, fue capaz de escribir el código de la primera versión de un videojuego, el Spacewar!, que se jugaba en un monitor CRT que se usaba, en principio, para testear algunas funciones en el computador.

PDP-1

Spacewar! era un juego pensado para dos jugadores que se enfrentaban en una batalla entre dos naves espaciales, la aguja y la cuña, que debían intentar destruirse mutuamente sin dejarse atrapar por la fuerza gravitatoria de una estrella. Las naves contaban con un combustible limitado y unos misiles que también estaban limitados, además de contar con una especie de agujero negro (hiperespacio) que los movía a alguna de las esquinas de la pantalla de juego. Con estas condiciones, los jugadores debían disparar misiles al contrario controlando la rotación de su nave y contrarrestando la gravedad con los motores de ésta. La primera versión del juego se terminó en febrero de 1962 e incluía un fondo estrellado que se generaba de manera aleatoria.

Teniendo en cuenta que el PDP-1 era un computador extremadamente caro (sobre todo si tenemos en cuenta que sólo existían en algunas universidades), el Spacewar! se le conocía por el sobre nombre del "Caro planetario" y, al final, el código del programa se añadió al código principal del computador. El juego se hizo muy popular en el MIT y se fueron añadiendo nuevas características por parte de Dan Edwards, Peter Samson, y Martin Graetz, en la que añadieron modos de funcionamiento en el que se eliminaba la estrella (sin atracción gravitatoria), eliminaba el fondo con estrellas o añadía el "viento espacial", que incluía un factor de desviación a la trayectoria para que el jugador tuviese que ajustar, constantemente, la dirección de la nave, generándose una nueva versión en abril de 1962.

El juego siguió popularizándose y otros centros de investigación, usando el código fuente original, trabajaron en sus propias variantes (añadiendo obstáculos, minas o generando una perspectiva en primera personal para que se pudiese jugar en dos pantallas en paralelo). Tal fue el éxito del juego que, al final, Digital Equipment (fabricante del PDP-1) incluyó en su fabricación de serie del PDP-1 el código del juego, algo que siguió manteniendo en el PDP-10 y en el PDP-11.

Spacewar!-PDP-1

Spacewar! requería 100.000 cálculos por segundo para controlar el movimiento de las naves, la gravedad, los controles de los usuarios, las posiciones relativas de las estrellas del fondo y la estrella "atractora" y enviar al monitor 20.000 puntos por segundo para ir refrescando la pantalla con los movimientos de los usuarios.

¿Y qué tiene de importante este juego? Bajo mi punto de vista, Spacewar!, además de ser un juego interactivo, aporta tres aspectos que me parecen muy importantes:

  • Spacewar! introdujo cálculos complejos, puesto que la trayectoria de las naves se veía influenciada por la simulación de un campo gravitacional y del viento espacial y, además, gran parte de los cálculos se basaban de las rutinas de trigonometría que se habían programado en el computador.

  • La popularidad de Spacewar! atrajo la atención de un nutrido grupo de apasionados por la computación y la programación que trabajaron en el proyecto o en versiones paralelas de éste. En definitiva, Spacewars! es un buen ejemplo de crowdsourcing y colaboración en el desarrollo de software. De hecho, si tenemos en cuenta que el código fuente era público y podía ser usado y modificado, podría tomarse como un antecedente del software libre.

  • El éxito de Spacewar! llevó a la compañía Digital Equipment a integrarlo en el código que gobernaba su computadora, es decir, que Spacewar! fue uno de los primeros juegos que se incluyeron de serie en un computador de propósito general.

Por cierto, si alguien tiene curiosidad, el código, en ensamblador, de este videojuego está disponible para su consulta al igual que las rutinas que calculaban el seno y el coseno de un número.

Hoy en día tan sólo queda un computador PDP-1 en funcionamiento, en el Museo de Historia de la Computación de Mountain View (California) y en el que aún se puede jugar al Spacewar!