>:c

Entrevista de J. Martin Graetz para a Creative computing magazine sobre a criação de Spacewar! (páginas 56 – 67)

A origem de Spacewar!

Artigo original : https://archive.org/details/creativecomputing-1981-08/page/n59/mode/2up

 

I – Antes de Spacewar!

 

O Lesma, Skylark e o Instituto Hingham

 

A culpa é de Kimball Kinnison. E de Dick Seaton. Sem Gray Lensman e Skylark of Space não haveria nada sobre o que escrever. Portanto, a maior parte da culpa recai sobre E. E. Smith, mas a Toho Film Studios e a American Research and Development Corp. também tem um pouco de culpa no cartório. Se Doc Smith tivesse se contentado em ficar projetando donuts, se a American-International Pictures tivesse se limitado aos filmes mais “família” de praia, se (acima de tudo) o General Doriot não tivesse balançado dinheiro na cara de Ken Olsen em 1957. o mundo ainda poderia estar livre de Spacewar!

 

Tudo aconteceu em 1961 no Instituto Hingham, um cortiço pouco habitável na rua Hingham, em Cambridge, Massachusetts. Três bolsistas do Instituto estavam envolvidos: Wayne Wiitanen. Matemático, fã de música antiga e alpinista; J. Martin Graetz (que sou eu), homem sem talento fixo que tendia a agir de forma superior porque já era um Autor Publicado; e Stephen R. (Slug ou Lesma) Russell, especialista em trens a vapor, curiosidades e inteligência artificial. Tínhamos todos cerca de 25 anos (mais ou menos para sermos iguais).

 

Na época, estávamos desbravando os romances “Skylark” e “Lensman” de Edward E. Smith. PhD, um químico de cereais que escrevia com a graça e o refinamento de uma broca pneumática. Essas histórias são praticamente todas iguais: depois de algumas enrolações preliminares para acertar o nome de todo mundo, um bando de durões superdesenvolvidos partem em uma jornada pelo universo para dar uma surra na mais recente gangue de capangas galácticos, explodir alguns planetas. , matar todo tipo de forma de vida desagradável​​, e no geral se divertindo a beça.

 

Quando pressionados, que era como eles normalmente estavam, podia-se contar com nossos heróis para elaborarem uma teoria científica completa e inventar a tecnologia para implementá-la. Construir as ferramentas para implementar a tecnologia e produzir as (normalmente) armas para acabar com os bandidos, tudo isso enquanto são perseguidos em sua nave espacial de um lado para outro pelos desertos sem trilhas da galáxia (ele escreveu assim) por diversos Fenachrones, Boskonianos, e a Corporação Mundial do Aço.

 

É isso suficiente para transformar a mente em margarina? Não é. Nos intervalos entre os livros, íamos a um dos cinemas mais sórdidos de Boston para ver as últimas novidades de Toho. Nos dias antes de Mazdas e Minoltas, os japoneses (e ocasionalmente os britânicos e californianos) produziam uma dieta constante de junk food cinematográfica, da qual Rodan e Godzilla são apenas os exemplos mais conhecidos. Esses filmes dependiam, para seus efeitos, de modelos de alta qualidade, oceanos de raios, explosões e confusão geral, e a proposital evitação de enredo, personagem ou significado. Eles eram o equivalente cinematográfico de The Skylark of Space (A cotovia do espaço).

 

Se for esse o caso, nos perguntamos: por que ninguém faz filmes do Skylark? Não ouvindo nenhuma resposta (nossa inocência em relação à atual tecnologia cinematográfica, economia e leis de direitos autorais era enorme), muitas vezes passávamos o tempo na sala comunal da rua Hingham em pensamentos profundos e desejosos, inventando efeitos especiais e sequências para uma grande série de épicos espaciais que nunca iriam ver um palco sonoro. No entanto, esses livros, filmes e sessões de discussão estabeleceram a mentalidade que eventualmente levou à Spacewar!

 

Quando Computadores eram Deuses

 

No início de 1961, Wayne. o Lesma e eu, não por coincidência, trabalhavamos no laboratório estatístico Littauer da Universidade de Harvard. Uma grande parte do nosso trabalho consistia em executar cálculos estatísticos para várias pessoas de Harvard. O agente escolhido para este trabalho foi um IBM 704.

 

Para uma geração cujo conceito de computador se baseia no chip Z80, pode ser difícil visualizar um 704 ou compreender o lugar que ele ocupava na imaginação do público (juntamente com o UNIVAC) como o exemplar do que era um computador: um coleção de misteriosos e enormes armários cinza acessíveis apenas pelo intermédio do Operador. Na sala de informática especialmente construída. O Operador acionava interruptores, apertava botões e examinava painéis de luzes piscantes, enquanto seus assistentes assistiam a vários dispositivos que zumbiam, tiniam e tagarelavam, correndo de um lado para outro com pilhas de papel impresso de forma enigmática, baralhos de cartas perfuradas de maneira estranha e rolos de fita marrom, tudo ao som de fundo da grande maquina. Adicione um pouco de incenso e algumas velas e você será perdoado por pensar que esses eram os ritos de algum santuário oracular.

