12 de dezembro de 2025

1962 – Spacewar!

No outono de 1961, o Massachusetts Institute of Technology (MIT) seria palco do nascimento de um dos jogos de computador mais influentes de todos os tempos. Nesse ano a universidade recebeu um novíssimo computador PDP-1, doado pela Digital Equipament Corporation (DEC), que esperava que o MIT pudesse fazer algo “notável” com seu equipamento. E que equipamento! Um computador como o instalado no MIT custava, na época, US$ 120 mil, algo em torno de US$ 1,03 milhão em valores atualizados, e era destinado a “fins educacionais”. O MIT já tinha um outro computador, mais antigo, o TX-0, que foi um dos primeiros computadores transistorizados construídos e havia chegado ao MIT em 1958 vindo de seu local de construção, o Lincoln Lab. Só que o PDP-1 era muito menor, também transistorizado, só que bem mais moderno e rápido. O novo computador foi instalado na sala ao lado do TX-0 ou TIXO, como era conhecido pelo pessoal da universidade. Alan Kotok conta que eles programavam, deixavam o programa rodando no TIXO e voltavam no dia seguinte para ver o resultado, algo que prometia ser muito diferente no PDP-1.

É muito complexo refazer todos os eventos que levaram ao surgimento de uns dos mais notáveis jogos de videogame da história, mas há duas fontes críveis que permitem montar esse quebra-cabeças: Os relatos descritos no livro “Hackers: Heroes of the Computer Revolution”, de Stephen Levy, lançado em 1984 e para o qual o autor entrevistou a maioria dos principais personagens da cena hacker do MIT nos anos 1960 e o artigo escrito pelo próprio J. Martin Graetz, co-criador do jogo “Spacewar!”, escrito para a revista “Creative Computing” em 1981 e intitulado “The Origin of Spacewar!”.

Tudo começou antes do PDP-1 chegar formalmente ao MIT. A turma do “Tech Model Railroad Club” ou TMRC, já estava em frisson planejando como explorariam as capacidades do novo computador. Aliás, o termo hacker surgiu nessa época exatamente por causa dessa turma do TMRC e, por mais surreal que possa parecer, a ideia que mais utilizou recursos do PDP-1 foi planejada por um bando de nerds que nem mesmo faziam parte do MIT na época, apesar de estarem ligados a ele de alguma forma.

Em 1959, Wayne Wiitanen e Martin Graetz mudaram-se para um apartamento na 8 Hingham Street, em Cambridge, que eles pretensiosamente chamavam de “Hingham Institute”, uma brincadeira com o apelido do MIT, “The Institute”. Graetz era formado em química pelo MIT e chegou a trabalhar no laboratório de química do Hospital Geral de Massachusetts, mas não morria de amores pela área. Nessa época Graetz se interessou pelo trabalho de Wiitanen no Departamento de Meteorologia do MIT e começou a dar atenção aos computadores. Wiitanen, por sua vez, trabalhou no laboratório de Sistemas Eletrônicos do MIT até 1959 quando conseguiu um emprego no Laboratório de Estatística Littauer, na Universidade de Harvard. Mais tarde Wiitanen conseguiu que Graetz também fosse contratado pelo Littauer como operador de computador júnior, alimentando cartões perfurados em um computador IBM 704. Mais tarde, Graetz tornou-se um bibliotecário de programas e mergulhou no funcionamento interno do 704 aprendendo a linguagem assembly e a linguagem FORTRAN. Steve Russell, que já havia trabalhado no Laboratório de Inteligência Artificial do MIT durante o desenvolvimento da linguagem LISP, foi, também, contratado pelo Littauer como consultor de programas. Por fim, Wiitanen, Graetz e Russell acabaram por dividir o mesmo escritório.
Só que no verão de 1961 Graetz foi demitido do Littauer e, imediatamente, entrou em contato com seu amigo Jack Dennis, que lhe conseguiu um emprego no MIT para trabalhar no programa de diagnóstico da nova unidade de fita magnética do TX-0. Quando o PDP-1 chegou, no outono de 1961, ele estava tão ansioso quanto qualquer outro para começar a programar no novíssimo computador. Assim, ele alistou o “Hingham Institute” para debater a melhor forma de demonstrar as capacidades do PDP-1. O computador também contaria com um monitor CRT monocromático Precision Type 30, que só seria instalado alguns meses após a montagem do computador. Diferentemente do que ocorre atualmente, monitores não eram um item obrigatório para usar o computador. Algo que é difícil de conceber nos tempos atuais onde é impossível usar um computador sem um monitor minimamente decente.

DEC PDP-1 Demo Lab at Mountain View’s Computer History Museum. Imagem Alexey Komarov.

