# Spacewar!

Spacewar! es un videojuego de combate espacial desarrollado en 1962 por Steve Russell en colaboración con Martin Graetz, Wayne Wiitanen, Bob Saunders, Steve Piner y otros. Fue programado para el por entonces recién creado minicomputador DEC PDP-1 del Instituto de Tecnología de Massachusetts. Tras su concepción inicial el juego fue ampliado por otros estudiantes y personal universitario del área, como Dan Edwards y Peter Samson. Fue uno de los primeros videojuegos para ordenadores de la historia y, utilizando una versión de Spacewar! en un PDP-6/PDP-10, en 1972 se celebró el primer campeonato de videojuegos del que se tiene constancia.
En el juego dos naves espaciales, «la aguja» y «la cuña», se enfrentan en una batalla mientras maniobran en torno al pozo gravitatorio de una estrella. Ambas naves están controladas por personas. Cada nave dispone de una cantidad limitada de armamento y combustible para maniobrar y las naves están en movimiento incluso cuando el jugador no realiza ninguna aceleración. Una de las tácticas más habituales durante el juego era volar cerca de la estrella para obtener asistencia gravitatoria. Las naves se destruyen cuando chocan con un torpedo, con la estrella o entre ellas. En cualquier momento los jugadores pueden activar una capacidad «hiperespacial» para moverse al instante a otro lugar aleatorio de la pantalla, aunque en algunas versiones cada utilización de esta funcionalidad va incrementando la posibilidad de que en lugar de trasladarse la nave se destruya. Al principio el juego se controlaba con interruptores en el PDP-1, aunque Bob Saunders construyó un primitivo mando para reducir su dificultad y facilitar el control del juego.
Es uno de los juegos más importantes e influyentes en la historia de los primeros videojuegos. Fue extremadamente popular en la pequeña comunidad de programadores en la década de 1960 y su código, de dominio público, fue rediseñado y portado a otros sistemas informáticos de la época, especialmente después del incremento de sistemas con monitores a finales de la década. También se ha reproducido en lenguajes de programación más modernos con emuladores del PDP-1. Fue la inspiración directa de muchos otros juegos electrónicos, como los primeros videojuegos comerciales arcade, Galaxy Game y Computer Space (1971), o juegos posteriores como el popular Asteroids (1979). En 2007 Spacewar! fue incluido en una lista de los diez videojuegos más importantes de todos los tiempos, lista que constituyó el inicio del canon del juego de la Biblioteca del Congreso de Estados Unidos, una relación de los videojuegos que esta institución considera que deben ser preservados.

## Antecedentes