Tudo sobre o 704, desde a inescrutável estrutura principal até os tubos brilhantes (sim, tubos!) na caixa de memória com núcleo de vidro, proclamava que este era um sistema muito complicado operado apenas por pessoal especialmente treinado, entre os quais programadores e outros mortais comuns não eram numerosos. Em suma, um computador era algo com o qual você simplesmente não se sentava e brincava.

 

A poucos passos do Olimpo

 

No verão de 1961 fui trabalhar para o professor Jack B. Dennis, que era então proprietário do TX-O, uma máquina que para mim era apenas um pouco menos lendária que seu ancestral, o _Redemoinho_. O TX-O era transistorizado e, enquanto os computadores de memória de estado sólido começavam a aparecer no mercado, o “Tixo” era o original. Mesmo em 1961, foi reconhecido como um centro de pesquisa historicamente importante: muitos dos programas desenvolvidos no TX-O, como o MACRO Assembler de Jack Dennis e o programa de depuração FLIT de Thomas Stockham, foram os primeiros desse tipo. Portanto, a oportunidade de trabalhar neste computador foi, em muitos aspectos, um rito de passagem; isso significava que eu havia me juntado às patentes dos verdadeiros programadores.

 

Embora não seja tão populista quanto um Apple, o TX-O estava definitivamente a um passo do computador-como-o-Apollo. Em vez de ser selado em sua própria capela especial, ficava em uma extremidade de um típico espaço de pesquisa grande e bagunçado do MIT. Com seus racks de circuitos expostos, fontes de alimentação e medidores, e seu console longo e baixo em forma de L, o TX-O parecia para todo mundo a sala de controle de uma estação de bombeamento suburbana. E o problema era, esperava-se que você o executasse sozinho.

 

Então aqui estava o antigo Assistente do Operador 704 apertando botões, alternando interruptores e pressionando teclas para fazer seus próprios programas funcionarem. Em alguns aspectos, era mais simples que o 704; por um lado, não havia uma bateria de monstros mecânicos barulhentos. O meio de entrada e saída do TX-O era algo chamado Flexowriter: um teclado, impressora, leitor de fita de papel e perfurador tudo-em-um, que funcionava como uma mula e tinha uma personalidade à altura. Havia também um leitor de fita de papel de “alta velocidade”, um gênio do Grand Prix que podia ler programas na memória quase tão rápido quanto o leitor de fita cassete de um TRS-80.

 

E o TX-O tinha um tela. Agora, os CRTs programáveis ​​montados em console não eram inéditos naquela época, mas geralmente eram lentos, inflexíveis e difíceis de programar. O osciloscópio TX-O, por outro lado, era fácil de usar; Você poderia gerar uma exibição útil com menos de uma dúzia de instruções. E se isso não bastasse, havia uma varinha mágica: a caneta luminosa. (A importância desses dois dispositivos não pode ser subestimada; Ivan Sutherland usou a luneta e a caneta para desenvolver seu “Sketchpad” original.)

 

Esse foi o TX-O: o primeiro computador on-line do mundo e o campo de treinamento para designers e programadores de gerações posteriores de máquinas práticas. Os primeiros vagabundos de informática — hackers — foram produtos desse treinamento; Sem ele, e eles, não haveria Spacewar!

 

O pessoal do “Tixo”

 

Os usuários do TX-O eram uma mistura de estudantes, pesquisadores e professores com pouco em comum além da necessidade de grandes quantidades de tempo de computador, em grande parte não estruturado. A atmosfera do lugar, no entanto, foi estabelecida pelos hackers – a maioria estudantes, mas incluindo um ou dois professores – cujas vidas pareciam estar organizadas em cadeias de 18 bits. Muitos deles trabalharam para os professores John McCarthy e Marvin Minsky no Grupo de Inteligência Artificial, um grupo estranho (mesmo para os padrões do MIT) que parecia convencido de que, com memória de acesso aleatório suficiente e um tempo de ciclo realmente rápido, seria possível modelar as partes cognitivas do cérebro e ei pronto! Uma máquina verdadeira pensante. Outros trabalharam para o professor Dennis, que presidiu o uso e o desenvolvimento do TX-O e manteve de forma mais ou menos benigna uma aparência de ordem. O homem que mantinha tudo funcionando era um cavalheiro de fala mansa e cabelos brancos. John McKenzie, o engenheiro-chefe.

 

Dessa nuvem de vagabundos de informática surgiu o grupo que trouxe o Spacewar! para a tela prateada (bem, cinza claro): Dan Edwards (Grupo de IA). Especialista em Lisp; Alan Kotok (equipe do TX-O), que escreveu MIDAS, o sucessor do MACRO; Peter Samson (Grupo de AI), que fez o Tixo e o PDP-1 tocarem Bach; Steve Russell e eu.

 

