Apr
19

Spacewar!

Spacewar!

Determinar cuál fue el origen de los videojuegos es a menudo un tema de estudio en el que no hay un consenso general. Muchas fuentes lo sitúan a finales de los años cuarenta, cuando se patentó un sistema de entretenimiento basado en una pantalla de rayos catódicos. Otras acuden a la creación de una versión digital de Tic-Tac-Toe (tres en raya) en 1952 o el Tennis for Two ejecutado en un osciloscopio, creado en 1958.

Sin embargo la mayoría coinciden en que el concepto moderno de videojuegos nació en los laboratorios del Massachusetts Institute of Technology (más conocido por sus siglas, MIT), donde ya habían creado varios programas gráficos interactivos: Mouse in the Maze (de un ratón tratando de salir de un laberinto) y otro Tic-Tac-Toe. Todos ellos fueron creados entre 1959 y 1961, precediendo la llegada en 1962 del que para muchos es el primer videojuego con cierta importancia de la historia, Spacewar!

El Tech Model Railroad Club y la ética hacker

El MIT fue durante muchos años el lugar donde se concentraron algunas de las mayores personalidades en el mundo de la informática, desde mucho antes de que ésta llegase a los hogares y se volviera algo cotidiano para cualquiera de nosotros.

En esta universidad estadounidense existía un grupo, el Tech Model Railroad Club (en adelante, TMRC), que estaba compuesto por nerds1 que se dedicaban a crear modelos de trenes. Solían marcarse retos alrededor del modelismo, trataban de conseguir el mayor realismo posible en sus maquetas, especialmente en el apartado técnico. Tenían grandes aptitudes en electrónica e ingeniería, y eso se debía a su insaciable curiosidad de conocer cómo funcionan las cosas que los rodean.

El TX-0 del MIT

Fue entonces cuando descubrieron un ordenador desarrollado por el propio MIT llamado TX-0 que, como otros ordenadores de la época (los años 50), ocupaba una sala entera a la que llamaban “Kluge Room”. La mayoría de los equipos informáticos existentes por entonces se dedicaban simplemente a realizar ejecuciones de los programas introducidos sin interacción directa con el usuario, es decir, sin una pantalla que mostrara algo: no había nada que ver. Sin embargo, el TX-0 sí disponía de una pantalla CRT, era distinto a todo lo que habían visto anteriormente y los chicos del TMRC rápidamente le vieron potencial para hacer cosas increíbles.

El TX-0 era utilizado exclusivamente por los estudiantes de últimos cursos y gente que estuviera haciendo un doctorado, por lo que el acceso lo tenían vetado, así que al no tener permiso para poder utilizarlo, empezaron a ingeniárselas para poder usarlo para sus propósitos, por lo que comenzaron buscar momentos en los que la máquina estuviese libre. El TX-0 no se apagaba por las noches, ya que el encendido era un proceso largo que no merecía la pena hacer a diario, pero mantenerlo encendido era también un gasto enorme de energía. Aprovechando estas circunstancias la gente del TMCR se dedicaba a vigilar la máquina durante las madrugadas a ver si los que la habían reservado no aparecían. De esta forma era común que a las tantas de la madrugara alguien dijera “Vaya, aquí no ha aparecido nadie, y sería una pena desperdiciar la máquina…”

Haciendo uso del ordenador se dedicaron a realizar programas más por el reto que ello supone que por la utilidad que representaban, como por ejemplo un programa que realizaba las funciones de una calculadora: no tenía sentido crear una calculadora ejecutada en un ordenador que costaba miles de dólares cuando existían máquinas baratas que hacían la misma función2. El objetivo no era cubrir una necesidad, si no que buscaban divertirse y demostrar que es posible hacer estos programas, ganándose así la admiración de los compañeros.

Lo más deseado de cara a la programación era hacer el código de la forma más eficiente posible o con el código fuente más corto, buscar siempre la solución más ingeniosa y elegante. Y utilizaban la palabra hack para llamar a sus programas, funcionalidades o cualquier arreglo en un programa existente. De esta forma, los que se dedicaban a crear estos hacks se les conocía como hacker.

Un hacker no era un programador sin más. Los hackers tenían una visión y una forma de entender la tecnología común, que se definía como la ética hacker. Se distingue por su idea de acceso libre a la información y se podría resumir en cuatro puntos:

  • El acceso a los ordenadores y a cualquier cosa que pueda enseñar algo de cómo funciona el mundo debería ser ilimitado y total.
  • Toda información debería ser libre.
  • Los hackers deben ser juzgados por sus capacidades técnicas, no por criterios falsos como títulos, edad, raza o rango.
  • Se puede crear arte y belleza con un ordenador.