Durante los años 1950, se crearon varios juegos de ordenador en el ámbito de la investigación académica sobre informática y programación y para demostrar la potencia de los ordenadores, especialmente después de la aparición, a finales de la década, de ordenadores de menor tamaño y más rápidos en los que se podían crear y ejecutar los programas en tiempo real, en lugar de por procesamiento por lotes. Sin embargo, en algunos casos se diseñaban programas pensados tanto para probar la potencia del ordenador en el que se ejecutaban como para utilizarse como un producto de entretenimiento, programados generalmente por estudiantes de grado y posgrado y por personal de la universidad, como en el caso del Instituto Tecnológico de Massachusetts (MIT, por sus siglas en inglés), donde el personal y los estudiantes podían desarrollar ocasionalmente programas para el ordenador experimental TX-0 desarrollado en el Laboratorio Lincoln del Instituto. Estos juegos gráficos interactivos fueron creados por una comunidad de programadores, muchos de ellos estudiantes y empleados universitarios pertenecientes al Tech Model Railroad Club (TMRC) dirigido por Alan Kotok, Peter Samson y Bob Saunders. Entre estos juegos se encontraban Tic-Tac-Toe, que utilizaba un lápiz óptico para jugar a un sencillo juego de tres en raya contra el ordenador, o Mouse in the Maze, que utilizaba el lápiz óptico para crear un laberinto de paredes que debía recorrer un ratón virtual.
En septiembre de 1961 se instaló un miniordenador PDP-1 de Digital Equipment Corporation (DEC) en la «kludge room» (sala de las chapuzas) de la segunda planta del edificio 26, donde se encontraba el Departamento de Ingeniería Eléctrica del MIT. El PDP-1 iba a complementar al antiguo TX-0 y, al igual que este, disponía de un lector y grabador de cintas perforadas y además admitía entradas desde un panel de interruptores y salida a un monitor de tubo de rayos catódicos. Durante el verano anterior a la llegada del equipo, un grupo de estudiantes y empleados de la universidad habían estado barajando ideas para desarrollar programas que demostraran las capacidades del nuevo ordenador de forma convincente; tres de ellos —Steve Russell, por entonces empleado de la Universidad Harvard y antiguo ayudante de investigación del MIT; Martin Graetz, ayudante de investigación y antiguo estudiante del MIT; y Wayne Wiitanen, ayudante de investigación en Harvard y antiguo empleado y estudiante del MIT— concibieron la idea de Spacewar! Llamaban a su asociación «Instituto Hingham», ya que Graetz y Wiitanen vivían en un edificio de viviendas situado en la calle Hingham de Cambridge (Massachusetts). «Teníamos un flamante PDP-1», dijo Steve Russell en una entrevista para Rolling Stone en 1972. «Alguien [Marvin Minsky] había construido unos pequeños programas generadores de patrones que creaban patrones interesantes como un caleidoscopio. No era una demostración muy buena. Teníamos esta pantalla que podía hacer todo tipo de maravillas. Así que empezamos a hablar de ello, a pensar en lo que sería una visualización interesante. Decidimos que probablemente se podría hacer un tipo de maniobra bidimensional y decidimos que naturalmente lo más obvio eran las naves espaciales».

## El juego

El juego consiste en dos naves espaciales monocromas, «la aguja» (the needle) y «la cuña» (the wedge), cada una controlada por un jugador, que intentan dispararse mutuamente mientras maniobran en un plano bidimensional en torno al pozo gravitatorio de una estrella, con un campo estelar como fondo. Las naves pueden disparar torpedos, que no se ven afectados por la atracción gravitatoria de la estrella; disponen un número limitado de torpedos y de combustible, que se consume cuando el jugador activa los propulsores de la nave. Mientras se intenta controlar la rotación de la nave para apuntar, los torpedos se disparan de uno en uno pulsando un interruptor en el ordenador o un botón en el mando de control y entre cada lanzamiento hay un periodo de enfriamiento. Las naves siguen en movimiento incluso cuando el jugador no acelera y la rotación de las naves no supone un cambio en la dirección de su movimiento.
Cada jugador controla una de las naves y debe intentar derribar la otra mientras evita colisionar con la estrella o la nave contraria. Volar cerca de la estrella puede proporcionar asistencia gravitatoria al jugador y aumentar la velocidad de la nave, aunque arriesgándose a calcular mal la trayectoria y acabar cayendo en la estrella. Si una nave alcanza el borde de la pantalla reaparece en el lado opuesto, manteniendo la velocidad y la trayectoria.
En cualquier momento los jugadores pueden activar la función hiperespacio o «botón del pánico», que puede utilizarse como último recurso para evitar los torpedos enemigos haciendo desaparecer su nave al instante y reapareciendo en otro lugar aleatorio de la pantalla, aunque en algunas versiones del juego cada utilización de esta funcionalidad va incrementando la posibilidad de que, en lugar de hacer una reentrada desde el hiperespacio, la nave se destruya.
Los elementos de control de que dispone cada jugador son la rotación de la nave en el sentido de las agujas del reloj y en sentido contrario, el empuje hacia delante, el disparo de torpedos y la entrada al hiperespacio. Inicialmente las naves se controlaban mediante los interruptores para pruebas del panel frontal del miniordenador PDP-1 (cuatro interruptores para cada jugador), pero estos resultaban incómodos de utilizar y se degradaban rápidamente durante la práctica normal del juego, además de provocar que los jugadores pulsaran accidentalmente los interruptores de control y alimentación del ordenador. Además la situación de los interruptores obligaba a uno de los jugadores a situarse a un lado del monitor CRT, debido al limitado espacio que había frente al ordenador, lo que le ponía en desventaja en el juego. Para paliar estos problemas, Saunders creó un dispositivo de control independiente, en esencia un primitivo mando de videojuegos (gamepad). El mando tenía un interruptor para girar a la izquierda o a la derecha, otro para el empuje hacia delante y el hiperespacio y un botón de lanzamiento de torpedos; al pulsarlo, el botón no hacía ruido para que el jugador contrario no percibiera que el jugador estaba intentando lanzar un torpedo durante un periodo de enfriamiento.