“Então é só isso que ela faz?”

 

Quando os computadores ainda eram maravilhas, as pessoas se aglomeravam para observá-los trabalhando sempre que surgia uma oportunidade. Eles geralmente ficavam desapontados. Fitas vibrantes e leitores de cartão barulhentos só podem manter o interesse por um certo tempo. Eles simplesmente faziam a mesma coisa chata repetidamente; além disso, eram obviamente mecânicos — e na melhor das hipóteses, trocadores de discos gigantes — e, portanto, não eram misteriosos. O “main frame”, que fazia todo o trabalho maravilhoso, só ficava ali. Não havia nada para ver.

 

Por outro lado, sempre tem alguma coisa acontecendo na tela de uma TV, e é por isso que as pessoas ficam olhando para ela por horas. No dia anual em que o MIT abria suas portas, por exemplo, as pessoas passavam horas olhando para a tela CRT do Whirlwind. O que eles olharam? Bouncing Ball (Bola Quicando)

 

Bouncing Ball deve ser o primeiro programa de demonstração de computadores e CRT. Não fazia muito: um ponto aparecia no topo da tela, caia para baixo e quicava (com um “thok” vindo do alto-falante do console) Ele ricocheteava nas laterais e no chão da caixa exibida. perdendo gradualmente o impulso até atingir o chão e rolar para fora da tela através de um buraco na linha inferior. E isso é isso. Pong nem era uma ideia em 1960. (Note: Não era bem, Pong, mas algo muito parecido.)

 

A contraparte do TX-O para Bouncing Ball foi Mouse in the Maze, escrita por Douglas T. Ross e John E. Ward. Essencialmente, era um pequeno desenho animado: um rato estilizado vasculhava um labirinto retangular até encontrar um pedaço de queijo que comia, deixando algumas migalhas. Você construia o labirinto e colocava o queijo (ou queijos – você poderia ter mais de um) com a caneta óptica. Uma variação trocava o queijo por um martini, e depois de beber o primeiro, o rato iria cambaleando para o próximo.

 

Além do rato, o TX-O também contava com HAX, que exibia padrões que mudavam de acordo com as configurações de dois registros no console. Configurações bem escolhidas podem produzir formas ou arranjos de pontos interessantes, às vezes acompanhados por sons divertidos do alto-falante do console. O alto-falante do console é um fenômeno cujos dias parecem ter passado. Mais do que apenas um brinquedo, para o operador experiente o alto-falante era um guia valioso para o estado de um programa em execução.)

 

Finalmente, houve o inevitável TicTac-Toe (Jogo da Velha) com o usuário jogando no computador. A versão do TX-O usou o Flexowriter em vez do osciloscópio. (O jogo é tão simples de analisar que até existiu uma versão para a Flexo off-line.)

 

Estes quatro programas apontaram o caminho. Bouncing Ball foi uma pura demonstração: você apertava o botão e ele fazia todo o resto. O rato era mais divertido, porque você poderia fazê-lo diferente a cada vez. HAX era um brinquedo de verdade; você poderia brincar com ele enquanto ele estava funcionando e fazê-lo mudar rapidamente. E Tic-Tac-Toe era um jogo de verdade, por mais simplório que fosse. Os ingredientes estavam lá; só precisávamos de uma ideia.

 

O primeiro computador brinquedo do mundo

 

Apesar de toda a sua simplicidade, o TX-O ainda era um deus. Ocupava muito espaço, precisava de cuidados cautelosos, eram necessários procedimentos especiais para ligá-lo e desligá-lo e custava muito dinheiro para ser construído.

 

Tudo isso mudou no outono de 1961, quando o primeiro modelo de produção PDP-1 foi instalado na “Sala Gambiarra” ao lado do TX-O. Estava previsto há meses; um folheto antigo anunciando a máquina (bem como alguns não comparecidos chamados PDP-2 e PDP-3, caso você esteja se perguntando sobre isso) já circulava na área há algum tempo. Ficou claro que o PDP-1 tinha os genes do TX-O; os hackers estariam em casa.

 

O PDP-1 seria mais rápido que o Tixo. mais compacto e disponível. Foi o primeiro computador que não exigia um diploma de engenharia elétrica e a paciência do Buda para ligá-lo pela manhã; você poderia ligá-lo a qualquer momento apertando um botão e, quando terminasse, poderia desligá-lo. Nunca tínhamos visto nada parecido antes.

 

II – Começo de Spacewar!

 