De esta forma, cuando creaban nuevos programas los dejaban disponibles al alcance de todo el mundo, cerca del ordenador, para que cualquiera pudiera utilizarlo y, si aceptaba el reto, modificarlo para mejorarlo. No es de extrañar que años más tarde fuera precisamente en el MIT donde Richard Stallman, quien se consideraba “el último verdadero hacker”, postulara las bases del Software Libre del que ya os hablé tratando de buscar una viavilidad económica aplicardo a videojuegos.

La PDP-1: nuevas posibilidades

PDP-1

En otoño de 1961 se instaló un nuevo ordenador en la sala contigua a la Kluge Room. Este ordenador era el PDP-1, que estaba basado en el TX-0, pero era más rápido y compacto, y sobre todo estaba disponible: no requería permisos especiales para ser utilizado y no tenía un inicio lento; quien quisiera utilizarlo simplemente lo encendía y al terminar de usarlo lo apagaba.

Pronto, la gente del TMRC se interesó por la nueva adquisición e incluso antes de que fuera instalada en su sala ya estaban ideando nuevos programas para el PDP-1. Uno de sus primeros trabajos fue escribir un ensamblador ya que el que existía previamente no les parecía adecuado. Como el ensamblador era necesario casi desde el primer día, lo programaron en tan sólo un fin de semana, tarea para la que unos cuantos hackers se pasaron todo ese tiempo sin dormir.

Otros trabajos fueron de adaptación y mejora de programas del TX-0 y creación de algunos nuevos, como un calendario maya o una interpretación de música compuesta por Bach haciendo uso del sistema de audio del ordenador. Incluso llegaron a crear una rudimentaria conexión por red con el TX-0 de la sala de al lado para crear programas que se comunicaran: para jugar al ajedrez o para tocar música a tres voces.

Querían ir más allá y hacer un programa que pusiese a prueba la máquina y que además sirviera para demostrar sus capacidades técnicas. Otras máquinas tenían ya demos gráficas como Bouncing Ball (una pelota que rebotaba por la pantalla) o los ya mencionados Mouse in the Maze y Tic-Tac-Toe, pero los hackers buscaban algo más, algo que mostraran bien las capacidades del monitor del nuevo ordenador.

Esos programas marcaron el camino. Bouncing Ball era una demo pura: tu pulsabas el botón y el programa hacía el resto. El ratón era más divertido, porque podías hacerlo diferente cada vez… (J. M. Graetz)

A Wayne Witanen se le ocurrió que la mejor idea para la demostración debía ser un juego en el que se necesitara acción y habilidad, donde el usuario tuviese el control para mover las cosas que se veían en la pantalla.

Alguien había creado algún pequeño programa que generaba patrones, que hacía patrones interesantes como si fuera un caleidoscopio. No era una buena demostración. ¡Había una pantalla que podía hacer cualquier tipo de cosas! Así que empezamos a hablar de ello, imaginando que podría ser interesante mostrar. Decidimos que probablemente podríamos hacer algún tipo de cosa manejable en dos dimensiones, y decidimos que lo más obvio era hacer naves espaciales. (Steve Russel)

Steve Slug Russell, todo un nerd en su etapa en el MIT

Fue Steve Russel, aficionado a la ciencia ficción de serie B, el que propuso hacer un juego de naves espaciales. Russel tenía cierta reputación dentro del grupo de hackers, ya que había creado implementaciones del lenguaje de programación LISP. Sin embargo también tenía fama de vago y de dejar sus tareas para el último momento, ya que si no conseguía motivarse para hacer su trabajo lo dejaba de lado, por lo que recibió el apelativo Slug (literalmente, babosa en inglés). Siempre ponía excusas para escaquearse de la programación del juego; en una ocasión llegó a decir que necesitaba unas rutinas de cálculos de seno y coseno, pero no disponía de ellas. Otro miembro del TMRC, Alan Kotok, viajó en su propio coche hasta las oficinas centrales de DEC, el fabricante del PDP-1, y obtener así las necesarias rutinas matemáticas. En ese momento Russel se quedó sin excusas y tuvo que comenzar a programar su juego, el Spacewar!

Spacewar!

Spacewar es, en esencia, un combate espacial entre dos naves, la Needle y la Wedge3, que cada jugador manejaba usando los interruptores del ordenador. Los jugadores podían modificar la dirección de la nave y usar sus propulsores, a parte de poder disparar los torpedos a la nave rival.

Spacewar! se veía así en el monitor del PDP-1... sólo que debía ser fósforo verde

En enero de 1962 Russel obtuvo su primer acercamiento a lo que posteriormente sería Spacewar!, un punto que se movía en la pantalla bajo el control de un interruptor. Sobre esta base comenzaron a incluir mejoras en el cálculo de la dirección de la nave, y en febrero consiguieron crear la primera versión operativa del juego. Consistía en dos naves con sus respectivos tanques de combustible y una cantidad de torpedos que podían disparar.