## Desarrollo

Russell, Graetz y Wiitanen desarrollaron la idea básica de Spacewar! en el verano de 1961, de cara a la incorporación del PDP-1. Russell hacía poco que había terminado de leer la serie Lensman de E. E. «Doc» Smith y pensó que estos relatos serían una buena base para el programa: «Sus héroes tenían una acusada tendencia a ser perseguidos por el villano a través de la galaxia y a tener que ingeniarse una salida a su problema mientras eran perseguidos. Ese tipo de acción fue lo que me inspiró Spacewar! Contaba con unas descripciones muy brillantes de encuentros con naves y maniobras de flotas espaciales». Su compañero de programación Martin Graetz cita otras influencias, como las novelas de la serie Skylark de E. E. Smith y las películas japonesas de ciencia ficción tokusatsu.
En los primeros meses tras la instalación del nuevo ordenador, la comunidad de programadores del PDP-1 en el MIT se centró en programas más sencillos para determinar cómo desarrollar software para el ordenador. Durante este periodo, Russell visitó con frecuencia a sus viejos amigos de la comunidad y les describió la idea de Spacewar! Russell esperaba que alguien implementara el juego, pues no tenía planes de hacerlo él mismo. Sin embargo algunos miembros de la comunidad consideraban que él era la opción lógica para crear el juego y le comenzaron a presionar para que lo programara, pero Russell daba algunas excusas de por qué no podía hacerlo, como no disponer de una rutina de funciones trigonométricas necesaria para calcular las trayectorias de las naves espaciales. Esto llevó a Alan Kotok, del TMRC, a ponerse en contacto con DEC, donde le informaron de que ya disponían de dicha rutina; Kotok se dirigió a DEC para recoger una cinta que contenía el código, la depositó delante de Russell y le preguntó qué otras excusas tenía. Russell —que más tarde declaró: «miré a mi alrededor y no encontré ninguna excusa, así que tuve que sentarme y hacer algunos cálculos»— empezó a escribir el código más o menos cuando se instaló el monitor del PDP-1 en diciembre de 1961. El juego se desarrolló atendiendo a tres preceptos que Russell, Graetz y Wiitanen habían establecido para crear un programa que funcionara tanto como experiencia de entretenimiento para los jugadores como de demostración para el público: utilizar la mayor cantidad posible de recursos del ordenador y ponerlos a prueba hasta el límite; siguiendo un esquema coherente, debía ser interesante, por lo que cada ejecución tenía que ser diferente; tenía que implicar al observador de forma placentera y activa; en resumen, tenía que ser un juego. A Russell, con la ayuda de los demás programadores, como Bob Saunders y Steve Piner —pero no Wiitanen, que había sido llamado a filas por la Reserva del Ejército de los Estados Unidos—, le llevó unas 200 horas en total escribir la primera versión de Spacewar!, esto es, empleó unas seis semanas para desarrollar el juego básico. El programa se escribió en el lenguaje ensamblador del PDP-1.
Russell desarrolló un primer programa de objetos en movimiento en enero de 1962, que tan solo era un punto que podía acelerar y cambiar de dirección mediante un interruptor y en febrero ya tenía una primera versión operativa del juego, con naves espaciales que giraban, suministro de combustible y torpedos. Las dos naves espaciales fueron diseñadas evocando la nave espacial de líneas curvas de las historias de Buck Rogers y el cohete PGM-11 Redstone. Esa versión inicial también incluía un campo estelar de fondo generado aleatoriamente, añadido inicialmente por Russell porque un fondo blanco hacía difícil apreciar el movimiento relativo de las dos naves a baja velocidad. La comunidad de programadores del área, incluidos el «Instituto Hingham» y el TMRC, había adoptado lo que posteriormente se denominó la ética hacker, según la cual todos los programas se compartían y modificaban libremente por otros programadores en un entorno colaborativo, sin preocuparse por la propiedad o los derechos de autor, lo que propició un trabajo en grupo para perfeccionar el Spacewar! inicial de Russell. Así, dado que la imprecisión y la falta de realismo del campo estelar no convencían a Peter Samson, miembro del TMRC, escribió un programa basado en cartas estelares reales que se desplazaba lentamente por el cielo nocturno, incluyendo cada estrella en una banda entre 22.5° N y 22,5° S hasta la quinta magnitud, visualizada con su brillo relativo; el programa se llamó Expensive Planetarium —«Planetario Caro», en referencia al elevado precio del ordenador PDP-1 en comparación con un planetario analógico y como parte de la serie de programas «caros» como Expensive Typewriter o Expensive Desk Calculator— y fue incorporado al juego en marzo por Russell, que actuó como responsable de la versión inicial del juego.
La versión inicial del juego tampoco incluía el pozo gravitatorio de la estrella central ni la opción de entrada al hiperespacio, que fueron desarrollados, respectivamente, por Dan Edwards, estudiante de posgrado del MIT y por Graetz, miembro del TMRC, para así añadir elementos de estrategia a lo que inicialmente era un shooter que se basaba únicamente en los reflejos. La primera versión de la función hiperespacial estaba limitada a tres saltos, pero no conllevaba ningún riesgo, salvo el de volver a entrar en el juego en una posición peligrosa; las versiones posteriores eliminaron el límite, pero incorporaron un incremento del riesgo de destruir la nave en lugar de trasladarla. En marzo de 1962 Saunders diseñó unos primitivos gamepad para el juego, con el fin de evitar la aparición del «Space War Elbow» (codo de batalla espacial) que provocaba sentarse encorvado sobre los botones del panel del ordenador central. El juego solo disponía de la opción multijugador, porque el ordenador no disponía de recursos suficientes para controlar la otra nave por su cuenta. Del mismo modo otras propuestas de mejora del juego, como una visualización más precisa de las explosiones tras la destrucción de una nave espacial o que los torpedos también se vieran afectados por la gravedad, tuvieron que descartarse ya que no contaban con los recursos informáticos suficientes para gestionarlas y que el juego funcionara sin problemas. Ya con las características y mejoras añadidas, Spacewar! estaba disponible para que los estudiantes y los visitantes lo jugaran a finales de abril de 1962. Russell y los demás programadores dejaron de ocuparse del desarrollo del juego y se dedicaron a mostrarlo a otras personas, como durante la jornada de puertas abiertas del MIT celebrada en mayo. El grupo añadió un límite de tiempo, la función de hiperespacio y una segunda pantalla de mayor tamaño para los espectadores durante la demostración y ese mismo mes Graetz presentó una ponencia sobre el juego, «SPACEWAR! Real-Time Capability of the PDP-1», en la primera reunión de la DECUS. La demostración fue un éxito y el juego se hizo muy popular en el MIT; el laboratorio que albergaba el PDP-1 no tardó en prohibir el juego excepto durante el almuerzo y después de las horas de trabajo. Visitantes como Frederik Pohl disfrutaron jugando al «encantador juego»; el editor de Galaxy Science Fiction publicó que el MIT estaba «cogiendo ideas de las revistas de ciencia ficción» ya que los jugadores podían imaginarse que eran personajes de Skylark.
A partir del verano de 1962 y a lo largo de los años siguientes, los miembros de la comunidad de programadores del PDP-1 del MIT, incluidos Russell y los demás miembros del «Instituto Hingham», empezaron a repartirse por otras escuelas y empresas como la Universidad Stanford o DEC y a medida que lo hacían divulgaban el juego a otras universidades e instituciones que disponían de un ordenador PDP-1. Como resultado, Spacewar! fue quizás el primer videojuego que estuvo disponible fuera de un único instituto de investigación. A lo largo de la década siguiente los programadores de otras instituciones empezaron a codificar sus propias variantes, incluidas características como permitir más naves y jugadores a la vez, sustituir la función de hiperespacio por un dispositivo de ocultación, minas espaciales e incluso una versión con perspectiva en primera persona que se jugaba en dos monitores y simulaba la visión de cada piloto fuera de la cabina. Algunas de estas implantaciones del juego también replicaban el gamepad de Saunders. DEC se enteró de la existencia del juego poco después de su creación y lo utilizó para realizar demostraciones de su funcionamiento en su PDP-1, además de publicar un folleto sobre el juego y el ordenador en 1963. Según un relato de segunda mano que le llegó a Russell mientras trabajaba en DEC, los técnicos de la compañía utilizaban Spacewar! como prueba de humo en los sistemas PDP-1 nuevos antes de su envío, ya que era el único programa disponible que utilizaba todos los recursos de su hardware.