Muito antes de o PDP-1 estar instalado e funcionando, Wayne Lesma e eu tínhamos formado uma espécie de comitê ad-hoc sobre o que fazer com ele – sendo o monitor CRT de precisão Tipo 30, que estava programado para ser instalado alguns meses depois do próprio computador. Ficou claro desde o início que, embora Bouncing Ball e o rato e HAX fossem inteligentes e divertidos, eles realmente não eram muito bons como programas de demonstração. Por que não? Viajando pela galáxia com a nossa Unidade Intercial *Bergenholm*, o Grupo de Estudos sobre Guerra Espacial do Instituto Hingham desenvolveu sua Teoria dos Brinquedos de Computador. Um bom programa de demonstração deve satisfazer três critérios:

 

1 – Deveria demonstrar, isto é, deve exibir o máximo possível de recursos do computador e taxar esses recursos até o limite

2 – Dentro de uma estrutura consistente, deve ser interessante, o que significa que cada execução deve ser diferente

3 – Deve envolver o espectador de uma forma prazerosa e ativa – em suma, deve ser um jogo.

 

Com os Fenachrones vindo quente atrás de nós. Wayne disse. ‘Olha, você precisa de ação e de algum tipo de nível de habilidade. Deveria ser um jogo onde você tem que controlar as coisas que se movem no escopo tipo sei lá, naves espaciais. Algo como um jogo de explorador, ou uma corrida ou concurso…uma luta, talvez.”

 

“GUERRA ESPACIAL! Gritamos Lesma e eu quando a última tela de força brilhou violeta e caiu.”

 

As regras básicas desenvolveram-se rapidamente. Haveria pelo menos duas naves espaciais, cada uma controlada por um conjunto de interruptores no console (“Puxa, seria legal ter um joystick (manche) ou algo parecido…”). Os navios teriam um suprimento de combustível para foguetes e algum tipo de arma: um raio ou feixe, possivelmente um míssil. Para situações realmente desesperadoras, um botão de pânico seria bom…hmmm…aha! Hiperespaço!

 

Os Hackers encontram SPACEWAR!

 

No final do verão de 1961. Steve Russell retornara ao Grupo de Inteligência Artificial (ele tinha trabalhado lá antes de Littauer); conseqüentemente, quaisquer ideias que o Grupo de Estudo apresentasse logo circulavam entre os hackers. Spacewar! era um conceito simples e atraente, e os hackers foram as pessoas atraentemente simples que deram vida a ele. Primeiro, porém, havia uma pequena questão de software.

 

O PDP-1 era uma máquina simples no início; exceto por algumas rotinas de diagnóstico e utilidades, não havia biblioteca de programas. De certa forma, isso agradou muito aos hackers: aqui estava uma chance tanto de melhorar o software do TX-O quanto de escrever coisas novas que não poderiam ter sido feitas antes. Primeiro, e bastante rapidamente. MACRO e FLIT foram traduzidos do TX-ish para o PDPese. FLIT se tornando o primeiro de uma linha contínua de programas de depuração on-line DDT. Steve Piner escreveu um programa de exibição e edição de texto chamado Expensive Typewriter(Maquina de escrever cara) (por um tempo, “caro” foi o adjetivo favorito para nomear várias rotinas PDP-1 que imitavam as funções de dispositivos mais mundanos. Entre eles estava o Planetarium de Peter E. Samson, como veremos.), outro original cuja linhagem você pode rastrear, se quiser, até os mais recentes processadores de texto.

 

Com o software resolvido, poderíamos escrever programas reais, ou seja, brinquedos. Bouncing Ball foi convertido com sucesso para uso no PDP-1, mas HAX, por algum motivo, não foi. Mas ninguém realmente sentiu falta, porque tínhamos um brinquedo totalmente novo inventado pelo professor Marvin Minsky. O programa exibia três pontos que passavam a “interagir”, tecendo vários padrões na face da luneta. Tal como acontece com HAX. as constantes de inicialização eram definidas nas opções do console. Entre os padrões estavam exibições geométricas. Figuras semelhantes a Lissajous e “fogos de artifício”. O título do programa de Minsky era algo como “Tri-Pos: display de três posições”. mas desde o início nunca o chamamos de nada além de Minskytron. (“tron” era o sufixo moda do início dos anos 1960.)

 

Os contornos clássicos do navio em forma de agulha e cunha e as posições iniciais do quadrante oposto foram estabelecidas nesta fase, conforme mostrado na Figura 1. A aceleração era realista: levava tempo para sair do alvo e para desacelerar era preciso dar ré no navio e se protelar na outra direção; o escapamento do foguete era uma “cauda de fogo” tremeluzente. A rotação, por outro lado, era feita por algo que chamamos de “giroscópios” — uma espécie de efeito volante inventado para evitar a consideração de coisas complicadas, como momentos de inércia. Acho que eram Bergenholms realmente rotacionais.

 

Figure 1

 

Quase que imediatamente ficou aparente que o cenário vazio era um problema. Era difícil avaliar o movimento relativo; não era possível saber se os navios estavam se afastando ou se aproximando quando se moviam lentamente. O que precisávamos, obviamente, eram de algumas estrelas. Russell escreveu uma exibição aleatória de pontos e a qualidade do jogo melhorou. A única coisa que restava, pensávamos, era o hiperespaço, e ele estava a caminho. Na verdade, estávamos apenas começando.

 