El juego era incompleto, pero Russel lo dejó disponible para todo aquel que quisiera probarlo y mejorarlo, a sabiendas de que seguramente otros hackers harían sus contribuciones al programa. Una de las primeras cosas que cambiaron fue el recorrido de los torpedos, que tenían una variación aleatoria para darles más realismo, para que se parecieran más a torpedos de un submarino. Sin embargo a los demás miembros del TMRC no les gustó demasiado este toque realista, por lo que decidieron cambiarlo para que los disparos fuesen en linea recta.

El escenario era una serie de puntos colocados aleatoriamente por la pantalla y que representaban las estrellas del firmamento. A Peter Samson, otro de los hackers del TMRC y aficionado a la astronomía, no le gustó el carácter aleatorio del cielo, por lo que decidió programar un planetario que representara fielmente las constelaciones. Haciendo uso de este programa, al que llamó Expensive Planetarium, fijó un escenario más realista para Spacewar!

A otro hacker, Dan Edwards, le parecía que el juego carecía de estrategia, por lo que decidió que podían añadirle efectos gravitatorios para hacerlo más entretenido. Para ello hizo un hack que consistía en una estrella que se encontraba en el centro del escenario y que atraía inevitablemente a las naves, en caso de colisión significaría la muerte. Pero un jugador habilidoso podía utilizar la gravedad de la estrella para acelerar y poder esquivar así los torpedos, los cuales no se veían afectados por la gravedad debido a la falta de potencia de cálculo del ordenador.

Maniobrando con la gravedad de la estrella central

Graetz añadió otra funcionalidad: el botón del pánico. Al pulsarlo, la nave haría un viaje por hiperespacio como si del Halcón Milenario se tratase, y los jugadores podrían usarlo para salvarse en una situación desesperada, como cuando se vuela demasiado cerca de la estrella. Para evitar un uso indiscriminado de esta función decidieron que el sistema de hiperespacio no fuese perfecto: funcionaba bien las primeras veces pero luego se iba estropeando hasta no funcionar en absoluto o aparecer en unas coordenadas donde la situación fuese completamente insalvable.

No se conservan los mandos de Kotok y Saunders, pero eran algo parecido a esto

Por otro lado, Alan Kotok y Robert Saunders idearon un control alternativo a los incómodos interruptores del PDP-1, que además daban ventaja a un jugador respecto al otro debido a la disposición de estos interruptores. Diseñaron unos mandos especiales que consistían en una caja de madera con unas palancas y un botón, un precursor del Joystick.

La versión definitiva de Spacewar!, con las mejoras aportadas por los miembros del TMRC, vio la luz en abril de 1962, por lo que en estas fechas se cumple el 50 aniversario de este juego. En mayo de ese mismo año se presentó en unas jornadas de puertas abiertas del MIT, en las que cosecha un gran éxito entre otros estudiantes y profesores, fascinados por la idea de que un juego de ciencia ficción esté siendo ejecutado por un ordenador.

Después de Spacewar!

En el verano de 1962 los diferentes miembros del TMRC que colaboraron en la creación del juego se separaron. Algunos estaban allí de intercambio y volvieron a sus universidades, otros comenzaron a trabajar y alguno quedó en el MIT.

Posteriormente, el fabricate del PDP-1 utilizó el juego como prueba para ver si las pantallas funcionaban correctamente, y fue incluido de serie en este ordenador y en sus sucesores a modo de demostración. El ordenador en el que fue programado originalmente fue retirado en 1975 y actualmente sólo existe un PDP-1 con Spacewar! funcionando, está en el Computer History Museum.

A lo largo de todos estos años se han hecho nuevas versiones del juego en ordenadores posteriores al PDP-1 y existe una emulación en Java disponible en Internet.

Steve Russel, ni ningún miembro del TMRC, jamás vio un duro por Spacewar! ni trató de hacer dinero con él. Al igual que con el resto de los programas que hicieron, él lo dejó en un cajón junto al PDP-1 para que la gente lo siguiera usando y mejorando.

Bibliografía

Para la elaboración de este artículo se han consultado las siguientes fuentes:

  1. En el sentido más típico y tópico de la palabra, incluyendo gafas y bolis en la camisa. []
  2. De hecho, a este programa lo llamaron Expensive Desk Calculator. []
  3. Aguja y Cuña, respectivamente. []

, , ,

One Response to “Spacewar!”

  1. May 2nd, 2012 at 21:00 | #1

    El amigo Steve era ultranerd. Y esa cara… Fan absoluta de esta foto. Gracias.

Add reply