Spacewar!

Programmato da Steve Russell nel 1962 per il computer DEC PDP-1, Spacewar! non può essere considerato semplicemente un videogioco: rappresentava un significativo balzo concettuale verso una più sofisticata programmazione in real-time, dove ogni cosa visualizzata sul computer dipendeva strettamente dalle azioni che stava compiendo l'utente in quel preciso momento. Spacewar! era la dimostrazione che qualsiasi software per computer non rimaneva confinato in un contesto tecnico-scientifico, ma poteva seguire un approccio più vicino ai reali problemi della vita ed essere usato per le più disparate finalità.

Spacewar PDP-1 monitor
Spacewar! sul monitor del PDP-1 (1962)

Le origini del videogioco

Il PDP-1 divenne il computer prediletto degli hacker del MIT. Era una macchina amichevole, accessibile e interattiva, che li spinse a programmare senza limiti. Il TX-0 aveva trovato un suo degno erede. I primi esperimenti software spaziarono da applicazioni serie, come quella che pilotava un rudimentale braccio robot, ad altre più curiose come un calendario Maya e un compilatore musicale.

Steve "Slug" Russell era uno degli aiutanti del professor John McCarthy, il grande esperto di intelligenza artificiale del MIT. Russell stava scrivendo un interprete Lisp, il linguaggio di programmazione di alto livello concepito da McCarthy, per il mainframe IBM 704. Stando alle sue parole, "era un orribile lavoro di ingegneria del software", principalmente a causa della noiosa procedura di elaborazione batch a cui il 704 costringeva. Paragonato a quella macchina, il PDP-1 sembrava a Slug Russell la terra promessa. Benché non fosse sufficientemente potente da far girare il Lisp, si faceva apprezzare per altre straordinarie qualità. In particolare, era la possibilità di visualizzare delle immagini sul monitor a stuzzicare la fantasia di Russell.
Dopo lunghe discussioni con altri studenti, si convinse che la miglior dimostrazione della magica interattività di quel computer sarebbe stata un gioco sorprendente dal punto di vista visivo, che facesse uso di qualche elaborato effetto grafico.

C'erano stati alcuni tentativi di realizzare questo genere di cose sul TX-0. Uno dei più famosi era un gioco chiamato "Mouse in the Maze" (topo nel labirinto): prima l'utente costruiva un labirinto con la penna luminosa, poi un puntino sullo schermo che rappresentava il topo sarebbe partito in cerca di pezzi di formaggio raffigurati da altri punti disposti in modo random sullo schermo. Esistevano versioni più snob del gioco in cui il topo doveva trovare un bicchiere di Martini. L'aspetto interessante era che dopo aver fatto correre il topo nel labirinto una prima volta, il percorso veniva "memorizzato" nei successivi tentativi. Questo era quanto potevano offrire i trucchi di visualizzazione sul TX-0.
Sul PDP-1, che aveva uno schermo più grande e più facile da programmare, erano già stati scritti alcuni programmi che ne evidenziavano le capacità grafiche. L'esempio più ammirato fu generato quasi per caso dall'altro guru dell'intelligenza artificiale, Marvin Minsky, mentre cercava di ottimizzare un programma che disegnava una funzione matematica. Minsky scambiò inavvertitamente una "X" con una "Y" mentre digitava e con suo stupore vide comparire un cerchio sullo schermo. Quella scoperta casuale, denominata Circle Algorithm, che avrebbe in seguito fatto emergere profonde implicazioni matematiche, fu usata da Minsky come base di una più elaborata visualizzazione in cui tre particelle si influenzavano a vicenda, creando un turbinio di affascinanti disegni sullo schermo e rose con diversi numeri di petali che si autogeneravano.
Minsky battezzò il suo programma Tris-Pos (Three Position Display), ma gli hacker lo chiamarono affettuosamente Minskytron.

Slug Russell ne trasse grande ispirazione. Da grande appassionato dei romanzi di E.E. “Doc” Smith, decise che il PDP-1 sarebbe stata la macchina perfetta per realizzare una combinazione fra un film di fantascienza di serie B e un giocattolo da $120.000, in cui due persone potevano fronteggiarsi in un appassionante duello spaziale. Ormai ne aveva parlato ai suoi amici, ma dopo alcuni mesi Slug Russell non aveva ancora messo mano a quel progetto.
Fissava il Minskytron che generava disegni fantastici, provava a variare i parametri in input per generare nuovi pattern. Ne era affascinato ma nello stesso tempo pensava che fosse un esercizio troppo astratto e matematico. "Questa demo è una schifezza", alla fine concluse, "sono poche righe di istruzioni che non fanno nulla di concreto."