III – Spacewar! é completo

 

Por favor, tenha em mente que o que se segue não aconteceu numa progressão clara do tipo primeiro-uma-coisa e depois-a-outra, mas sim de uma só vez, num período de cerca de seis semanas. Quando os hackers estão excitados, tudo o que pode acontecer acontecerá.

 

As caixas de controle

 

Spacewar! funcionou perfeitamente bem com os interruptores de teste

Figure 2

no console, exceto que o CRT estava virado para o lado, então um jogador tinha uma vantagem visual. Mais sobre o meu ponto, com dois guerreiros espaciais entusiasmados presos em um espaço feito só para um operador razoavelmente calmo, os danos ao equipamento eram uma ameaça constante. Ou no mínimo, um jogador nervoso poderia errar o interruptor do torpedo e apertar a alavanca de ligar, destruindo todo o universo em um grande anti-bang. Obviamente, era necessário um dispositivo de controle separado, mas os joysticks (nossa ideia original) não estavam disponíveis em 1962. Então, Alan Kotok e Robert A. Saunders, que por acaso eram membros do Tech Model Railroad Club, foram até a sala do TMRC. , vasculharam o layout por um tempo para encontrar pedaços estranhos de madeira, arame, baquelite. e hardware do painel de distribuição, e quando a martelação, o corte e a soldagem cessaram, ali na mesa CRT estava a primeira caixas de controle de Spacewar! (Figura 2. Essas caixas desapareceram há muito tempo, mas o esboço é uma reconstrução razoavelmente precisa.)

 

Primeiros passos

 

No final de 1961, todos os elementos estavam no lugar: um novo computador disponível, uma nuvem de hackers, empregadores tolerantes quando não ativamente implicados e uma ideia interessante. Lesma Rusell estava sendo pressionado por todos para “fazer algo” sobre Spacewar! (Nessa altura, eu estava num departamento diferente do MIT, e Wayne, infelizmente, era um daqueles infelizes reservistas do Exército chamados para o serviço ativo durante o pânico do Muro de Berlim em Outubro. Ele nunca chegou a participar no desenvolvimento da sua própria ideia.)

 

Russell, que não era do tipo que “fazia algo” quando havia uma alternativa, desistia por um motivo ou outro. Uma das desculpas para não fazer isso. Lesma lembra, era. “Oh, não temos uma rotina seno-cosseno e caramba, não sei como escrever uma rotina seno-cosseno…” Então Alan Kotok voltou de uma viagem até Maynard (sede da DEC) com fitas de papel dizendo “Tudo bem. Russell, aqui está uma rotina seno-cosseno; agora qual é a sua desculpa?” “Bem.” diz Lesma. “Olhei em volta e não encontrei uma desculpa, então tive que me recompor e planejar algo.”

 

Com a matemática pesada em mãos. Lesma produziu o primeiro programa de objeto em movimento em janeiro de 1962. Este nada mais era do que um ponto que poderia acelerar e mudar de direção sob o controle do interruptor. Mesmo sem a capacidade de multiplicação e divisão do hardware (nos primeiros PDP’s-l, qualquer coisa mais rígida do que adição e subtração de números inteiros tinha que ser feita por sub-rotina), o computador claramente não estava sendo pressionado.

 

Do ponto ao foguete foi um passo surpreendentemente fácil: “Percebi”, disse Lesma, “que não precisava me preocupar com a velocidade da rotina seno-cosseno, porque havia apenas dois ângulos envolvidos em cada quadro – um para cada navio. Então surgiu a ideia de girar a grade.” Os contornos do navio foram representados como uma série de códigos de direção começando na proa do navio; quando o navio estava vertical e de cauda para baixo, cada dígito do código apontava para um dos cinco possíveis pontos adjacentes que poderiam ser exibidos a seguir. Para exibir o navio em ângulo. Russell calculou o seno e o cosseno apropriados e os adicionou às constantes do código de direção original, girando, na verdade, toda a grade. Com este método, o ângulo do navio tinha que ser calculado apenas uma vez em cada quadro de exibição. Os códigos de contorno foram mantidos em uma tabela para que diferentes formas pudessem ser experimentadas à vontade, mas isso significava que a tabela tinha que ser pesquisada em cada quadro para gerar o contorno. À medida que o jogo se desenvolveu, esse arranjo provou ser um obstáculo que veremos, foi perfeitamente resolvido por Dan Edwards.

 

Em fevereiro, o primeiro jogo estava funcionando. Era um modelo básico: apenas os dois navios, uma carga de combustível e um estoque de “torpedos” — pontos de luz disparados da proa do navio. Uma vez lançado, um torpedo era um míssil balístico, avançando até atingir algo (mais precisamente, até chegar a uma distância mínima de um navio ou outro torpedo) ou seu “fusível temporizado” causar sua autodestruição.

 

