# Space Travel

Space Travel è un videogioco pioneristico sviluppato da Ken Thompson nel 1969 che simula i viaggi nel sistema solare. Il giocatore fa volare la sua navicella attorno a un modello bidimensionale in scala del sistema solare con l'obiettivo di atterrare nei vari pianeti e nelle varie lune. Il giocatore può muovere e girare la navicella e aggiustare la velocità regolando la scala della simulazione. La navicella risente della spinta gravitazionale dei singoli corpi celesti.
Il gioco è stato sviluppato ai laboratori Bell prima della nascita dell'industria dei videogame e fu esportato durante il 1969 dal sistema operativo Multics a quello GECOS, nel computer GE 635, e successivamente nel PDP-7. Come parte del trasferimento del gioco al PDP-7, Thompson sviluppò un proprio sistema operativo, che più tardi diede forma al nucleo del sistema operativo Unix. Space Travel non si diffuse mai oltre i laboratori Bell, né ebbe un effetto sui videogiochi futuri: il suo lascito principale fu la parte che esso giocò nel primo sviluppo di Unix.

## Modalità di gioco

Space Travel è simulatore di volo spaziale, presentato attraverso una visuale di gioco bidimensionale dall'alto al basso, con una grafica monocroma che consiste di linee bianche su sfondo nero. In esso, il giocatore controlla una navicella spaziale che vola attraverso una rappresentazione del sistema solare. Il gioco non ha obiettivi specifici, se non provare ad atterrare nei vari pianeti e lune del sistema. I pianeti e la maggior parte delle lune del sistema solare sono rappresentate in scala sia nella misura, sia nella distanza l'una dall'altra, sebbene le orbite siano semplificate e rappresentate come cerchi. Per atterrare in un corpo celeste, la navicella del giocatore deve attraversare la linea che rappresenta la superficie mentre si muove a una velocità sufficientemente bassa. Il giocatore è in grado di controllare la navicella per andare avanti e indietro e girare. L'astronave si muove a un livello costante di accelerazione relativo alla scala dello schermo, che il giocatore può controllare; se si ingrandisce abbastanza la prospettiva, il giocatore può viaggiare attraverso il sistema solare in pochi secondi - rischiando però di mancare il bersaglio. Se il giocatore rimpicciolisce la prospettiva, la navicella può muoversi più lentamente, permettendo un più facile atterraggio. L'astronave è sempre al centro dello schermo, rivolta verso l'alto; ruotare la navicella a destra o a sinistra, pertanto, fa ruotare il sistema solare attorno ad essa.
Ogni pianeta o luna ha una sua massa e di conseguenza una spinta gravitazionale. I pianeti non si influenzano a vicenda, e solo la spinta più forte interessa l'astronave del giocatore. Questo a volte produce effetti inaspettati; per esempio, l'effetto della gravità di Marte è molto più forte di quello della sua luna, Phobos. Questo significa che un giocatore che voglia provare ad atterrare su Phobos deve fare in modo che la navicella cada sotto la superficie della luna, fino a quando non sia abbastanza vicina al centro di Phobos, di modo che la spinta dominante diventi quella di Phobos, e a quel punto l'astronave scatta indietro per atterrare sulla superficie.
Alcuni giocatori hanno modificato il programma per cambiare le condizioni di gioco. Alcuni aumentarono la gravità e quindi la difficoltà; altri modificarono il sistema delle coordinate mostrate dal display, così che, invece di avere la navicella al centro della schermata e i pianeti che si muovono collegati ad essa, il pianeta dominante di turno era sul fondo della schermata, con l'astronave in movimento in relazione a quest'ultimo.

## Sviluppo

Nel 1969, il programmatore Ken Thompson lavorò sul sistema operativo Multics per i laboratori Bell. Durante il suo lavoro, sviluppò Space Travel su un computer GE 635. Quando i laboratori Bell si ritirarono dal progetto Multics, Thompson adattò il codice da Multics a Fortran, così che potesse funzionare sul sistema operativo GECOS, già presente nel GE 635. Thompson e altri dipendenti del laboratori Bell, come Ravi Sethi e Dennis Ritchie, provarono il gioco nel nuovo sistema. Il computer, tuttavia, funzionava su un modello di esecuzione batch, ovvero con diversi terminali informatici collegati a un computer centrale, i cui programmi dovevano essere eseguiti in successione, uno dopo l'altro. Questo determinava lunghe pause nel gioco, mentre il GE 635 lavorava sui compiti di altri terminali. La compagnia tenne traccia dell'utilizzo del computer e dei suoi costi: ogni partita costava a Bell tra i 50 e i 75 dollari in spese di utilizzo. Il gioco inoltre non funzionava così bene nel sistema GECOS come nel sistema Multics. In aggiunta, il sistema richiedeva all'utente di digitare un'istruzione piuttosto che premere i pulsanti, con il risultato che la navicella era difficile da controllare. In cerca di una soluzione migliore, Thompson inizialmente chiese ai laboratori Bell di acquistare un computer PDP-10, del costo di 120.000 dollari del tempo, con lo scopo di creare un nuovo sistema operativo; la domanda fu respinta, poiché i laboratori Bell non erano interessati a spendere soldi in un progetto di un sistema operativo dopo aver già cancellato il precedente. Thompson, tuttavia, seppe che un dipartimento vicino aveva un minicomputer PDP-7 più vecchio e meno utilizzato che avrebbe potuto riadattare.
Quando Thompson cominciò a trasportare il gioco sul nuovo sistema, decise di non basare il codice sui software esistenti per computer, ma di scriverne uno da zero. Come risultato, incrementò le sue librerie di codice base per i programmi da utilizzare, inclusi pacchetti aritmetici e sottosistemi di grafica. Questi iniziali sottosistemi erano codificati in linguaggio assembly nel sistema GECOS e quindi raggruppati e trasferiti su dei nastri perforati, leggibili dal PDP-7. Thompson in seguito elaborò un assemblatore per il PDP-7 per evitare questo processo laborioso. Il gioco funzionava molto lentamente nella nuova macchina, costringendo Thompson a creare anche un nuovo file system, basato sull'esperienza di Dennis Ritchie e Rudd Canaday con il file system di Multics, sul quale avrebbe poi fatto girare Space Travel.

## Eredità

Quando Space Travel fu interamente trasferito nel PDP-7, Thompson aveva già esteso la sua suite di software a un pieno sistema operativo di base, cosa che non aveva potuto fare con il progetto Multics e il GE 635. Il sistema operativo che aveva progettato si diffuse tra altri utenti della compagnia, e andò a costituire il nucleo di ciò che, nel 1970, sarebbe stato chiamato sistema operativo Unix. Space Travel fu uno dei primi giochi mainframe sviluppati prima della nascita dell'industria dei videogames agli albori della storia dei videogiochi, e non fu mai distribuito al di fuori dei laboratori dove fu concepito. Come risultato, non ebbe effetto nei videogiochi futuri e la sua eredità primaria fu quella che ebbe nella creazione di Unix.