Colossal CaveEdit
Il primo gioco di avventura, Colossal Cave Adventure, fu scritto da Will Crowther in FORTRAN sul DEC PDP-10 alla BBN nel 1975. Colossal Cave è una caccia al tesoro di base che si svolge in un analogo di Mammoth Cave. Il gioco usa un semplice parser di due parole che i successivi giochi di avventura hanno imitato. Gli utenti PDP diffusero rapidamente Colossal Cave nella loro comunità, incluso un computer della Stanford University usato da Don Woods nel 1976. Woods contattò Crowther e ricevette il suo permesso di fare una versione migliorata che si diffuse anch’essa in molti luoghi, inclusi i sistemi PDP-10 al MIT.
Zork e DungeonEdit
4.3 BSD dell’Università del Wisconsin, mentre esegue Zork e mostra il volantino introduttivo di “Dungeon”
Dave Lebling, membro del Dynamic Modelling Group (DM) al Laboratory for Computer Science del MIT, ha ricordato che dopo che Colossal Cave raggiunse il MIT, “Per un paio di settimane, decine di persone stavano giocando al gioco e si davano indizi a vicenda… Tutti ti chiedevano nel corridoio se avevi già superato il serpente”. Nella primavera del 1977, volendo giocare più giochi di questo tipo e credendo di poter migliorare Colossal Cave-Lebling, Marc Blank e Tim Anderson decisero di scriverne uno in MDL (chiamato “muddle”) sul loro PDP-10 con il sistema operativo ITS. Muddle è un sistema basato su LISP che forniva una potente manipolazione delle stringhe, così mentre i due giochi sono simili nell’uso di comandi di testo per l’input e l’esplorazione, Zork è molto più avanzato tecnicamente, permettendo comandi più lunghi e specifici. Zork utilizza anche una mappa completamente nuova che è stata progettata in più aree con le proprie storie e puzzle autoconclusivi, mentre Cave è puramente esplorativo. Mentre Colossal Cave è stato indicato come una simulazione di Mammoth Cave, Zork è stato descritto come una simulazione di Colossal Cave, ma molto più sofisticato; il Boston Globe nel 1984 ha dichiarato che “Zork aveva circa la stessa relazione con Adventure come i giochi arcade più spettacolari con la piccola luce bianca che rimbalzava attraverso il primitivo Pong”.
Nell’estate del 1977 il gioco del gruppo DM era eseguibile, sebbene solo circa la metà della sua dimensione finale di 1 MB. I membri del team, che ora si riferivano a se stessi come “imps” (“implementatori”), continuarono ad aggiungere nuove sezioni alla mappa. Il gioco inizialmente funzionava solo su ITS, ma era disponibile un port di muddle su TENEX, che gli imps adattarono per funzionare su TOPS-20 dopo che fu loro concesso un account su una macchina che lo eseguiva. Questa versione divenne ampiamente disponibile su ARPANET, e apparve una mailing list dedicata al gioco. Durante l’autunno furono aggiunte le sezioni finali, insieme al sistema di combattimento ispirato a D&D, e il gioco era essenzialmente completo. I folletti continuarono a lavorare sul gioco durante l’anno successivo, aggiungendo aree ed enigmi, con lo sviluppo principale completato nell’autunno del 1978. L’ultima aggiunta non fu fatta fino al febbraio 1979, ma lo sviluppo continuò con correzioni di bug e ritocchi, con l’ultimo rilascio su mainframe nel gennaio 1981.
La parola “Zork” è una parola senza senso, spesso usata dagli hacker del MIT come nome per qualsiasi programma non finito fino a quando non era pronto per essere installato sul sistema. Con il gioco completo, nel 1978 i folletti ribattezzarono il gioco Dungeon; a questo punto era popolare tra i giocatori. Quell’anno gli sviluppatori ricevettero una notifica da Tactical Studies Rules (TSR), gli editori di Dungeons and Dragons, che sostenevano che il gioco violasse i loro diritti d’autore, così cambiarono il nome di nuovo in Zork.
Fortran portEdit
Mentre veniva sviluppato alla DM, il codice sorgente del gioco era protetto criptando i file e patchando la copia della macchina di ITS per non permettere l’accesso alla directory contenente il codice sorgente. Un hacker del MIT modificò il sistema operativo per permettere l’accesso alla directory, copiò la directory dei sorgenti su una macchina TOPS-20 e usò un attacco brute-force per decifrare i file. Bob Supnik della Digital Equipment Corporation usò il sorgente decriptato per creare una porta Fortran IV, che permise al gioco di funzionare sul più piccolo PDP-11. Supnik rilasciò la sua versione nel gennaio 1978, che fu portata su molte piattaforme. I sorgenti per queste versioni furono presi nell’era in cui il gioco originale era ancora conosciuto come Dungeon. La versione Fortran di Dungeon era ampiamente disponibile sui DEC VAX, essendo uno degli articoli più popolari distribuiti da DECUS, e incorporava caratteristiche e cambiamenti dalla versione originale in fango. Alla fine degli anni ’80 la versione Fortran fu ampiamente riscritta per VAX Fortran e divenne pienamente compatibile con l’ultima versione MDL. Ha una battuta in più: un ingresso invalicabile al Mulino, un riferimento alla sede centrale del DEC a Maynard, nel Massachusetts. Ha anche un comando gdt (game debugging technique, un riferimento al debugger DDT) che permette al giocatore di spostare qualsiasi oggetto (compreso il giocatore) in qualsiasi stanza. L’uso di gdt richiede di rispondere a una domanda casuale che richiede una profonda conoscenza del gioco. La risposta del gioco ad una risposta sbagliata (“Una voce rimbombante dice ‘Sbagliato, cretino!’ e tu noti che ti sei trasformato in un mucchio di polvere”) appare in molti database di “biscotti della fortuna”.
La versione Fortran era anche inclusa nei supporti di distribuzione per alcuni sistemi operativi Data General. Era usata come test di accettazione per verificare che il sistema operativo fosse stato installato correttamente. Essere in grado di compilare, collegare ed eseguire il programma dimostrava che tutte le librerie di run-time, il compilatore e l’editor di link erano installati nelle posizioni corrette.
Una versione Fortran girava in un port IBM 370 nel centro atomico di Constituyentes, Argentina, intorno al 1984.
Infocom formsEdit
Nel 1979 tre dei quattro folletti originali fondarono Infocom come azienda di programmazione generale. Altri due membri del team DM, Joel Berez e Marc Blank, convinsero i fondatori che era possibile vendere Zork commercialmente sui nuovi personal computer. Tali sistemi, tuttavia, non supportavano MDL, di solito non avevano un compilatore Fortran, e usavano sistemi di floppy disk che memorizzavano circa 180 kB o addirittura usavano cassette per l’archiviazione. Berez e Blank ebbero l’idea di creare un nuovo linguaggio di programmazione per computer, “Zork Implementation Language” o “ZIL”, che sarebbe stato eseguito all’interno di una macchina virtuale conosciuta come Z-machine. La Z-machine sarebbe stata portata su varie piattaforme in gusci conosciuti come “Z-machine Interpreter Program” o ZIP. Usando il tempo in affitto su una macchina TOPS-20, costruirono il primo ZIP nel 1979.
Per risolvere il problema dello spazio di archiviazione, dapprima considerarono di usare la compressione dei dati, ma decisero di rimuovere sezioni del gioco fino a farlo stare su un floppy disk. Dave Lebling disegnò un cerchio sulla mappa di Zork in modo che contenesse circa la metà della mappa originale, circa un centinaio di luoghi tra cui tutto ciò che era in superficie e una grande sezione che circondava la Round Room. La mappa fu modificata per renderla più logica e sigillare le uscite che portavano ad aree non più esistenti.
Berez divenne il presidente della Infocom. Il nuovo gioco girava su TOPS-20 ZIP e su una nuova versione PDP-11 della Z-machine entro la fine del 1979. Scott Cutler creò una versione TRS-80 di ZIP all’inizio del 1980, e in febbraio la compagnia dimostrò Zork a Personal Software (PS), i distributori di VisiCalc e probabilmente la prima ditta di distribuzione di software per microcomputer. PS accettò di distribuire il gioco in giugno.
Inizia la vendita
Zork giocato su un computer Kaypro
PS non aveva interesse nella versione PDP-11 così Infocom mantenne i diritti di distribuzione; divenne la prima vendita ufficiale per l’azienda nel novembre 1980, quando spedì una copia su floppy da 8 pollici insieme a una versione copiata a mano del manuale. Le vendite della versione TRS-80 attraverso PS iniziarono il mese successivo, vendendo 1.500 copie nei nove mesi successivi. La versione per Apple II di Bruce Daniels iniziò le vendite nel febbraio 1981 e PS vendette 6.000 copie entro settembre.
Dopo che Zork iniziò la spedizione, Lebling iniziò a convertire la restante metà della mappa in ZIL. Fu divisa in due parti, entrambe modificate dall’originale, per essere rilasciate come Zork II e Zork III. Mentre Zork I è molto simile alla prima metà del gioco originale, i sequel sono molto diversi dalla seconda metà; per esempio, in II il giocatore non può tornare alla casa bianca. Zork II fu offerto alla PS in aprile e concesso in licenza nel giugno 1981, ma Infocom si preoccupò dell’impegno della PS nel gioco. Anche se la compagnia non lo sapeva, le vendite di VisiCalc erano così forti che PS iniziò a interrompere gli altri software per diventare VisiCorp. Infocom prese in mano la distribuzione in ottobre, rilasciando sia il rinominato Zork I che Zork II nel novembre 1981.
Nel 1982 la compagnia completò il port di Zork III e scrisse nuovi ZIP per Commodore 64, la famiglia Atari 8-bit, i sistemi CP/M, e il PC IBM. Zork III fu distribuito su tutte le piattaforme nell’autunno del 1982.