A caixa é de madeira com tampo em baquelite. Os dois interruptores são de duplo acionamento; o botão é um interruptor momentâneo silencioso. Suas funções são as seguintes:

a. Controle de rotação. Ele é empurrado para a esquerda para girar o navio no sentido anti-horário, para a direita para girar no sentido horário.

b. Um controle de duas funções. Retraído, está o acelerador do foguete; o foguete continua a explodir enquanto o interruptor for acionado. Empurrado para frente, o interruptor é o controle do hiperespaço, conforme descrito abaixo.

c. O botão torpedo. Tinha que ficar em silêncio para que seu oponente não soubesse quando você estava tentando atirar. (Havia um atraso fixo entre os tiros “para permitir que os tubos do torp esfriassem” e o fogo não era automático; era preciso apertar o botão continuamente para lançar um míssil.)

 

Com as caixas de controle, os jogadores podiam sentar-se confortavelmente separados, cada um com uma visão clara da tela. Isso, somado ao layout cuidadosamente projetado dos controles, melhorou consideravelmente as habilidades de jogo, tornando o jogo ainda mais divertido.

 

As estrelas dos céus

 

Uma das forças que impulsionam o hacker dedicado é a busca pela elegância. Não é suficiente escrever programas que funcionem. Eles também devem ser “elegantes”, seja em código ou em função – ambos, se possível. Um programa elegante faz o seu trabalho o mais rápido possível, ou é tão compacto quanto possível, ou é tão inteligente quanto possível no aproveitamento das características particulares da máquina em que é executado, e (finalmente) produz os seus resultados de uma forma estética. forma totalmente agradável, sem comprometer os resultados ou o funcionamento dos outros programas associados a ele.

 

“Peter Samson” lembra Russell, “ficou ofendido com as minhas estrelas aleatórias”. Em outras palavras, embora um fundo de diversos pontos de luz possa ser muito bom para alguma frota espacial decadente qualquer, simplesmente não serviria para a Patrulha Galáctica. Então Peter Samson sentou-se e escreveu “Expensive Planetarium” (Planetário Caro).

 

Usando dados do American Ephemeris and Nautical Almanac (Almanaque Náutico Americano de Efemérides). Sansão codificou todo o céu noturno (até um pouco acima da quinta magnitude) entre 22 1/2° N e 22 1/2° S, incluindo assim a maioria das constelações familiares. A exibição pode permanecer fixa ou mover-se gradualmente da direita para a esquerda, exibindo, em última análise, todo o conjunto de estrelas. A elegância não para por aí. Ao disparar cada ponto exibido o número apropriado de vezes, Samson foi capaz de produzir uma exibição que mostrava as estrelas com algo próximo de seu brilho relativo real. Um programa de demonstração atraente por si só, E.P. foi “pasmamente admirado e inalado na guerra espacial”

 

A estrela pesada

 

Até este ponto. Spacewar! favorecia pesadamente as habilidades motoras e reflexos rápidos, com a estratégia contando para muito pouco. Os jogos tendiam a se tornar nada mais do que tiroteios selvagens, o que era emocionante, mas em última análise, não gratificante. Algum tipo de equalizador era necessário.

 

Russell: “Dan Edwards ficou ofendido com as naves espaciais simples e sentiu que a gravidade deveria ser introduzida. Eu aleguei inocência da análise numérica e outras coisas” – em outras palavras, aqui está o pincel e a tinta, e ali está a cerca – “então Dan colocou nos cálculos da gravidade.”

 

A estrela brilhou então no centro da tela, seus raios brilhantes eram um aviso claro de que não se deveria brincar com ela. Sua gravidade abrangia todo o espaço: não importa onde você estivesse, se não se movesse, seria atraído para o sol e destruído. (Como um gesto de boa vontade com os jogadores menos habilidosos ou iniciantes, uma opção adicionava a opção de trocar esta aniquilação em uma espécie de tradução hiperespacial para o “antiponto”, ou seja, os quatro cantos da tela.)

 

A estrela fez duas coisas. Ele introduziu um elemento independente do jogador que o jogo precisava: quando as velocidades eram altas e o espaço estava cheio de mísseis, muitas vezes era a pura sorte que impedia alguém de colidir com a estrela. Também colocou em foco os outros elementos do jogo, exigindo estratégia.

Figure 3

Na presença da gravidade, ambas as naves foram afetadas por algo além de seu controle, mas que um jogador habilidoso poderia usar como vantagem.

 

O primeiro resultado desta nova atenção à estratégia foi o movimento de abertura na Figura 3, que foi rapidamente apelidado de “abertura CBS” devido ao seu formato semelhante ao de um olho. Demorou um pouco para aprender essa manobra, mas logo se tornou a abertura padrão entre jogadores experientes, pois geralmente produzia os jogos mais emocionantes.