Invece, Slug Russell voleva che il suo gioco spaziale fosse interattivo, qualcosa di mai visto prima. Ciò che dall'inizio aveva fatto appassionare Slug ai computer, era la sensazione di potere data dal mandare in esecuzione i programmi: "Potevi dire al computer cosa fare. A volte era difficile, una vera battaglia fra te e lui. Poteva capitare che il computer si comportasse in modo inaspettato perché non faceva altro che riflettere il modo, a volte stupido, in cui era stato programmato. Ma alla fine, dopo mille tribolazioni, faceva esattamente quello che gli avevi detto di fare. E la soddisfazione che ti regalava era indescrivibile."

Russell voleva che una simile sensazione fosse suscitata nelle persone che sedevano alla console del PDP-1 mentre si affrontavano in un duello spaziale.
Fantasticava di come sarebbe potuto essere eccitante il suo Spacewar e si riprometteva che un giorno, prima o poi, avrebbe iniziato a programmarlo. Ma Slug non era un vulcano di energia come gli altri hacker del MIT. Aveva bisogno di essere motivato. Dopo aver fatto l'errore di dichiarare pubblicamente che aveva intenzione di scrivere quel fantastico programma, gli hacker che gravitavano attorno al PDP-1 sempre più spesso gli chiedevano a che punto era. In un primo momento abbozzò come scusa che doveva prima capire come scrivere le elaborate routine di seno-coseno necessarie per descrivere il moto delle navicelle spaziali.

Alan Kotok, uno degli hacker del MIT che aveva iniziato a collaborare con la DEC, si recò di proposito a Maynard per procurarsi le routine di cui Russell aveva bisogno. L'indomani si presentò con un nastro di carta perforata in mano: "Ecco qua, Slug. Hai il codice che ti serve per il PDP-1. Ora che scusa ti inventi?"
Ormai Russell non poteva più tirarsi indietro. Iniziò a lavorare al suo progetto a tempo pieno all'inizio di Dicembre. A Natale stava ancora programmando. Durante i primi giorni del 1962, Russell aveva ottenuto un puntino sullo schermo che poteva governare: azionando i piccoli interruttori sulla console, era grado di far accelerare quel puntino e di fargli cambiare direzione.
Passò quindi a modellare la forma delle due astronavi: entrambe avevano il classico aspetto dei razzi nei cartoni animati, ma per distinguerne una dall'altra, ne fece una affusolata, a forma di sigaro, e una più paffuta.

Russell usò le routine di seno-coseno per far muovere le astronavi in differenti direzioni. Poi scrisse una subroutine per sparare un "siluro" dall'astronave quando veniva azionato un interruttore sulla console. Con una procedura chiamata di “collision detection”, il computer avrebbe monitorato la posizione del siluro e dell'astronave avversaria; se entrambi occupavano la stessa area, il programma avrebbe invocato una subroutine che simulava un'esplosione con un getto random di pixel.
Tutto ciò rappresentava un significativo balzo concettuale verso una più sofisticata programmazione in real-time, dove ogni cosa visualizzata sul computer dipendeva strettamente dalle azioni che stava compiendo l'utente in quel preciso momento.

Il primo videogioco, spaziale e interattivo

Spacewar! non poteva essere definito semplicemente un videogioco, era la dimostrazione che qualsiasi software per computer non era confinato alla mera ricerca tecnica, ma poteva seguire un approccio più vicino ai reali problemi della vita ed essere usato per le più disparate finalità.

Un giorno di febbraio, Russell svelò gli aspetti fondamentali del gioco. C'erano due astronavi, ciascuna dotata di trentuno missili. Un certo numero di punti disposti a caso sullo schermo stava a rappresentare le stelle in questo campo di battaglia spaziale. Le navicelle potevano essere manovrate attraverso quattro interruttori posti sulla console del PDP-1, i quali rendevano possibile la virata in senso orario e in senso antiorario, l'accelerazione e il lancio dei missili.

Slug Russell sapeva che mostrando una versione incompleta del gioco ma lasciando il nastro di carta perforata a disposizione fra i programmi del PDP-1, avrebbe invogliato gli altri hacker del MIT ad apportare tutti i miglioramenti che ritenevano opportuni. Infatti, la prima cosa che modificarono fu la routine originale per il lancio dei missili. Sapendo che nella realtà le armi non si comportano sempre in modo perfetto, Russell inserì alcune variazioni casuali nella traiettoria e nella velocità dei missili.

