Spacewar!

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.

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).

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.

[1]​ 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.

Teníamos esta pantalla que podía hacer todo tipo de maravillas.

[2]​[5]​ El juego consiste en dos naves espaciales monocromas, «la aguja» (the needle) y «la cuña» (the wedge),[6]​[7]​ 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.

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.

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.

[2]​ Russell, Graetz y Wiitanen desarrollaron la idea básica de Spacewar!

[12]​ 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.

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.

[2]​[4]​ 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»—[2]​ empezó a escribir el código más o menos cuando se instaló el monitor del PDP-1 en diciembre de 1961.

[2]​[13]​ 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.

[4]​ 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.

[2]​ 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!

[4]​[15]​ 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.

[20]​ Alan Kay, uno de los primeros informáticos teóricos, dijo en 1972 que «Spacewar!

[27]​ 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.

[28]​ 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!

[13]​ 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,[29]​ así como una variante tridimensional en 1979 escrita en Tiny BASIC.

[30]​ También se han elaborado versiones más modernas del juego para ordenadores personales.

Steve Russell , diseñador y principal programador de la versión inicial del juego, con un PDP-1 en 2007
Imagen del juego en el monitor de un PDP-1. Los torpedos y las naves espaciales en movimiento dejan estelas tras de sí debido a las características del monitor CRT
Panel frontal de un PDP-1, con cintas perforadas en un soporte, un lector de cintas perforadas y el panel de control del ordenador.
Spacewar! en el PDP-1 del Museo Histórico de Ordenadores en 2007
«Vint» Cerf jugando con Spacewar! en el PDP-1 del Museo Histórico de Ordenadores una reunión del ICANN de 2007