Com o novo computador instalado, Graetz e sua turma juntaram-se a outros membros do MIT para discutir qual a melhor maneira de fazer o PDP-1 “suar”. Os membros do “Higham Institute” queriam criar algum tipo de jogo como demonstração. Algo como o jogo “Mouse in the maze” ou “Boucing Ball” (que simplesmente mostrava um ponto quicando na tela) ou mesmo mais um Jogo da Velha. Esses jogos, aliás, já existiam e rodavam no antigo TX-0, então não eram nenhuma novidade, além do que, eles achavam que não utilizariam toda a capacidade que o PDP-1 era capaz. Eles queriam levar o hardware do novo computador ao limite!Caixa de Texto:  Figura 12: DEC PDP-1 Demo Lab at Mountain View's Computer History Museum. Imagem Alexey Komarov.

Em uma de várias reuniões que fizeram no apartamento de Graetz e Wiitanen eles definiram o que chamaram de “Theory of Computer Toys” algo como Teoria para Brinquedos de Computador. Segundo essa teoria, a demonstração que pretendiam construir deveria satisfazer a três critérios:


1- Ele deveria demonstrar o maior número possível de recursos do computador e levá-los ao limite.

2- Dentro de uma estrutura consistente, deve ser interessante, o que significa que a cada execução do programa o resultado deve ser diferente.

3- Deve envolver o espectador de maneira prazerosa e ativa. Em suma, deve ser um jogo.

Segundo relato do próprio Graetz para o artigo da revista Creative Computing a seguinte conversa se seguiu:

Wayne disse: “Olhe, você precisa de ação e precisa de algum tipo de nível de habilidade. Deve ser um jogo no qual você tem que controlar coisas que se deslocam na mira, como, oh, naves espaciais. Algo como um jogo explorador ou uma corrida ou uma competição…uma luta, talvez?

SPACEWAR!” foi o que Graetz e Russell gritaram em reposta.

Daí em diante o “Hingham Institute” foi rebatizado para “Hingham Institute Study Group on Space Warfare” ou “Grupo de Estudo do Instituto Hingham para Guerra Espacial”. O próximo passo deles foi definir as regras básicas dessa demonstração ou, melhor, desse jogo:

– Seriam duas naves;

– O combustível seria limitado;

– As naves teriam algum tipo de arma;

– Haveria um botão de pânico.

As naves seriam controladas por interruptores no console. Na verdade, eles queriam um joystick, só que, apesar de a tecnologia existir, era bem difícil de conseguir fora de um ambiente de pesquisa militar. Em 1961, joysticks estavam restritos a empresas envolvidas com desenvolvimento aeroespacial e fora do alcance dos hackers do MIT.

Ainda em 1961 o grupo teve uma baixa importante. Wayne Wiitanen, um dos principais programadores do grupo, acabou sendo convocado para o serviço militar, do qual era reservista, pouco antes deles começarem o desenvolvimento de “Spacewar!”, devido à crise do muro de Berlim em outubro. Isso fez com que grande parte do trabalho de programação recaísse inteiramente sobre Steve Russell que, a essa altura, havia voltado a trabalhar no Laboratório de Inteligência Artificial do MIT.

Com o “Hingham Institute” listado para uso do PDP-1 esse grupo inicial teve o acesso liberado ao computador e começou a trabalhar. Não demorou muito para que todo nerd do MIT ficasse sabendo sobre o projeto, atraindo os demais membros que ajudariam a criar “Spacewar!”.

Segundo Graetz, no final de 1961 eles tinham tudo o que precisavam: um computador novinho com um belíssimo monitor CRT, um enxame de hackers — termo, aliás, que surgiu com esses programadores inovadores do MIT — , um empregador tolerante e uma ideia interessante. Mas como escrever o código do jogo? Apesar de muito avançado, o PDP-1 era espartano com relação a sua biblioteca de programas e não vinha nem mesmo com algo tão trivial quanto um simples editor de textos. Foi Steve Piner, também membro do TMRC e que havia se matriculado no MIT em 1958, juntamento com Peter Deustch, descrito como um “adolescente local precoce” que havia ingressado no grupo de hackers do TX-0 e PDP-1, que criaram o editor de textos chamado de “Expensive Typewritter”.
Com um editor de textos funcional o trabalho de programação começou, mas, o final de 1961 estava chegando e Russell pouco havia avançado na codificação do jogo. Segundo Graetz, o apelido de “Slug” (lesma, em inglês) não era a toa. A última desculpa de Russell era de que o PDP-1 não tinha nenhuma rotina de seno-coseno e ele não tinha a menor ideia de como escrever uma. Então Alan Kotok, que tinha um bom relacionamento com a DEC e posteriormente foi contratado por ela, viajou até a sede da empresa para caçar as rotinas que faltavam. Retornando, entregou as várias fitas de papel perfurado a Russell e disse: “Tudo bem Russell, aqui está a rotina de seno-coseno, agora, qual é a sua desculpa?”. Kotok disse que não programou nenhuma rotina em Spacewar, mas deve ter sido o primeiro gerente de projetos no sentido de manter Russell motivado e fornecendo-lhe algumas rotinas necessárias de modo a mantê-lo programando. Com as rotinas de em mãos e sem mais desculpas, Russell criou o primeiro programa com objetos em movimento. Na realidade ainda era somente um ponto que podia acelerar e mudar de direção de acordo com os comandos do operador. Era Janeiro de 1962, conforme relatos de Graetz.