Invece di apprezzarne la verosimiglianza, gli hacker lo denunciarono come un limite. A loro piacevano i sistemi perfetti e così avevano la sensazione che qualcosa non funzionasse a dovere. "Come la gente comune, volevano sempre avere a disposizione degli strumenti affidabili su cui mantenere il completo controllo", disse Russell.
Il problema fu facilmente risolto modificando poche istruzioni e i missili assunsero delle traiettorie regolari. La gente passava ore ad ingaggiare duelli spaziali e ancor di più a cercare di perfezionare quel mondo simulato.

Russell, Kotok e Graetz impegnati in sessione di Spacewar durante una dimostrazione del 1983 (computerhistory.org)

Peter Samson, per esempio, amava l'idea delle battaglie stellari, ma non poteva sopportare i puntini generati a caso che fungevano da volta celeste. Lo spazio reale aveva stelle fisse in punti ben precisi. Si procurò un voluminoso atlante dell'universo e cominciò a scrivere una routine che avrebbe riprodotto le varie costellazioni. Fece in modo che mentre il gioco progrediva, il cielo scorresse di conseguenza. Oltre a incrementare la verosimiglianza, questa routine forniva alle astronavi una mappa di base per valutare la propria posizione.

Un altro programmatore, Dan Edwards, non era soddisfatto del movimento lineare delle due astronavi in duello, che rendeva il gioco solo un test di abilità motoria. Pensò che l'aggiunta della gravità avrebbe creato una componente strategica di rilievo. Quindi programmò una stella centrale — un sole — al centro dello schermo; in questo modo si sarebbe potuta sfruttare la sua attrazione gravitazionale per aumentare la velocità durante l'orbita, ma se non si prestava attenzione e ci si avvicinava troppo al sole, si sarebbe finiti risucchiati, e precipitarvi dentro significava morte certa.

Prima che tutte le implicazioni strategiche di questa variante venissero implementate, Shag Garetz, calò sul tavolo un asso nella manica. Aveva letto nei romanzi di Doc Smith che i pirati dello spazio potevano passare da una galassia all'altra grazie a una "galleria iperspaziale" che li proiettava in un'altra dimensione. Aggiunse così al gioco l'opzione dell’iperspazio, permettendo al giocatore di fuggire da una situazione di estremo pericolo, premendo questo pulsante che lo avrebbe spedito in un'altra zona dell'universo.
Fuggire nell'iperspazio era possibile fino a tre volte nel corso di una partita; lo svantaggio era che non si sapeva in anticipo dove si sarebbe sbucati. A volte si poteva ricomparire proprio vicino al sole, giusto il tempo per vedere l'astronave esplodere sulla sua superficie.
In onore al programma originale di Marvin Minsky, Garetz programmò la funzione dell'iperspazio in modo che, quando l'astronave scompariva nel buco temporale, visualizzasse una "emissione fotonica" con un effetto grafico tipico del Minskytron.

A Spacewar! si giocava moltissimo: per alcuni era diventato una droga. Sebbene nessuno potesse ufficialmente prenotare il PDP-1 per una sessione di Spacewar!, quella primavera, durante ogni momento libero, era in esecuzione una qualche versione del gioco. Di notte, a volte scommettendo anche dei soldi, gli hacker disputavano tornei estenuanti.
Durante queste sessioni prolungate, lo svantaggio principale era costituito dallo smanettamento necessario sugli interruttori della console, poiché con le braccia in quella posizione, dopo un po' i gomiti facevano male.

Edwards e Samson playing Spacewar on PDP-1
Dan Edwards e Peter Samson giocano a Spacewar! sul PDP-1 (computerhistory.org)

Così, Kotok e Saunders si recarono al Tech Model Railroad Club, il regno degli hacker del MIT, dove misero insieme i pezzi di quello che sarebbe stato il primo joystick. Lo costruirono interamente con materiali di scarto trovati nella stanza del club e completarono l'assemblaggio in poche ore. Era costituito da una piccola scatoletta di legno con un coperchio di masonite e aveva due levette per la rotazione e la spinta dei motori, come pure un pulsante per lanciare i missili e per l'iperspazio.

Oggi è possibile giocare a Spacewar! online grazie a questo fedele emulatore.