## Expansión y legado

Spacewar! fue extremadamente popular en la pequeña comunidad informática de la década de 1960 y gracias a su popularidad entre los programadores fue muy replicado en otros miniordenadores y mainframes de la época antes de portarlo a los primeros sistemas de microordenadores en la década de 1970.
Al igual que durante su desarrollo, el juego era de dominio público y el código fuente estaba disponible para cualquiera que tuviera acceso a él o que se pusiera en contacto con Russell; no se intentó comercializarlo, ya que la comunidad de programadores era demasiado pequeña para sostener una gestión comercial. Inicialmente se difundió tanto por personas que llevaban copias del código a otras instalaciones como por programadores que reproducían el juego con su propio código. Entre las primeras instalaciones se encontraban la del PDP-1 de Bolt, Beranek y Newman, que también reprodujo los gamepads; una instalación de Russell en un PDP-1 del Laboratorio de Inteligencia Artificial de la Universidad Stanford en 1963; o la de la Universidad de Minnesota, donde el graduado del MIT Albert Kuhfield reprodujo el juego para el CDC 3100 en 1967-68 y envió una descripción a Analog Science Fiction and Fact, que la publicó en 1971. La instalación de Stanford fue tan popular que, en 1966, los investigadores crearon un «modo Spacewar» especial para compartir recursos informáticos de su PDP-6, de manera que se pudiera jugar con él mientras se estaban ejecutando programas de investigación. Alan Kay, uno de los primeros informáticos teóricos, dijo en 1972 que «Spacewar! brota espontáneamente dondequiera que haya una pantalla gráfica conectada a un ordenador» y Graetz recordaba en 1981 que cuando empezó e extenderse durante sus inicios el juego podía encontrarse en «casi cualquier ordenador de investigación que tuviera un CRT programable».
A pesar de que el juego estaba muy extendido para la época, su alcance directo era muy limitado pues, aunque era menos costoso que la mayoría de los mainframe, el PDP-1 tenía un precio de 120 000 dólares (aproximadamente 1 014 000 dólares de 2019) y solo se vendieron 53 unidades, la mayoría sin monitor y muchas en instalaciones militares seguras o en laboratorios de investigación que no permitían la utilización en tiempo libre del ordenador, lo que impidió que la versión original del juego llegara más allá de una reducida comunidad académica. Aunque algunos modelos posteriores de DEC, como el PDP-6, venían con Spacewar! precargado, los destinatarios del juego seguían siendo muy limitados —del PDP-6 solo se vendieron 23 unidades—. El auge su difusión tuvo lugar varios años después del desarrollo inicial del juego; a partir de 1967 empezaron a proliferar los ordenadores conectados a monitores o terminales capaces de ejecutar Spacewar!, lo que permitió que el juego llegara a un público más amplio e influyera en los diseñadores de videojuegos posteriores —en 1971, se calcula que ya había más de 1000 ordenadores con monitor, en lugar de unas pocas docenas—. Fue en esta época cuando se crearon la mayoría de las variantes del juego para diversos sistemas informáticos, como los modelos posteriores de los sistemas PDP, y en 1972 el juego era lo suficientemente conocido en la comunidad de programadores como para que Rolling Stone patrocinara las «Olimpiadas Intergalácticas Spacewar!». El evento se celebró el 19 de octubre de 1972 en el Laboratorio de Inteligencia Artificial de Stanford utilizando una variante del juego en un PDP-6/PDP-10 combinado que permitía la conexión de cinco jugadores, convirtiéndose así en el primer torneo de videojuegos de la historia, del que se publicó un reportaje en el número del 7 de diciembre de 1972 de la revista.
A principios de la década de 1970 el juego pasó de los grandes sistemas informáticos al terreno comercial, ya que constituyó la base de los dos primeros videojuegos que funcionaban con monedas. Mientras jugaba a Spacewar! en Stanford en algún momento entre 1966 y 1969, el estudiante universitario Hugh Tuck comentó que una versión del juego que funcionara con monedas tendría mucho éxito. Aunque el elevado precio de un miniordenador impedía que un juego de este tipo fuera viable en aquel momento, en 1971 Tuck y Bill Pitts crearon con un PDP-11 de 20 000 dólares (unos 126 000 dólares de 2019) un prototipo de juego de ordenador que funcionaba con monedas, Galaxy Game, aunque nunca produjeron más que los dos prototipos que expusieron en Stanford. Por la misma época, Nolan Bushnell y Ted Dabney desarrollaron un segundo prototipo de juego con monedas basado en Spacewar!, Computer Space, que se convertiría en el primer videojuego arcade vendido comercialmente y el primer videojuego de cualquier tipo con gran difusión. Aunque Tuck consideraba que Computer Space era una mala imitación de Spacewar! y su Galaxy Game una adaptación superior, muchos jugadores creían que, en cualquier caso, ambos juegos arcade eran variantes actualizadas de Spacewar!
La revista Byte publicó en 1977 una versión del juego en lenguaje ensamblador que se ejecutaba en el Altair 8800 y otros microordenadores basados en el procesador Intel 8080, utilizando un osciloscopio como pantalla gráfica y una tabla de consulta para aproximar los cálculos de las órbitas, así como una variante tridimensional en 1979 escrita en Tiny BASIC. También se han elaborado versiones más modernas del juego para ordenadores personales. En 2012 una versión portada del juego original, puesta a disposición del público por Martin Graetz y que se ejecuta en un emulador del PDP-1 en JavaScript, se ofreció para jugar gratuitamente utilizando un navegador web. Los únicos PDP-1 en funcionamiento que se conocen se conservan en el Museo Histórico de Ordenadores de Mountain View (California), donde se realizan demostraciones de la máquina, entre ellas jugar a Spacewar!
Aparte de Galaxy Game y Computer Space, Spacewar! ha tenido una gran repercusión y ha inspirado otros muchos juegos, como Orbitwar (1974, red PLATO), Space Wars (1977, arcade), Space War (1978, Atari 2600), o Star Control (1990, multiplataforma). Además, en el popular juego arcade Asteroids (1979) —y posteriormente multiplataforma— el diseñador Ed Logg utilizó elementos de Spacewar!, concretamente el botón del hiperespacio y la forma de la nave del jugador. Se ha citado a Russell afirmando que el aspecto del juego que más le satisface es el número de programadores a los que ha inspirado para desarrollar sus propios juegos sin sentirse restringidos a utilizar su diseño o código.
El 12 de marzo de 2007 The New York Times publicó que Spacewar! formaba parte de una lista de los diez videojuegos más importantes de todos los tiempos, el llamado «canon del juego», y proponía que se conservara en la Biblioteca del Congreso de Estados Unidos. La Biblioteca recogió esta propuesta de preservación de videojuegos y la inició con los juegos de esta lista. El 29 de noviembre de 2018 la Academy of Interactive Arts & Sciences concedió el Premio Pioner, otorgado a «personas cuyo trabajo a lo largo de su carrera ha ayudado a dar forma y definir la industria del entretenimiento interactivo», a los colaboradores supervivientes del diseño de Spacewar!: Dan Edwards, Martin Graetz, Steven Piner, Steve Russell, Peter Samson, Robert Sanders y Wayne Wiitanen.