Do ponto para o desenho das naves foi um passo rápido, segundo o próprio Russell. Em pouco tempo ele havia construído duas naves que, de acordo com um trecho da entrevista com Russell em “A Ultimate History of Videogames”, uma foi projetada para parecer a espaçonave curvilínea de Buck Rodgers e a segunda, um fino foguete da família Redstone. Logo elas ganharam os apelidos de “Wedge” (Cunha) e “Needle” (Agulha). Em fevereiro de 1962 a primeira versão de “Spacewar!” estava funcional. Eram duas naves com um suprimento limitado de combustível, que podiam disparar torpedos sob um fundo de estrelas criadas aleatoriamente.

Com a primeira versão do jogo em funcionamento, os demais colaboradores do jogo entraram em ação.

Um dos primeiros a fazer melhorias no código de Russell foi Peter Samson que, não satisfeito com o fundo de estrelas gerado aleatoriamente, escreveu um programa chamado “Expensive Planetarium” que usava dados do “American Ephemeris and Nautical Almanac”. Ele codificou o programa de maneira que mostrasse todas as estrelas visíveis no céu acima deles, incluindo a maioria das constelações familiares. A tela podia permanecer fixa ou mover-se gradualmente da direita para a esquerda exibindo, por fim, todo o conjunto de estrelas. Ainda assim Samson não ficou satisfeito e foi além. Ele conseguiu codificar o programa para simular o brilho das estrelas o mais próximo do real. Algo bem difícil de se fazer atualmente, imagine o quão impressionante foi em 1962.

Nesse ponto do desenvolvimento, “Spacewar!” era um jogo que privilegiava habilidades motoras e reflexos rápidos fazendo com que as partidas tendessem para um enorme tiroteio sem sentido. E ainda tinha o preocupante detalhe de usarem os interruptores do PDP-1 que ficavam muito próximos do monitor CRT, localizado em cima de uma mesa, e que corria o risco de ser derrubado por um jogador mais exaltado, causando uma tragédia de valores astronômicos ou, mesmo, apertar algum botão e apagar todo o código do jogo. Havia ainda outro problema. Somente um dos jogadores tinha uma boa visão do campo de jogo, com o outro tendo que ficar meio de lado.

Alan Kotok e, também, Robert Saunders, membro do TMRC, vasculharam a sala do clube procurando por pedaços de madeira, arame, baquelite e comutadores. Quando as marteladas, serras e soldas cessaram, lá estavam os controles feitos para se jogar “Spacewar!”. Uma caixa de madeira com uma tampa de baquelite com dois switches, um botão de pressão e um cabo bem longo para que os jogadores pudessem sentar-se confortavelmente e bem longe do caríssimo hardware do PDP-1. Outro membro do grupo, Dan Edwards, queria resolver a questão das batalhas insanas e colocar um elemento a mais, para deixar o jogo mais complexo e interessante. Foi ele que sugeriu o conceito de que a gravidade deveria ser introduzida no jogo. Graetz relata que Russell e Edwards entraram em uma discussão acalorada sobre a inclusão ou não do elemento gravidade e, por fim, Edwards programou o conceito no jogo. Edwards introduziu um objeto no centro do campo de jogo que chamou de estrela massiva, como nosso Sol. Basicamente, essa estrela puxa as duas naves em sua direção e as destrói se o jogador não tomar uma ação evasiva. Os tiros não eram afetados por essa força gravitacional simplesmente porque o PDP-1 não conseguia fazer todos os cálculos necessários quando um grande número de elementos era mostrado na tela, mesmo os tiros sendo somente pontinhos. O grupo os chamou de “Torpedos Fotônicos” que não eram afetados pela gravidade da estrela. Fato é que a tal estrela e sua força gravitacional introduziu uma dificuldade a mais no jogo e trouxe consigo o elemento estratégia, uma vez que afetava a nave com um elemento fora do controle do jogador e incluía a necessidade de pensar nos movimentos que seriam feitos, aproveitando-se do impulso gerado pela força gravitacional. Entretanto, um problema surgiu junto com a nova funcionalidade: a tela do jogo passou a piscar em um efeito indesejado que atualmente chamamos de flickering. O PDP-1 não conseguia atualizar a tela e realizar todos os cálculos necessários em tempo suficiente, causando o efeito indesejado. Novamente Edwards entrou em ação e revisou o código de Russell, fazendo as alterações para a estabilização da atualização da tela.

Computador PDP-1 rodando Spacewar. Imagem Kenneth Lu.