Mentre alcuni hacker persero interesse in Spacewar! dopo aver esaurito la vena creativa della programmazione, molti altri ne rimasero catturati e affinarono le tecniche di combattimento per prevalere sugli avversari e guadagnarsi il titolo di miglior giocatore.

Nel maggio del 1962, in occasione dell'annuale festa del MIT, gli hacker caricarono un nastro di carta perforata con ventisette pagine nel linguaggio assembler del PDP-1, installarono un schermo extra — in realtà un grosso oscilloscopio — e per tutto il giorno mostrarono Spacewar! ad un pubblico che si assiepava attorno alla macchina e non riusciva a credere ai propri occhi.
La stupefacente visione di un gioco di fantascienza, programmato dagli studenti e gestito da un computer, era così incredibile che nessuno osava pensare che un giorno ne sarebbe derivata una vera e propria industria del divertimento.

Come ogni cosa prodotta dagli hacker, quel programma non era in vendita. Il frutto del loro lavoro di gruppo fu messo a disposizione di chiunque avesse voglia di usarlo, modificarlo o riscriverlo come più gli sembrava opportuno.
Non c'era da meravigliarsi che altri possessori di PDP-1 misero le mani sui nastri di carta perforata contenenti Spacewar! che venivano distribuiti gratuitamente.

Non c'è niente di male nell'utilizzare un computer da un milione di dollari per giocare a Spacewar!

Ben presto delle copie iniziarono a circolare anche all'interno della DEC e gli ingegneri iniziarono ad usarlo come programma diagnostico per i PDP-1, prima di distribuirli sul mercato. Alla fine della procedura, senza pulire la memoria del computer, la macchina veniva spenta. I rivenditori della DEC lo sapevano e spesso quando le macchine venivano consegnate ai nuovi acquirenti, le accendevano e, dopo essersi accertati che non uscisse del fumo dall'alimentatore, digitavano "VY" sulla tastiera. Se la macchina era stata ben imballata e installata correttamente, al centro dello schermo sarebbe apparso il sole con le due astronavi pronte alla battaglia spaziale.

L'eredità di Spacewar

Spacewar! rimase estremamente popolare per oltre un decennio e la sua eredità culturale fu enorme. Ne furono realizzate versioni per le macchine DEC di successiva generazione, come il PDP-10 e il PDP-11, fu convertito per vari computer della CDC e, con qualche limitazione, fu proposto in numerose varianti anche per i primi microcomputer.

Verso la fine del 1970, la Digital Equipment Corporation introdusse il minicomputer PDP-11. Finalmente era disponibile un computer abbastanza economico e con la potenza necessaria per far girare Spacewar!
Così, nel giugno 1971, Bill Pitts (un neolaureato di Stanford) e il suo collega Hugh Tuck costituirono la "Computer Recreations, Inc." per costruire e commercializzare una versione di Spacewar funzionante a gettoni, il primo videogioco cabinato arcade coin-op.
Poichè a quel tempo (1971) la parola "war" (guerra) era il motivo delle rivolte nel campus universitario, Pitts decise saggiamente di cambiare il nome in Galaxy Game.

Galaxy Game (1971)

La prima versione di Galaxy Game era ospitata in un cabinet di legno impiallacciato in noce, basata su un PDP-11/20 con 8K di RAM e un display elettrostatico Hewlett Packard 1300A, dal costo complessivo di circa $20.000. Considerato che il costo di una partita era di 10 cents, l'investimento avrebbe impiegato una vita prima di generare utili... Pitts e Tuck non si dimostrarono dei grandi imprenditori.
Subito dopo, per ammortizzare i costi, venne realizzata una seconda versione con una più sofisticata interfaccia del display che permetteva di gestire da 4 a 8 postazioni con un solo computer PDP-11.
Questa versione, con due cabinati in fibra di vetro verniciati blu, venne installata nel giugno del 1972 nella caffetteria a Tresidder Union, Stanford, e rimase in uso fino al 1979, quando venne dismessa per problemi al display.
Nel 1997 l'originale e unico esemplare di Galaxy Game venne riesumato e restaurato e fa ora parte del Computer History Exhibits a Stanford.

Computer Space (1971)

Nolan Bushnell, il futuro fondatore dell'Atari, rimase folgorato da Spacewar! quando lo vide girare su un computer all'Università dello Utah, verso la metà degli anni '60. Con il suo collega Ted Dabney si impegnò per realizzarne una versione commerciale che fu distribuita nel 1971 dalla Nutting Associates con il nome di Computer Space.