A adição da gravidade impulsionou o Spacewar! para além do limite de display na tela sem _Flicker_. Para voltar abaixo do limite, Dan Edwards desenvolveu um macete elegante para acelerar a rotina de exibição de contornos.A adição da gravidade impulsionou o Spacewar! para além do limite de display na tela sem _Flicker_. Para voltar abaixo do limite, Dan Edwards desenvolveu um macete elegante para acelerar a rotina de exibição de contornos.

 

No programa original de Russell, as tabelas gerais eram examinadas e interpretadas em cada quadro de exibição, sendo uma operação essencialmente redundante. Edwards substituiu esse procedimento por um “compilador” de contorno, que examinava as tabelas no início do jogo e compilava um pequeno programa para gerar o contorno de cada navio. Isso reduziu drasticamente o tempo de cálculo, restaurando a exibição estável e abrindo espaço para as últimas perfumarias originais.

 

Hyperespaço

 

Enquanto tudo isso acontecia, eu estava em meu refúgio secreto (então conhecido como Laboratório de Sistemas Eletrônicos) trabalhando no botão de pânico definitivo: O hiperespaço. A ideia era que quando tudo o mais falhasse você pudesse pular para a quarta dimensão e desaparecer. Como isso introduziria um elemento de algo muito parecido com magia em um universo racional, o uso do hiperespaço teve que ser barrado de alguma forma. Nosso objetivo final era um recurso que, embora útil, não era totalmente confiável. O maquinário, dissemos, seriam “os geradores de hipercampo Mark Um… não tinham feito um trabalho completo de testes… levaram-nos às pressas para a frota” e assim por diante. Eles serviriam para uma ou duas doses, mas se deteriorariam rapidamente depois disso. Eles podem não funcionar (“Não é minha culpa. ChewieD ou se funcionassem, suas chances de voltar intacto eram bem menores do que meio a meio. Lesma:” Era algo que você poderia usar, mas não algo que você queria usar.”

 

O hiperespaço original não era tão elegante. A “falta de confiabilidade do MK I” se resumia a isto: você deu exatamente três saltos. Em cada salto, as coordenadas da sua nave eram embaralhadas de modo que você nunca sabia onde reapareceria — poderia ser no meio do sol. Você ficava fora por um período de tempo discernível, o que dava ao seu oponente um pouco de fôlego, mas você voltava com sua velocidade e direção originais intactas. Para pular, você empurrava a alavanca de explosão para frente.

Figure 4

O hiperespaço tinha um recurso fofo (bem, achei fofo). Você se lembra do Minskytron? Uma de suas exibições parecia muito com um átomo de Bohr clássico, que naquela época era uma metáfora sobrecarregada para qualquer coisa relacionada ao espaço e à ficção científica. Raciocinar que uma nave entrando no hiperespaço causaria uma distorção local do espaço-tempo, resultando em uma emissão de estresse fotônico induzida por deformação (viu como isso é fácil?). Fiz com que a nave que desaparecia deixasse para trás uma pequena assinatura do Minskytron (Figura 4).

 

Coisas tortas e pontas soltas

 

Em retrospecto, é notável que no Spacewar! original conseguimos incluir tantos recursos, dadas as limitações do nosso PDP-1: 4K de palavras (cerca de 9K de bytes) de memória, um tempo de ciclo de instrução de cinco microssegundos e uma sub-rotina de multiplicar-dividir. Não é de surpreender, então, que tenhamos deixado passar algumas partes insatisfatórias (tudo bem, deselegantes).

 

O mais irritante deles (e o primeiro a ser melhorado em versões posteriores) foi o apropriadamente chamado Crock Explosion (explosão torta). Obviamente, algo dramático tinha que acontecer quando uma nave era destruída, mas estávamos lidando com uma tela simples de matriz de pontos. O programa de controle original produzia uma explosão de pontos aleatórios confinada dentro de um pequeno quadrado cujos contornos eram muito discerníveis (Figura 5).

 

Figure 5

 

Essa explosão pretendia ser apenas uma temporária até que algo mais plausível pudesse ser elaborado, mas depois de todas as outras características terem sido “inaladas”, não havia espaço nem tempo para um cálculo mais sofisticado.

 

Da mesma forma, os torpedos não eram muito consistentes com o universo de Spacewar! depois que a estrela pesada estava no lugar. Os cálculos de gravidade para dois navios eram os máximos que o programa conseguia suportar; não houve tempo para incluir também meia dúzia de mísseis. Portanto, os torpedos não foram afetados pela estrela, com o estranho resultado de que você poderia atirar através dela e atingir algo do outro lado (se você não tomasse cuidado ao contornar a estrela, poderia ser você). Nós demos as desculpas usuais . . . blá blá blá bombas de fótons blá blá blá. . . mas ninguém realmente se importava.

 

Figure 6

A estrela pesada em si não era inteiramente newtoniana. A tática comum de mergulhar no poço gravitacional para ganhar impulso girando em torno do Sol (Figura 6) fornecia um pouco mais de energia do que você realmente tinha direito. Como isso apenas tornou o jogo mais interessante, nada foi feito imediatamente para corrigi-lo.

IV – Depois de Spacewar!

 

O jogo estava essencialmente completo no final de abril de 1962. O único trabalho imediato foi fazer Spacewar! apresentável no Science Open House anual do MIT em maio. Um recurso de pontuação foi adicionado para que partidas finitas pudessem ser disputadas, tornando mais fácil limitar o tempo que qualquer pessoa passava nos controles. Para atender às multidões que previmos (com precisão), um CRT de laboratório de tela grande foi conectado ao computador para funcionar como um monitor escravo. Empoleirado em cima de um armário alto, permitia que uma sala cheia de pessoas assistisse com relativo conforto.

 

Também em maio, foi realizada a primeira reunião da DECUS (Sociedade de Usuários de Equipamentos Digitais de Computadores) em Bedford, MA. Naquela reunião entreguei o primeiro artigo sobre o assunto, pretensiosamente intitulado “SPACEWAR! Real-Time Capability of the PDP1” (“Spacewar! Capacidades em tempo real do PDP-1”).

 

Durante o verão de 1962, os hackers originais de Spacewar começaram a se afastar. Alan Kotok e eu fomos trabalhar para a Digital. Steve Russell seguiu John McCarthy até a Universidade de Stanford. Peter Samson e Bob Saunders permaneceram em Cambridge por um tempo, mas eventualmente eles também foram para o oeste. Dan Edwards permaneceu no grupo de IA por alguns anos, depois mudou para o Projeto MAC. Jack Dennis e o PDP-1 também acabaram no Projeto MAC que evoluiu para o Laboratório de Ciência da Computação do MIT. Outros assumiram a manutenção e o desenvolvimento do Spacewar! As fitas com o programas já estavam aparecendo em todo o país, não apenas em PDP-Is, mas em praticamente qualquer computador de pesquisa que tivesse um CRT programável.

 

Um mistério, apenas para garantir

 

Lesma me disse que existe uma versão perdida do Spacewar!, obvio que haveria. Ele diz que o jogo é muito parecido com o original, mas a pontuação é muito mais impressionante. Após cada jogo de uma partida, as pontuações cumulativas são exibidas como fileiras de navios, como a contagem de um piloto de caça da Segunda Guerra Mundial. O Lesma diz que viu esta versão por pouco tempo no PDP-1 mas nunca descobri quem o produziu ou o que aconteceu com ele.

 

Vinte anos depois

 

O Spacewar para o PDP-1 original foi aposentado em 1975 e armazenado no armazém da DEC em Northboro, onde serve como fonte de peças para uma máquina semelhante agora em exibição no Digital’s Computer Museum em Marlboro. MA. Neste momento escrito. O engenheiro da DEC, Stan Schultz, e eu estamos tentando colocar o Spacewar! original de volta à condição operacional. Até aqui. todas as tentativas de encontrar as caixas de controle originais foram inúteis; provavelmente construiremos réplicas (os joysticks de plástico do Atari que temos agora não têm classe).

 

Dan Edwards ainda trabalha para o governo dos EUA, desenvolvendo sistemas de segurança de computadores. Alan Kotok ainda é engenheiro consultor da DEC. Peter Samson é agora diretor de marketing da Systems Concepts. Inc.. em São Francisco. Bob Saunders foi para o Vale do Silício, onde é engenheiro-programador da HewlettPackard.

 

Jack Dennis é professor de ciências no Departamento de Engenharia Elétrica do MIT.

 

John McKenzie, o engenheiro-chefe está aposentado, mas ao longo do último ano tem ajudado a restaurar o TX-O e o PDP-1 no Museu da Computação.

 

Mas e o Instituto Hingham? Wayne Wiitanen tornou-se recentemente pesquisador sênior no Laboratório de Pesquisa da General Motors, onde está felizmente projetando olhos para robôs. Lesma, depois de várias aventuras, agora é analista-programador da Interactive Data Corp. em Waltham. MA. Estou reduzido a escrever para viver, mas tendo a agir de forma um pouco menos superior.

 

Guerra espacial! em si criou uma raça de monstros barulhentos e de cores berrantes que se escondem em cavernas escuras e infestam pizzarias, comendo quartos e oferecendo prazeres degenerados. Acho que conheço alguns ex-hackers que não estão nem um pouco surpresos.

 

Agradecimentos

 

Eu consegui alcançar todos os perpetradores do Spacewar! original, hackers e bolsistas do Instituto Hingham. Sem mencionar os professores Dennis e Minsky, e John McKenzie. Além disso. Sou grato a Márcia Baker. Professor FJ Corbato e Professor RM Fano, todo o MIT para obter ajuda com datas e locais e outros fatos. A ajuda era deles; qualquer erro é meu.

 

AGOSTO 1981