Sotto forma di coin-op arcade, Spacewar! fece fiasco perché il gioco era troppo complesso per l'utente occasionale. Per Busnnell il successo arrivò l'anno seguente con Atari Pong, un progetto estremamente più semplice che conquistò il grande pubblico.

Nel 1977 uscì Space Wars un altro videogioco arcade ispirato a Spacewar!, realizzato da Larry Rosenthal per la Cinematronics. Space Wars fu il primo videogioco con grafica vettoriale e rappresentò il capostipite di una generazione di videogiochi della golden age e a sua volta ispirò la creazione di un classico come Asteroids.

Spacewar! simbolo della cultura hacker

Spacewar! giocò un ruolo da protagonista nel famoso reportage giornalistico di Stewart Brand, "SPACEWAR – Fanatic Life and Symbolic Death Among the Computer Bums", che apparve sulle pagine della rivista Rolling Stone, il 7 dicembre del 1972. L'articolo descriveva l'effervescente comunità che stava nascendo attorno ai computer nella Bay Area, mettendo in relazione l'eccellenza dei laboratori di ricerca finanziati dal governo con gli ideali e la controcultura che permeava quei giovani ribelli di Stanford e dello Xerox PARC.

La fotografa di Rolling Stone, Annie Liebowitz, aveva avuto il permesso di curiosare all'interno del Laboratorio di Intelligenza Artificiale di Stanford e si era imbattuta in un gruppetto di programmatori e ricercatori che si stavano sfidando in una "battaglia spaziale intergalattica".
Brand descrisse in modo colorito quei laureandi capelloni che si accalcavano attorno al computer PDP-10, mentre digitavano freneticamente dei comandi e come poi procedevano ad affrontarsi in emozionanti duelli ai comandi delle astronavi spaziali.
Nella sua storia, più che gli aspetti tecnici, Brand sottolineava lo sfrenato divertimento dei giocatori. Le emozioni e il piacere che essi provavano era l'evidente espressione della controcultura di Spacewar!, dei computer, e dello spirito collaborativo degli hacker.

"Che siate pronti o meno, i computer stanno arrivando alla gente", Brand afferma nelle prime righe dell'articolo. "È una buona notizia, probabilmente la migliore dopo la psichedelia. Ciò che ho visto allo Stanford AI Lab è stata la scena più eccitante dai tempi dei party allucinogeni dei Merry Pranksters. I giocatori di Spacewar! erano 'fuori di testa', in un certo modo potevano essere considerati la versione hi-tech dei giovani che danzavano sotto l'effetto della droga al Trips Festival, e il computer rappresentava la loro nuova forma di LSD."

Nella retorica di Brand, i guerrieri spaziali dell'AI Lab diventarono i pionieri della controcultura. E non erano i soli. Brand condusse i suoi lettori allo Xerox PARC, dove Alan Kay illustrò nuove e incredibili tecnologie, come il suo Dynabook e ARPAnet.
E visitò anche gli uffici del Resource One, un'organizzazione che aveva come scopo quello di far uscire i computer dal contesto militare, industriale e accademico in cui erano confinati, per utilizzarli invece con finalità sociali.
Sotto questo aspetto, entrambe le realtà descritte da Stewart Brand stavano inventando una nuova cultura, collaborativa e giocosa, ed erano impegnate nel trasformare i computer in strumenti che avrebbero contribuito al miglioramento dell'intera società.

Gli hacker, scrisse, "non erano semplici tecnici ma gli esponenti di una nuova elite che stava portando avanti una rivoluzione culturale".
In 'Spacewar', Brand fuse le due visioni di 'personal computing': quella del time-sharing, con la tecnologia facile da usare dello Xerox PARC, e quella che condivideva le informazioni per scopi sociali e politici del Resource One. Realtà in apparenza molto diverse, ma che erano due facce della stessa medaglia.

Sulle pagine di Rolling Stone gli hacker erano dipinti come rock star e gli esponenti del Resource One non erano considerati degli hippies sbandati ma figure chiave nel nuovo movimento culturale che stava avvicinando i computer alla gente comune.
La tecnologia stava minando alla base un mondo burocratico e avrebbe rappresentato il motore del cambiamento. Prima che i computer si diffondessero su larga scala, Stewart Brand aveva incentivato i loro progettisti e i futuri utilizzatori a considerarli una forma di tecnologia "personale".

Questo articolo è tratto dal libro "NON È NATO IN UN GARAGE - La storia vera del personal computer".