Esplorando Zork, Parte 2
The Digital Antiquarian (la traduzione ufficiale italiana)



Bentrovati prodi avventurieri! Lo so, siete già tutti in trincea pronti per il tragico cenone della Vigilia, ma non è il momento di gozzovigliare... scintillanti tesori vi attendono nei perigliosi labirinti del magico Regno Sotterraneo di Zork. E a guidarci sarà, come sempre, il sapiente Antiquario Digitale. 
Armatevi di coraggio compagni, entriamo finalmente nel vivo dell'esplorazione di Zork!
 
Ma prima la lista degli articoli del ciclo Infocom:
 
Esplorando Zork, Parte 2
– Esplorando Zork, Parte 3
– Infocom: Come Cavarsela da Soli
Zork II, Parte 1
Zork II, Parte 2
– Lo Zork User Group
Zork III, Parte 1
Zork III, Parte 2
 
Posate la forchetta e afferrate la lanterna... inizia la discesa!
 
Festuceto
Oggi andremo al sodo del Grande Impero Sotterraneo di Zork, mostrato nella mappa qui sotto.
 
 
Esplorare a sud della cantina, dove eravamo rimasti, ci permette di trovare il secondo tesoro e la prima uscita dal sottosuolo; attraverso il camino del soggiorno della casa bianca possiamo trasportare esattamente due oggetti (ma non possiamo usarlo per tornare indietro: "SOLO BABBO NATALE SCENDE DAI CAMINI", ci dice il gioco, nella tipica logica dei giochi d’avventura). Nelle nostre esplorazioni troveremo altre vie d’uscita e d’ingresso, sempre più comode. E alla fine perfino l’ignoto antipatico, che continua a chiuderci la botola alle spalle, la smetterà.
 
A sud della cantina troviamo anche una seconda nota (o, meglio, un MANUALE DELL’UTENTE), che ci informa delle meraviglie di questo piccolo mondo costruito dalla Infocom.
 
>EXAMINE PAPER
 
CONGRATULATIONS!
YOU ARE THE PRIVILEGED OWNER OF A
GENUINE ZORK GREAT UNDERGROUND EMPIRE
(PART I), A SELF CONTAINED AND SELF
MAINTAINING UNIVERSE. IF USED AND
MAINTAINED IN ACCORDANCE WITH NORMAL
OPERATING PRACTICES FOR SMALL UNIVERSES,
ZORK WILL PROVIDE MANY MONTHS OF
TROUBLE-FREE OPERATION. PLEASE CHECK
WITH YOUR DEALER FOR PART II AND OTHER
ALTERNATE UNIVERSES.
 
Come la schermata del titolo che vi ho mostrato nel mio post precedente, anche questa nota ci dimostra che la Infocom a questo punto stava già progettando quantomeno uno Zork 2, anche se probabilmente doveva ancora perfezionarne il titolo. Ma, cosa ancora più interessante, ci dimostra che avevano già in mente di mettere a frutto lo ZIL e la Z-Machine su tutta una nuova linea di giochi originali. Inserendo una pubblicità di altri giochi all’interno di Zork, la Infocom ha seguito l’esempio di Scott Adams, che trovava sempre lo spazio (perfino nelle sue minuscole creazioni da 16 K) per infilare uno o due riferimenti ai suoi giochi attuali o in uscita.
 
Procedendo a nord della cantina, ci imbattiamo in una specie di tempesta perfetta.
 
>N
THE TROLL ROOM
THIS IS A SMALL ROOM WITH PASSAGES TO
THE EAST AND SOUTH AND A FORBIDDING HOLE
LEADING WEST. BLOODSTAINS AND DEEP
SCRATCHES (PERHAPS MADE BY AN AXE) MAR
THE WALLS.
A NASTY-LOOKING TROLL, BRANDISHING A
BLOODY AXE, BLOCKS ALL PASSAGES OUT OF
THE ROOM.
A SEEDY-LOOKING INDIVIDUAL WITH A LARGE
BAG JUST WANDERED THROUGH THE ROOM. ON
THE WAY THROUGH, HE QUIETLY ABSTRACTED
ALL VALUABLES FROM THE ROOM AND FROM
YOUR POSSESSION, MUMBLING SOMETHING
ABOUT "DOING UNTO OTHERS BEFORE.."
THE TROLL'S MIGHTY BLOW DROPS YOU TO
YOUR KNEES.
THE THIEF SLOWLY APPROACHES, STRIKES
LIKE A SNAKE, AND LEAVES YOU WOUNDED.
>KILL TROLL WITH SWORD
I CAN'T SEE ANY SWORD HERE.
>KILL TROLL WITH KNIFE
A GOOD STROKE, BUT IT'S TOO SLOW, THE
TROLL DODGES.
THE TROLL'S AXE REMOVES YOUR HEAD.
IT APPEARS THAT THAT LAST BLOW WAS TOO
MUCH FOR YOU. I'M AFRAID YOU ARE DEAD.
 
**** YOU HAVE DIED ****
 
Qui è accaduto che abbiamo incontrato contemporaneamente due degli abitanti del sottosuolo: il troll e il ladro. Il primo staziona sempre in questa stanza, mentre il secondo è la risposta di Zork al pirata e ai nani di Adventure; è insomma un "mostro errante" in pieno stile Dungeons and Dragons. Vaga per il sottosuolo e non solo a volte ci punzecchia con il suo stiletto, ma (peggio) si impossessa di oggetti che potremmo aver lasciato in giro pensando di metterli al sicuro, per poi disseminarli a caso. Peggio ancora, si prende i tesori per sé, nascondendoli (ma su questo ritornerà più avanti). E, peggio di ogni altra cosa, è anche ben lieto di rubarvi le cose che state trasportando. Sciagura per quell’avventuriero che egli lascerà al buio senza la sua fedele lampada! Nel caso qui sopra, il ladro ci ha rubato la nostra spada proprio quando ci serviva per combattere contro di lui e contro il troll, lasciandoci con il ben meno efficace coltello. Potete immaginare come sia finita.
 
Il merito (o il demerito) per il sistema di combattimento va a Lebling:
 
Dave, giocatore di Dungeons and Dragons di lunga data, non apprezzava il modo completamente prevedibile con cui si uccidevano le creature. Nel gioco originale, per esempio, si poteva uccidere il troll semplicemente lanciandogli il coltello: lui lo raccoglieva e lo mangiava di gusto (come qualunque altra cosa che gli viene tirata), ma in conseguenza di ciò moriva di emorragia. In sostanza, Dave aggiunse tutta la complessità di un combattimento in stile D&D, con efficacie diverse per le armi, con le ferite, con gli stati di incoscienza e la morte. Ogni creatura ha i suoi messaggi e quindi un combattimento con il ladro (che usa uno stiletto) risulta molto diverso da un combattimento contro il troll e la sua ascia.
 
Il pericolo di tutto questo dinamismo e di questi comportamenti emergenti, è che possono condurre a situazioni simili a quella che ci è accaduta qui, dove il giocatore viene ucciso in modo capriccioso, senza aver mai avuto una vera possibilità di farcela. I giocatori di Eamon non sembrano aver mai avuto problemi con questa impostazione, ma è una cosa che poco si addice alla Infocom. E infatti nei giochi successivi si terranno ben alla larga dal combattimento casuale, una tendenza che sarà poi presa a cuore anche dalla moderna community dell’interactive fiction. Il simbolo principale di questa strada, poi abbandonata dal canone della Infocom, è il verbo "DIAGNOSE", introdotto in Zork per dare al giocatore un veloce resoconto delle sue attuali ferite e che è rimasto anche nei giochi successivi come una stranezza inutile, che solitamente restituiva risposte generiche. Vale la pena aggiungere infatti che "DIAGNOSE" è anche l’unico verbo standard del sistema della Infocom che non è stato adottato nei moderni linguaggi di interactive fiction, come Inform e TADS.
 
In ogni caso, ricarichiamo un paio di volte, facciamo girare la fortuna con i nostri tiri di dado, uccidiamo il troll, ed evitiamo il ladro, e ci spostiamo nell’area del bacino idrico e, da lì, alla Flood Control Dam #3, uno dei luoghi storici più memorabili di Zork. Le descrizioni piuttosto sobrie del maestoso edificio abbandonato sono in netto contrasto con la stupidità del manuale di istruzioni che troviamo all’interno.
 
>EXAMINE GUIDEBOOK
"FLOOD CONTROL DAM #3
FCD#3 WAS CONSTRUCTED IN YEAR 783 OF
THE GREAT UNDERGROUND EMPIRE TO HARNESS
THE MIGHTY FRIGID RIVER. THIS WORK WAS
SUPPORTED BY A GRANT OF 37 MILLION
ZORKMIDS FROM YOUR OMNIPOTENT LOCAL
TYRANT LORD DIMWIT FLATHEAD THE
EXCESSIVE. THIS IMPRESSIVE STRUCTURE IS
COMPOSED OF 370,000 CUBIC FEET OF
CONCRETE, IS 256 FEET TALL AT THE
CENTER, AND 193 FEET WIDE AT THE TOP.
THE LAKE CREATED BEHIND THE DAM HAS A
VOLUME OF 1.7 BILLION CUBIC FEET, AN
AREA OF 12 MILLION SQUARE FEET, AND A
SHORE LINE OF 36 THOUSAND FEET.
WE WILL NOW POINT OUT SOME OF THE MORE
INTERESTING FEATURES OF FCD#3 AS WE
CONDUCT YOU ON A GUIDED TOUR OF THE
FACILITIES:
1) YOU START YOUR TOUR HERE IN
THE DAM LOBBY. YOU WILL NOTICE ON
YOUR RIGHT THAT .........
 
Gran parte del valore letterario di Zork, che emerge piuttosto distintamente nonostante il numero relativamente limitato di parole (quelle che ho citato qui sono in sostanza le descrizioni più lunghe del gioco), deriva proprio dalla contrapposizione fra una melanconica gloria sbiadita e una certa impudente stupidità. Lascio a voi stabilire se si tratta di una precisa scelta estetica o del risultato accidentale dell’avere troppi cuochi (scrittori) in cucina. In ogni caso, troviamo un altro esempio lampante di questa stupidità già nella stanza di manutenzione della diga.
 
>N
MAINTENANCE ROOM
THIS IS WHAT APPEARS TO HAVE BEEN THE
MAINTENANCE ROOM FOR FLOOD CONTROL DAM
#3. APPARENTLY, THIS ROOM HAS BEEN
RANSACKED RECENTLY, FOR MOST OF THE
VALUABLE EQUIPMENT IS GONE. ON THE WALL
IN FRONT OF YOU IS A GROUP OF BUTTONS,
WHICH ARE LABELLED IN EBCDIC. HOWEVER,
THEY ARE OF DIFFERENT COLORS: BLUE,
YELLOW, BROWN, AND RED. THE DOORS TO
THIS ROOM ARE IN THE WEST AND SOUTH
ENDS.
THERE IS A GROUP OF TOOL CHESTS HERE.
THERE IS A WRENCH HERE.
THERE IS AN OBJECT WHICH LOOKS LIKE A
TUBE OF TOOTHPASTE HERE.
THERE IS A SCREWDRIVER HERE.
 
Il riferimento "all'EBCDIC" è umorismo da hacker che, a seconda del vostro background, potrebbe richiedere una spiegazione. All’inizio degli anni ‘60 la maggior parte dei costruttori di computer trovò un accordo su una cosa chiamata ASCII ("American Standard Code for Information Interchange"), da utilizzare come sistema per codificare i caratteri testuali su computer. Poiché, stringi stringi, i computer comprendono solo numeri, l’ASCII è essenzialmente una tabella che il computer usa per sapere che, quando incontra ad esempio il numero 65 in un file testuale, al suo posto, deve visualizzare il carattere "A". Uno standard era necessario per far sì che i computer di marche e modelli diversi potessero scambiarsi fra di loro con facilità delle informazioni testuali. Proprio quando tutti si erano accordati sull’ASCII, risolvendo così una questione piuttosto annosa, la IBM decise di colpo di abbandonare tale standard sui propri mainframe in favore di una cosa chiamata EBCDIC ("Extended Binary-Coded Decimal Interchange Code"). La ragione per cui lo fecero (almeno secondo gli hacker della DEC), fu un tentativo deliberato di rendere le proprie macchine incapaci di scambiare dati con le macchine di altri produttori, credendo così di inchiodare i consumatori ai prodotti IBM per qualunque loro necessità. A peggiorare ancora le cose c’era il fatto che l’EBCDIC era semplicemente peggiore dell’ASCII. In ASCII la "A" precede numericamente la "B", la quale precede la "C", e così via; nell’EBCDIC ad ogni lettera è assegnato un numero a casaccio, senza nessuna apparente ragione logica. Questo fa sì che fare un looping dell’alfabeto (uno scenario che capita abbastanza spesso in programmazione) sia molto più difficile di quanto non dovrebbe. E poi c’era l’abitudine della IBM di ritoccare costantemente l’EBCDIC, rendendolo perfino incompatibile con sé stesso nelle varie versioni. Nonostante questo, sopravvive ancora oggi sui grandi mainframe. Fra gli hacker, l’EBCDIC è diventato il simbolo di un linguaggio incomprensibile o privo di senso, l’equivalente per gli hacker di dire (con le mie scuse per chi parla cinese): "Per me è cinese!". Quindi, per far breve una spiegazione già abbastanza lunga, è questa la ragione per cui i bottoni della diga sono in EBCDIC.
 
Alla diga risolviamo un enigma piuttosto arguto per regolare il livello dell’acqua sui due lati, aprendo così all’esplorazione il fiume e la parte settentrionale del sottosuolo. Prima di farlo, però, daremo un’occhiata al tempio a sudest. Rinveniamo una torcia d’avorio che, oltre ad essere uno dei tesori, funge anche da fonte di luce inesauribile. Questo gesto di clemenza è persino più apprezzato delle batterie extra che troviamo in Adventure, tanto più che usarla non ci costa dei punti. Dobbiamo solo assicurarci di conservare la lanterna quanto basta per attraversare la miniera di carbone, di cui parlerò meglio tra poco.  
 
Lo scettro, un tesoro che troviamo sotto il tempio, nella "STANZA EGIZIANA", è il cuore del primo enigma davvero cattivo del gioco. Il gioco si aspetta che lo portiamo all’arcobaleno all’esterno e lo agitiamo per rivelare il classico calderone d’oro.
 
>WAVE SCEPTRE
SUDDENLY, THE RAINBOW APPEARS TO BECOME
SOLID AND, I VENTURE, WALKABLE (I THINK
THE GIVEAWAY WAS THE STAIRS AND
BANNISTER).
>E
ON THE RAINBOW
YOU ARE ON TOP OF A RAINBOW (I BET YOU
NEVER THOUGHT YOU WOULD WALK ON A
RAINBOW), WITH A MAGNIFICENT VIEW OF THE
FALLS. THE RAINBOW TRAVELS EAST-WEST
HERE.
 
Se avete giocato qualche avventura testuale, già vi aspettavate di poter camminare su quell’arcobaleno. La vera domanda è come avreste potuto fare a intuire che il modo giusto per farlo era proprio quello. L’unico vero indizio è esterno al gioco: in Adventure c’era una verga che si poteva agitare per attraversare un simile precipizio (seppur senza arcobaleno). Ecco che abbiamo un altro punto in cui Zork sembra semplicemente presupporre una precedente conoscenza di Adventure, per quanto (pur avendo una tale conoscenza) risolvere questo enigma richiedeva comunque una bella intuizione.  
 
Dopo aver esplorato la zona al di là dell’arcobaleno, torniamo sottoterra e dopo un po’ ci ritroviamo… nell’Ade.
 
>D
ENTRANCE TO HADES
YOU ARE OUTSIDE A LARGE GATEWAY, ON
WHICH IS INSCRIBED
"ABANDON EVERY HOPE, ALL YE WHO
ENTER HERE."
THE GATE IS OPEN; THROUGH IT YOU CAN SEE
A DESOLATION, WITH A PILE OF MANGLED
BODIES IN ONE CORNER. THOUSANDS OF
VOICES, LAMENTING SOME HIDEOUS FATE, CAN
BE HEARD.
THE WAY THROUGH THE GATE IS BARRED BY
EVIL SPIRITS, WHO JEER AT YOUR ATTEMPTS
TO PASS.
 
Quella sensazione "di tutto un po'" che caratterizzava l’originale Zork per PDP-10 appare anche qui. Accanto alla mitologia originale che ritroviamo in Lord Dimwit Flathead, negli zorkmid, e nella Flood Control Dam #3, abbiamo l’Ade della Mitologia Greca, con tanto di parafrasi dantesca (ma a dire il vero nel complesso sembra più l’inferno cristiano che l’Ade della mitologia; e il suo tono cupo è l’ennesimo contrasto con altre sezioni più scherzose). Presto incontreremo anche una miniera di carbone americana del diciannovesimo secolo e dei ciclopi terrorizzati da Ulisse. E abbiamo già visitato (e saccheggiato) la tomba di Ramses II! Ovviamente nell’Ade c’è anche un enigma da risolvere, ma quello lo lascio a voi. Dopodiché torneremo nei pressi della diga, per un’escursione lungo il fiume.
 
Tutta la sezione del Fiume Frigido è opera di  Marc Blank, che l’aggiunse all’inizio dello sviluppo di Zork. Al centro di questa sezione del gioco c’è l’imbarcazione gonfiabile che usiamo per navigarlo. Questa implementazione di un veicolo è indiscutibilmente il primo punto dove i creatori di Zork hanno davvero mostrato la volontà di andare oltre l’ispirazione di Adventure, creando uno "storyworld" molto più complesso e credibile. Ed è stata anche l’occasione per apprendere alcune dure lezioni di game designing. Tim Anderson:
 
Nel gioco originale c’erano delle stanze, degli oggetti, e un giocatore; il giocatore esisteva sempre all’interno di una stanza. I veicoli erano degli oggetti che, a tutti gli effetti, erano delle stanze mobili. Questo richiese dei cambiamenti nelle interazioni (sempre delicatissime) fra i verbi, gli oggetti, e le stanze (dovevamo infatti trovare un modo per far fare a "cammina" qualcosa di accettabile mentre il giocatore era nella barca). In più, gli intraprendenti giocatori di Zork provarono a usare la barca in tutti i posti dove credevano di poterlo fare. Il codice della barca non era però pensato per funzionare al di fuori della sezione del fiume, ma non c’era niente che impediva al giocatore di trasportare l’imbarcazione gonfiabile fino alla riserva idrica per tentare di attraversarla. Alla fine si consentì di usare la barca nella riserva idrica, ma restava il problema generale: tutto quel che cambia il mondo che si sta modellando, in pratica, cambia anche tutto ciò che si trova all’interno del mondo che si sta modellando.
 
Anche se Zork allora aveva solo un mese di vita, riusciva già a sorprendere i suoi autori. L’imbarcazione, per come era stata implementata, si trasformò in una sorta di "borsa conservante": in pratica i giocatori potevano metterci dentro di tutto e portarselo in giro, anche se il peso degli oggetti ivi contenuti eccedeva di molto la capacità del giocatore di trasportarli. La barca era due oggetti distinti: l’oggetto "barca gonfia" conteneva gli oggetti, ma il giocatore trasportava con sé l’oggetto “barca sgonfia”. Noi eravamo all’oscuro di questo aspetto, finché qualcuno alla fine non lo segnalò come bug. Per quanto ne so, il bug c’è ancora.
 
Personalmente non sono riuscito a riprodurre questo bug nella prima implementazione per Apple II.  Ma quello che mi dispiace ancora di più è che una borsa conservante mi sarebbe stata davvero utile in questo gioco.
(Aggiornamento: Sembrerebbe che il bug ci sia ancora. Sono io a non essere stato abbastanza scaltro da saperlo sfruttare. Leggete il commento di Nathan per i dettagli.)
 
[riportiamo di seguito la traduzione del commento dell'utente Nathan sul bug della barca; ndFestuceto]
 
Sono riuscito a riprodurre senza problemi il bug della "borsa conservante" nella release 15. Si deve raggruppare una serie di cose tutte insieme in un unico posto, più di quelle che si possono trasportare contemporaneamente. Poi se ne mette un po’ nella zattera, si sgonfia, quindi si raccoglie l’ammasso di plastica e il resto della propria roba. Ricordatevi però di non mettere per sbaglio la pompa nella zattera; a me è successo la prima volta! Se ricordo bene, si deve anche evitare di metterci dentro qualcosa che possa forare la zattera, come la spada o la torcia.
 
Dopo il Fiume Frigido, che scopriamo essere connesso con le location antistanti le Cascate Aragain, esploriamo la zona a nord della riserva. La miniera di carbone nasce come conseguenza della richiesta degli altri membri del team di Zork che avevano chiesto a Bruce Daniels una "sezione particolarmente cattiva”. La sua risposta inizialmente prevedeva un gigantesco labirinto simile all’altro gigantesco labirinto di Zork (di cui vi parlerò nel prossimo post). Il team però decise che, quando è troppo è troppo, e lo ridusse al numero ben più gestibile di sole quattro stanze. Nonostante questo, Tim Anderson lo citerà in seguito ugualmente come un "esempio di come si possono rendere le cose difficili, rendendole noiose". Nonostante questo, la miniera di carbone nella sua conformazione definitiva non è poi così "cattiva". Ha degli enigmi un po’ subdoli ma risolvibili, purché non si sia così stupidi da portare al suo interno una fiamma viva (es. la torcia). Una delle cose che si ottengono alla fine è un diamante (in un’altra delle interviste selezionate per Get LampDavid Welbourn osserva che in tutte le miniere di carbone dei giochi d’avventura sembra esserci un diamante. Se solo fosse così anche nella vita reale...)
 
Se escludiamo l’area del labirinto a ovest, adesso abbiamo esplorato tutta la zona sotterranea e ne abbiamo risolto tutti gli enigmi, escluso uno. Dobbiamo ancora occuparci della "LOUD ROOM".
 
>D
LOUD ROOM
THIS IS A LARGE ROOM WITH A CEILING
WHICH CANNOT BE DETECTED FROM THE
GROUND. THERE IS A NARROW PASSAGE FROM
EAST TO WEST AND A STONE STAIRWAY
LEADING UPWARD. THE ROOM IS DEAFENINGLY
LOUD WITH AN UNDETERMINED RUSHING SOUND.
THE SOUND SEEMS TO REVERBERATE FROM ALL
OF THE WALLS, MAKING IT DIFFICULT EVEN
TO THINK.
ON THE GROUND IS A LARGE PLATINUM BAR.
>GET BAR
BAR BAR ...
>BAR BAR
BAR BAR ...
>GET BAR BAR
BAR BAR ...
>L
L L ...
>LOOK
LOOK LOOK ...
 
Questa stanza sembra una sorta di ritorno al passato, a giochi più primitivi che erano costretti, dai parser a due parole e dai modelli limitati di mondo, a rimpiazzare degli enigmi ambientali relativamente sofisticati con un gameplay basato sull’indovinare la parola giusta. Il team di Zork invece voleva esplicitamente fin dall’inizio evitare le trappole dei primi parser, con la loro frustrante non specificità. Blank, parlando di Adventure: "Ci infastidiva davvero che se dicevi ‘prendi uccello’, il gioco metteva l’uccello nella gabbia al posto tuo; era un po’ come se facesse le cose alle nostre spalle." È per questa ragione che questo enigma e la sua soluzione ("ECO") appare un po’ come il tradimento di una specie di ideale.  
 
Ma le frustrazioni generate da questo enigma sono niente rispetto a quelle del labirinto, uno dei più vasti e difficili del suo genere nella storia delle avventure testuali. Nel prossimo post affronteremo questo mostro e andremo a finire il gioco.

The Digital Antiquarian è un blog, scritto da Jimmy Maher, che si occupa di storia e di cultura del videogioco partendo dall'analisi di singoli videogiochi. OldGamesItalia è lieta di presentarvi la traduzione italiana, autorizzata dall'autore!
Se anche voi apprezzerete questo interessantissimo blog, non mancate di visitare la pagina ufficiale (in lingua inglese) e di sostenerlo tramite Patreon.

Traduzione a cura di: The Ancient One
Editing a cura di: Festuceto


Consulta l'indice per leggere gli articoli precedenti

Visita il sito ufficiale di The Digital Antiquarian
Discutiamone insieme sul forum di OldGamesItalia!

 

La Nascita di Infocom
The Digital Antiquarian (la traduzione ufficiale italiana)

Ormai persino i lettori più distratti avranno capito cosa bolle in pentola, quale segreto si annida tra le pagine polverose di OldGamesItalia. Dopo la gloriosa traduzione di Zork I - The Great Undreground Empire, è in cantiere la localizzazione del secondo capitolo della fortunata trilogia di Infocom.
E quale modo migliore di celebrarne la pubblicazione che pubblicare gli articoli del nostro Antiquario Digitale dedicati proprio alla genesi di Zork e di Infocom? Ed è per l'appunto dell'effettiva nascita di questa mitica azienda di videogiochi, agli albori dell'era dei microcomputer, che tratterà l'articolo di oggi.
 
Ma prima, l'immancabile indice degli articoli del ciclo Infocom:
 
La Nascita della Infocom
ZIL e la Z-Machine
Come Vendemmo Zork
Giochi a Parser
Esplorando Zork, Parte 1
Esplorando Zork, Parte 2
Esplorando Zork, Parte 3
Infocom: Come Cavarsela da Soli
Zork II, Parte 1
Zork II, Parte 2
Lo Zork User Group
Zork III, Parte 1
Zork III, Parte 2
 
Buona lettura avventurieri... e portate le lanterne!
 
Festuceto
 
Mentre il Dynamic Modeling Group completava gli ultimi ritocchi su Zork e finalmente se ne congedava, al MIT si iniziava ad avvertire la fine di un’era. Marc Blank stava per laurearsi in medicina e stava per iniziare il suo internato a Pittsburgh, cosa che avrebbe reso impossibile continuare la sua opera di "hackeraggio" intensivo al MIT, nonostante le sue capacità apparentemente sovrumane. Altri ancora stavano ultimando i loro programmi di laurea al MIT, oppure (a forza di attardarsi all'università) stavano esaurendo le giustificazioni per ritardare ancora l'inizio delle loro “vere” carriere, con dei veri stipendi. Stava insomma per iniziare un esodo generazionale, non solo dal Dynamic Modeling Group ma proprio dal Laboratory for Computer e dall'AI Lab del MIT in generale. Le pressioni del mondo esterno avevano infine fatto breccia nell'utopia hacker del MIT, pressioni che negli anni immediatamente successivi, l'avrebbero cambiato per sempre. Gran parte di questo cambiamento originò però dall'invenzione dei microcomputer.
 
La maggior parte di coloro che frequentava gli ambienti dell’hacking istituzionale, tipo il MIT, all’inizio non era particolarmente entusiasta di quella che veniva chiamata la rivoluzione dei PC. Il che non deve sorprenderci. Quei primi microcomputer erano delle macchine con limiti assurdi. Gli “hacker casalinghi” che le comprarono (spesso costruendosele da soli) erano eccitati dalla semplice idea di avere accesso illimitato a un qualcosa che, almeno lontanamente, rispondesse alla definizione di “computer”. Invece i privilegiati che occupavano un posto in un’istituzione tipo il MIT, non solo avevano accesso illimitato (o quasi) ai suoi sistemi, ma tali sistemi erano anche abbastanza potenti da poter farci davvero qualcosa. Che fascino poteva avere un Altair o anche un TRS-80 in confronto ai sofisticati sistemi operativi come il TOPS-10 o il TOPS-20 o l’Incompatible Timesharing System, con linguaggi di programmazione ben strutturati come il LISP e l’MDL, con ricerche nei campi dell’intelligenza artificiale e del linguaggio naturale, e che avevano perfino dei giochi in rete come Maze, Trivia [il gioco a quiz di cui abbiamo già parlato; ndAncient] e, ovviamente, Zork? Il mondo dei microcomputer ai loro occhi doveva sembrare irrimediabilmente privo di cultura e di educazione, privo di quella vera tradizione di hacking che ormai affondava le sue radici in oltre venti anni di esperienza. Come si poteva pensare di scrivere dei programmi complessi usando il BASIC? Quando molti degli hacker istituzionali si degnarono di accorgersi delle nuove macchine, fu con atteggiamento sprezzante; Stu Galley decretò che il motto non ufficiale del Dynamic Modeling Group diventasse: “Noi odiamo i micro!”. Consideravano i microcomputer come poco più che dei giocattoli, che del resto era grossomodo la reazione avuta da gran parte della popolazione.
 
Già nella primavera del 1979, tuttavia, stava diventando via via più chiaro, a tutti coloro che volevano vederlo, che quelle piccole macchine avevano i loro usi. WordStar, il primo word processor per microcomputer davvero utilizzabile, era disponibile già da un anno, e stava portando sempre più macchine basate sul CP/M negli uffici e perfino negli studi degli scrittori. Alla West Coast Computer Faire di quel maggio, Dan Bricklin mostrò pubblicamente per la prima volta VisiCalc, il primo foglio elettronico del mondo, che avrebbe rivoluzionato la contabilità e la progettazione finanziaria. “Come hai potuto fare senza?”, chiedeva la prima pubblicità che ne anticipava la pubblicazione, con un'iperbole che (fu subito chiaro) si sarebbe rivelata assai preveggente; qualche anno più tardi, milioni di persone si chiederanno esattamente la stessa cosa. A differenza di WordStar e perfino di AdventureLand di Scott Adams, VisiCalc non era una versione più limitata di un concept sviluppato sui computer istituzionali e poi implementato sull’hardware dei microcomputer. Esso era stato concepito, progettato, e implementato interamente sull’Apple II; la prima idea autenticamente nuova nata su un microcomputer, il simbolo di un imminente cambio della guardia.
 
I microcomputer portarono molti, molti più utenti nel mondo dei computer di quanti non ce ne fossero mai stati. Il che portò molti più investimenti privati nel settore, guidati da una nuova realtà: con questa roba si potevano fare soldi veri. E questa consapevolezza portò dei grandi cambiamenti al MIT e nelle altre istituzioni di hacking “puro”. È (tristemente) famosa la spaccatura in due che avvenne durante l’inverno e la primavera del 1979 all’interno dell’AI Lab in seguito alla disputa fra Richard Greenblatt (che sostanzialmente all’interno del MIT era il decano della tradizionale etica degli hacker) e un più pragmatico amministratore di nome Russell Noftsker. Insieme a un piccolo team di altri hacker e di ingegneri informatici, Greenblatt aveva sviluppato un piccolo computer a utente singolo, una sorta di “boutique micro”, il primo di quelle che sarebbero poi state chiamate “workstation”, ottimizzato per far girare il LISP. Credendo che il progetto potesse avere un vero potenziale commerciale, Noftsker avvicinò Greenblatt con la proposta di creare una società che lo producesse. Greenblatt inizialmente si disse d’accordo, ma ben presto si dimostrò (almeno dal punto di vista di Noftsker)  indisponibile a sacrificare anche il più piccolo dei principi degli hacker dinanzi alla realtà degli affari. I due si lasciarono in malo modo, con Noftsker che portò con sé gran parte dell’AI Lab per implementare il concept originale di Greenblatt attraverso la Symbolics, Inc. Sentendosi disilluso e tradito, alla fine anche Greenblatt se ne andò, per formare una sua società, di minor successo, la Lisp Machines.
 
Non è che nessuno del MIT, prima di allora, avesse mai fondato una società, né che il commercio non si sia mai mischiato con l’idealismo di quegli hacker. Gli stessi fondatori della DEC, Ken Olson e Harlan Anderson, erano stati due allievi del MIT, che nella metà degli anni ‘50 si erano occupati, come studenti, del progetto di base di quella che sarebbe poi diventata la prima macchina della DEC, il PDP-1. Da allora il MIT ha sempre mantenuto una relazione privilegiata con la DEC, testando il loro hardware e, cosa ancora più importante, sviluppando del software estremamente essenziale per le macchine della società; una relazione che era (a seconda di come la si guarda) o una miniera d’oro per gli hacker che dava loro continuo accesso alle ultime tecnologie, oppure un brillante piano della DEC per mettere al proprio servizio alcune delle menti migliori dell’informatica di quella generazione senza pagare loro un centesimo. Nonostante questo, ciò che stava accadendo al MIT nel 1979 sembrava qualitativamente diverso. Questi hacker erano quasi tutti programmatori di software, dopotutto, e il mercato dei microcomputer stava dimostrando che adesso era possibile vendere autonomamente il software, in opere preconfezionate, proprio come avviene con un disco o con un libro. Un uomo saggio una volta ha detto: “il denaro cambia tutto”. Molti hacker del MIT erano eccitati all’idea del possibile lucro, come risulta evidente dal fatto che i più scelsero di seguire Noftsker fuori dall’università, piuttosto che l’idealistico Greenblatt. Solo una manciata di loro, come Marvin Minsky e il cocciutissimo Richard Stallman, restarono indietro e continuarono a seguire fedelmente la vecchia etica degli hacker.
 
I fondatori della Infocom non erano fra gli irriducibili. Come si intuisce già dal loro gesto di aggiungere una protezione (oggi suona quasi ridicolo scriverlo) all’Incompatible Timesharing System per proteggere il codice sorgente del loro Zork (una cosa che avrebbe fatto innalzare le urla di protesta di Stallman almeno su due diversi livelli), la loro devozione all’etica degli hacker era quantomeno negoziabile. E infatti Al Vezza e il Dynamic Modeling Group stavano rimuginando su possibili applicazioni commerciali per le creazioni del gruppo già dal 1976. Alla fine del semestre primaverile del 1979, tuttavia, sembrò palese che se questa versione del Dynamic Modeling Group (sul punto di sparpagliarsi ai proverbiali quattro venti) voleva fare qualcosa di commerciale, quello era il momento giusto per iniziare. E del resto molti altri al MIT stavano facendo la stessa identica cosa, no? Non aveva senso restare da soli in un laboratorio vuoto, come accadde letteralmente al povero Richard Stallman. In ogni caso, era così che Al Vezza vedeva la situazione e i colleghi da lui diretti (ansiosi di restare connessi e tutt’altro che contrari all’idea di aumentare i propri modesti stipendi universitari) accettarono di buon grado.
 
E così la Infocom venne ufficialmente fondata il 22 Giugno 1979, con dieci azionisti. Fra questi c’erano tre dei quattro hacker che avevano lavorato a Zork:  Tim Anderson, Dave Lebling, e Marc Blank (appena diventato dottore e già pendolare dal suo internato medico a Pittsburgh). Insieme a loro c’erano anche altri cinque membri (attuali o passati) del Dynamic Modeling Group: Mike Broos, Scott Cutler, Stu Galley, Joel Berez, Chris Reeve. E poi c’era lo stesso Vezza e anche Licklider, che accettò di unirsi al gruppo in una sorta di ruolo di consigliere, lo stesso che aveva rivestito al Dynamic Modeling Group del MIT. Oguno di loro raggranellò ogni finanziamento che poteva ottenere, da 400 $ fino a 2.000 $, e in cambio ricevette una proporzionale quota di azioni della nuova società. I fondi iniziali ammontavano a 11.500 $. Il nome della società era inevitabilmente vago, tanto più se consideriamo che nessuno sapeva cosa avrebbe prodotto quella società (se mai avesse prodotto qualcosa). Le parole composte da due termini troncati e vagamente futuristici erano estremamente in voga fra le società tecnologiche dell’epoca (Microsoft, CompuWare, EduWare) e la Infocom seguì la tendenza, scegliendo il nome su cui “tutti avevano meno obiezioni”.
 
 
Come dovrebbe essere chiaro da quanto sopra, non si può certo dire che la Infocom iniziò sotto i migliori auspici. La definirei una “startup da garage”, se non fosse che loro non avevano nemmeno un garage. Per alcuni mesi la Infocom esistette più come una società astratta sospesa in un limbo, che come una vera impresa in affari. Non ebbe nemmeno il suo primo indirizzo postale (una cassetta postale) fino al Marzo del 1980. Inutile dire che nei mesi successivi nessuno dei soci stava lasciando il proprio lavoro, mentre, di tanto in tanto, si incontravano per discutere il da farsi. Ad agosto, Mike Broos si era già stancato dell’andazzo e uscì dal progetto, lasciando quindi nove soci. Tutti furono concordi sul fatto che avevano bisogno di qualcosa da pubblicare in modo relativamente veloce, per far decollare la società. Solo allora sarebbero potuti seguire dei progetti più ambiziosi. Il problema era cosa avrebbero potuto fare per quel loro primo progetto.
 
Gli hacker passarono in rassegna i loro vecchi progetti del MIT, in cerca di idee. Continuavano a tornare sui giochi. C’era quel gioco a quiz, ma sarebbe stato difficile inserire abbastanza domande su un singolo floppy disk per dare un senso alla cosa. Più intrigante era il gioco chiamato Maze. I giochi arcade erano esplosi in quegli anni. Se la Infocom avesse potuto creare una versione di Maze per i cabinati, avrebbero avuto un qualcosa di unico, senza precedenti. Per farlo però sarebbe stato necessario un progetto ingegneristico enorme, sul lato hardware oltre che su quello software. I soci della Infocom erano tutti in gamba, ma erano tutti hacker di software e non di hardware, e di soldi ce n’erano ben pochi. E poi, ovviamente, c’era Zork… ma non c’era nessun modo di infilare un gioco d’avventura da 1 MB in un microcomputer da 32 K o 48 K. E poi ad Al Vezza non piaceva affatto l’idea di entrare nel settore dei giochi, perché temeva che ciò avrebbe potuto compromettere il nome della compagnia, anche se si fosse trattato solo di accumulare dei fondi iniziali per avviare le attività. E così ci furono abbondanti discussioni su altre idee, più legate al mondo degli affari, sempre tratte dalla storia dei progetti del Dynamic Modeling Group: un sistema di indicizzazione dei documenti, un sistema di email, un sistema di elaborazione testi.
 
Nel frattempo, Blank viveva a Pittsburgh ed era piuttosto scontento di ritrovarsi tagliato fuori dai vecchi tempi dell’hacking al MIT. Per fortuna aveva almeno una vecchia connessione con il MIT: Joel Berez, che prima della laurea nel 1977 aveva lavorato al Dynamic Modeling Group. Egli aveva trascorso gli ultimi due anni a Pittsburgh, lavorando nella ditta di famiglia (esperienza che forse convinse gli altri a nominarlo Presidente della Infocom nel 1979). Blank e Berez presero l’abitudine di ritrovarsi insieme per mangiare cinese (alimento alla base della dieta di ogni hacker) e per rimembrare i vecchi tempi. E tutte quelle loro conversazioni continuavano a ritornare su Zork. Era davvero impossibile immaginarsi di portare il gioco su microcomputer? In poco tempo le conversazioni passarono dal nostalgico al tecnico. Ma, come iniziarono a parlare delle questioni tecniche, si affacciarono altre sfide, anche al di là della mera capacità computazionale dei microcomputer.
 
Se anche avessero potuto in qualche modo portare Zork su microcomputer, quale avrebbero scelto? Il TRS-80 era di gran lunga quello più venduto, ma l’Apple II (la Cadillac della trinità del 1977) stava iniziando a guadagnare terreno, grazie all’aiuto del nuovo modello II Plus e di VisiCalc. Ma l’anno prossimo, e quello dopo ancora… chi poteva dirlo? E poi tutte queste macchine erano irrimediabilmente incompatibili l’una con le altre, il che significava che per raggiungere le diverse piattaforme sarebbe stato necessario implementare Zork (e ogni altro futuro gioco d’avventura si decidesse di sviluppare) di nuovo, ogni volta, su ciascuna di tali macchine. Blank e Berez si misero alla ricerca di un linguaggio di alto livello, che fosse abbastanza portabile e adeguato per implementare un nuovo Zork, ma non ne trovarono. Il BASIC era... beh, era il BASIC, e non era nemmeno particolarmente uniforme da microcomputer a microcomputer. All’orizzonte c’era una nuova, promettente implementazione di un più portabile Pascal per Apple II, ma non si parlava di nulla di simile per le altre piattaforme.
 
E così, se volevano essere in grado di vendere il proprio gioco a tutto il mercato dei microcomputer, anziché solo a una fetta dello stesso, si sarebbero dovuti inventare un sistema di gestione dei dati che fosse facilmente portabile, che potesse essere fatto funzionare su differenti microcomputer attraverso un interprete appositamente scritto per ogni modello. Ovviamente creare ogni singolo interprete sarebbe stato impegnativo, ma sarebbe comunque stato uno sforzo più modesto e, qualora la Infocom avesse deciso di fare altri giochi dopo Zork, il risparmio di energie sarebbe rapidamente diventato estremamente significativo. Nel giungere a questa conclusione, avevano sostanzialmente seguito una linea di pensiero già abbondantemente battuta da Scott Adams e dalla Automated Simulations.
 
Ma c’era un altro problema ancora: attualmente Zork esisteva solo su MDL, un linguaggio che ovviamente non era implementato sui microcomputer. Se non volevano riscrivere da zero l’intero gioco (del resto l’obbiettivo di tutto questo non era esattamente quello di tirar fuori un prodotto rapidamente e con una certa facilità?), dovevano anche trovare un modo per far girare quel codice sui microcomputer.
 
Quelli che avevano fra le mani erano un bel po’ di problemi. La prossima volta vedremo come li risolsero (in modo assolutamente brillante).

The Digital Antiquarian è un blog, scritto da Jimmy Maher, che si occupa di storia e di cultura del videogioco partendo dall'analisi di singoli videogiochi. OldGamesItalia è lieta di presentarvi la traduzione italiana, autorizzata dall'autore!
Se anche voi apprezzerete questo interessantissimo blog, non mancate di visitare la pagina ufficiale (in lingua inglese) e di sostenerlo tramite Patreon.
Traduzione a cura di: The Ancient One
Editing a cura di: Festuceto


Consulta l'indice per leggere gli articoli precedenti

Visita il sito ufficiale di The Digital Antiquarian
Discutiamone insieme sul forum di OldGamesItalia!

 

Zork sul PDP-10
The Digital Antiquarian (la traduzione ufficiale italiana)

Continua il ciclo di articoli dedicato alla nascita di Infocom e ai primi tre capitoli della celebre serie di Zork. Sì avete letto bene: nel corso del nostro viaggio analizzeremo i primi tre capitoli di Zork. Contrariamente a quanto annunciato nell'ultimo editoriale, non ci limiteremo ai primi due titoli della leggendaria serie Infocom, ma chiuderemo la trilogia originale, com'è giusto che sia. 
Pertanto considerate l'indice riportato di seguito, soltanto parziale. Sarà nostra premura completarlo non appena sarà possibile, e se proprio non potete resistere, cliccate in fondo all'articolo per fiondarvi nel blog originale del "The Digital Antiquarian" ... ma non vorrete rovinarvi la sorpresa, vero?
 
A proposito, nel caso vi steste ancora chiedendo perché Zork sia così attuale qui su OldGamesItalia, vi consiglio di visitare attentamente la sezione "traduzioni" del nostro forum... 
Ecco il solito indice degli articoli:
 
Zork sul PDP-10
La Nascita della Infocom
ZIL e la Z-Machine
Come Vendemmo Zork
Giochi a Parser
Esplorando Zork, Parte 1
Esplorando Zork, Parte 2
Esplorando Zork, Parte 3
Infocom: Come Cavarsela da Soli
Zork II, Parte 1
Zork II, Parte 2
 
Buona lettura esploratori e ... attenti ai grue!
 
Festuceto
 
Uno dei tratti distintivi degli hacker è il non considerare mai un programma davvero completamente e definitivamente finito; ci sono sempre aggiunte da fare, angoli da smussare. E di certo Adventure, per quanto impressionante, lasciava ampio spazio ai miglioramenti. Dobbiamo poi aggiungere che Adventure arrivò al MIT attraverso Don Woods dell'AI Lab della Stanford, forse l'unico corso di informatica della nazione che aveva la statura per potersi confrontare alla lontana con quello del MIT. Gli studenti del MIT erano fieramente orgogliosi della propria Università. Anche se la Stanford aveva prodotto per prima un gioco d'avventura, il Dynamic Modeling Group del MIT avrebbe potuto quantomeno farlo meglio. E certo non nuoceva alla causa il fatto che il Project MAC e il Laboratory for Computer Science (per non parlare dello stesso Dynamic Modeling Group) avessero donato loro degli ottimi strumenti con cui affrontare il problema.
 
Adventure era stata implementato in FORTRAN, un linguaggio non particolarmente adatto alla creazione di un'avventura testuale. E infatti il FORTRAN non poteva nemmeno gestire nativamente le stringhe di lunghezza variabile, lasciando a Crowther e Woods il compito di arrangiare qualche soluzione, come del resto dovettero fare anche con molti altri problemi. Come sappiamo, entrambi erano programmatori molto talentuosi e ci riuscirono al meglio. E così gli hacker del Dynamic Modeling Group (la cui opinione del FORTRAN era solo un gradino superiore a quella che avevano del BASIC) non vedevano l'ora di progettare il proprio gioco d'avventura con il proprio linguaggio, l'MDL. Non solo l'MDL (essendo un linguaggio progettato, almeno in parte, per la ricerca nel campo dell'Intelligenza Artificiale) poteva vantare capacità di gestione di stringhe relativamente robuste, ma offriva anche la possibilità di definire dei nuovi “data type” complessi, adatti per compiti specifici, e la possibilità di inserire direttamente in tali strutture dei pezzi di codice. Lasciatemi provare a spiegarvi perché tutto questo era così importante.
 
Inizieremo con la stanza di apertura di Zork, il gioco che alla fine fu prodotto dal Dynamic Modeling Group in risposta ad Adventure. La descrizione di tale stanza al giocatore [nella nostra traduzione italiana di Zork I; ndAncient] appare così:
 
 
West of House
This is an open field west of a white house, with a boarded front door.
There is a small mailbox here.
A rubber mat saying 'Welcome to Zork!' lies by the door.
 
Questo è il codice sorgente originale in MDL che descrive la stanza:
 
<ROOM "WHOUS"
"This is an open field west of a white house, with a boarded front door."
"West of House"
<EXIT "NORTH" "NHOUS" "SOUTH" "SHOUS" "WEST" "FORE1"
"EAST" #NEXIT "The door is locked, and there is evidently no key.">
(<GET-OBJ "FDOOR"> <GET-OBJ "MAILB"> <GET-OBJ "MAT">)
<>
<+ ,RLANDBIT ,RLIGHTBIT ,RNWALLBIT ,RSACREDBIT>
(RGLOBAL ,HOUSEBIT)><
 
Praticamente tutto ciò che il programma deve sapere di questa stanza è incapsulato qui dentro in modo ordinato. Analizziamolo, linea per linea. Il tag “ROOM” [stanza] all'inizio definisce questa struttura come una stanza, chiamata brevemente “WHOUS” [abbreviazione di "West of House", cioè "A Ovest della Casa", ndAncient]. La linea di testo seguente è la descrizione della stanza che il giocatore vede quando vi entra la prima volta o quando digita “GUARDA”. “West of House” è invece il nome completo della stanza, quello che appare come titolo della descrizione della stanza e nella linea di stato in cima allo schermo, ogni volta che il giocatore si trova in questa stanza. Poi abbiamo un elenco di uscite dalla stanza, andare a nord porta il giocatore a “North of House,” a sud lo porta a “South of House”, a ovest in una di diverse stanze che compongono la “Foresta”. Cercare di andare a est produrrà invece uno speciale messaggio di fallimento, che riferirà al giocatore di non essere in possesso di una chiave per aprire la porta, anziché il generico: “Non puoi andare in quella direzione”. Subito dopo abbiamo gli oggetti che si trovano nella stanza all'inizio del gioco: la porta frontale, la cassetta delle lettere, e il tappetino di benvenuto. Quindi una serie di "flag" definisce altre proprietà della stanza: che è asciutta anziché invasa dall'acqua, che è illuminata anche se il giocatore non ha con sé una lanterna accesa; che (essendo all'aperto) non ha pareti; che è “sacred” [“sacra”] (il che significa che il ladro -un personaggio che vaga in giro, infastidendo il giocatore in modo non dissimile dai nani e dal pirata di Adventure- non può venire qui). E, alla fine, l'ultima linea associa questa stanza alla "white house" o, per essere più precisi, la associa a una parte della “regione casa” della geografia del gioco.
 
Ogni oggetto e ogni personaggio del gioco è definito da un simile blocco, che spiega quasi tutto ciò che il gioco deve sapere al riguardo. Va aggiunto anche che le abilità e le capacità speciali di oggetti e personaggi sono descritti come parti di essi, utilizzando dei collegamenti a delle sezioni speciali del codice, create appositamente. Per questo una volta che l'impalcatura del codice alla base di tutto questo fu creata (cosa che, ovviamente, non era affatto banale), aggiungere nuovo contenuto a Zork era prevalentemente una questione di aggiungere più stanze, più oggetti, e più personaggi, senza bisogno ogni volta di rituffarsi nell'"engine" che muoveva il tutto; solo le capacità speciali degli oggetti e dei personaggi dovevano essere programmate da zero e collegate nei punti giusti. Componendo il mondo da una raccolta di “oggetti” integrati, gli hacker del Dynamic Modeling Group stavano inconsapevolmente dirigendosi verso un nuovo paradigma nella programmazione, che sarebbe giunto alla ribalta dell'informatica solo alcuni anni dopo: la programmazione orientata agli oggetti, in cui i programmi non sono rigorosamente divisi nel codice che li esegue e nei dati che esso manipola, ma sono piuttosto costruiti dall'interazione di oggetti semi-autonomi che contengono il proprio codice e i propri dati. Un tempo considerata praticamente la soluzione a ogni problema (forse persino alla fame nel mondo), oggigiorno in certe aree, ci sono delle resistenze (probabilmente giustificate) alla imposizione, applicata a prescindere, della teoria della programmazione orientata agli oggetti operata da certi linguaggi, come il Java. Sia come sia, la programmazione orientata agli oggetti resta praticamente la soluzione ideale nella creazione delle avventure testuali. Per mostrarvi cosa intendo, guardiamo all'alternativa, illustrata da Adventure (scritto in FORTRAN, un linguaggio altamente NON orientato agli oggetti).
 
Ad ogni stanza di Adventure è assegnato un numero da 1 (la location iniziale, naturalmente all'esterno di un piccolo edificio di mattoni) fino a 140 (stavolta, meno naturalmente, un vicolo cieco in un labirinto). Per trovare la descrizione completa della stanza (quella che viene mostrata al giocatore quanto vi entra per la prima volta o quando la GUARDA) il programma scava nella prima tabella di un file esterno di dati, confrontando il numero della stanza alle rispettive voci.
 
1
1 YOU ARE STANDING AT THE END OF A ROAD BEFORE A SMALL BRICK BUILDING.
1 AROUND YOU IS A FOREST.  A SMALL STREAM FLOWS OUT OF THE BUILDING AND
1 DOWN A GULLY.
 
Un'altra tabella mostra invece la descrizione breve che viene visualizzata quando si entra in una stanza già visitata:
 
1 YOU'RE AT END OF ROAD AGAIN.
 
E ora viene il bello. Un'altra tabella ancora ci dice cosa ci aspetta in ogni direzione cardinale.
 
1 2 2 44 29
1 3 3 12 19 43
1 4 5 13 14 46 30
1 5 6 45 43
1 8 63
 
La prima linea di cui sopra ci dice che quando siamo in stanza 1, possiamo andare in stanza 2 digitando una delle tre voci di un'altra tabella ancora; in questo caso: “ROAD o HILL” (voce 2); “WEST” or “W” (voce 44); or “UPWAR” (infatti le parole vengono confrontate sulla base dei primi 5 caratteri soltanto [in questo caso la parola completa sarebbe UPWARD, formata da 6 caratteri, che significa SU; ndAncient], “UP,” “ABOVE,” or “ASCEN” (voce 29). In modo del tutto analogo, le definizioni degli oggetti sono sparpagliate su più tabelle all'interno del data file. Quindi, anche se Adventure tenta almeno in parte di astrarre il suo "engine" dai dati che compongono il suo mondo (collocando questi ultimi in un "data file" esterno), modificare il mondo stesso è un procedimento rognoso e foriero di errori, che consiste nell'editare più tabelle criptiche. I primi "engine" per avventure testuali sui microcomputer, come quelle di Scott Adams, funzionano tutti in questo modo. E anche se era comunque possibile sviluppare dei tool che alleviassero il fardello di modificare a mano i "data file", il sistema di Zork basato sull'MDL è flessibile e programmabile in un modo ben superiore a quello di questi sistemi: non essendo possibile inserire del codice all'interno degli oggetti del mondo di gioco, creare oggetti non standard in Adventure o in un gioco di Scott Adams richiedeva generalmente di andare a modificare il codice dell'"engine"; non proprio il massimo.
 
Per questo l'MDL era semplicemente migliore per scrivere un'avventura testuale che fosse capace di rappresentare limpidamente un mondo vasto, in un modo che fosse anche leggibile e facilmente mantenibile. Era quasi come se l'MDL fosse stato progettato a questo scopo. Ed effettivamente, se avete usato un linguaggio di programmazione di IF più moderno (come Inform 6), sareste rimasti sorpresi da quanto poco sia cambiato l'approccio nella definizione del mondo rispetto ai giorni dell'MDL di Zork. (Inform 7, uno degli ultimi, e migliori, tool per lo sviluppo di IF si è allontanato dal modello della programmazione orientata agli oggetti in favore di un approccio basato su regole più leggibili -se non addirittura più “letterarie”-. Basti dire che i meriti e gli svantaggi dell'approccio di Inform 7 sono un argomento troppo complesso per essere affrontato in questa sede. Forse ne riparleremo fra 20 anni, quando finalmente il Digital Antiquarian si occuperà dell'anno 2006...)
 
E gli hacker del Dynamic Modeling Group avevano ancora un altro asso nella loro manica.
 
Il MIT aveva all'attivo importanti ricerche sulla comprensione del linguaggio naturale nel computer, che risalivano almeno fino a Joseph Weizenbaum e al suo sistema ELIZA del 1966. E se quel programma alla fin fine era poco più di un elaborato trucco da salotto, esso però ispirò altri e più rigorosi tentativi di far parlare a un programma un buon inglese. È estremamente noto quello che fra il 1968 e il 1970 fu sviluppato da Terry Winograd sotto il nome di SHRDLU, che simulava un modello di mondo composto di blocchi. L'utente poteva chiedere al programma di manipolare questo mondo, spostando i blocchi di posto in posto, impilandoli, e così via, il tutto limitandosi a digitare le sue richieste con delle semplici frasi imperative in lingua inglese. Era perfino possibile porre delle semplici domande al computer, per sapere ad esempio quale blocco fosse collocato in una determinata posizione. Piuttosto sopravvalutato all'epoca (come gran parte della ricerca sull'intelligenza artificiale), quasi fosse un passo decisivo verso HAL, SHRDLU riuscì comunque a dimostrare che, almeno all'interno di un dominio molto ristretto, è possibile per un programma parlare e “comprendere” realmente un significativo sottoinsieme della lingua inglese. Partendo dalla tradizione di SHRDLU, gli hacker del Dynamic Modeling Group crearono un parser per avventure testuali che era oggettivamente il primo mai creato a essere degno del termine. E se Adventure se la cavava con un semplice riconoscimento delle parole (stratagemma reso palese dal fatto che “LAMPADA PRENDI” funziona esattamente come “PRENDI LAMPADA”), Zork comprendeva davvero non solo il verbo e il complemento oggetto, ma anche le preposizioni, il complemento di termine, le congiunzioni, la punteggiatura, e perfino gli articoli. A dare un contributo essenziale al raggiungimento di tale obbiettivo fu nuovamente l'MDL che (essendo un linguaggio ideato pensando alla ricerca sull'IA) aveva delle straordinarie capacità di manipolazione delle stringhe. Il parser che riuscirono a ideare si rivelò una creazione mirabile, che si sarebbe contraddistinta per molti anni a venire (un'eternità, allora come ora, nel mondo dell'informatica). Ma ora sto andando troppo avanti.
 
La strada che condurrà a Zork iniziò nel Maggio del 1977, quando Dave Lebling creò un semplicissimo parser e un semplicissimo "engine" piuttosto simile a quello di Adventure, dal quale Marc Blank e Tim Anderson crearono il loro primo gioco di quattro stanze, come prototipo. A quel punto Lebling si prese una vacanza di due settimane, mentre Blank, Anderson, e Bruce Daniels "hackeravano" come pazzi, creando la struttura base di Zork così come la conosciamo ancora oggi. Il nome stesso era una parola priva di senso presa dal gergo parlato al MIT; una parola che si usava nelle situazioni di tensione al posto di un altra più scurrile: “Zorka quel maledetto codice!”, quando una linea di codice non ne voleva sapere di funzionare, e cose del genere. Ogni programmatore ha qualche parola tipo questa che usa per programmi, variabili, funzioni, e così via, quando sta semplicemente facendo esperimenti e non ha tempo di inventarsi un nome migliore (negli ultimi 25 anni il mio personale “go-to placeholder” è stata la parola “fuzzy”, per ragioni troppo imbarazzanti e stravaganti per spiegarle qui). Nel caso di Zork, però, un nome vero e proprio tardava a venir fuori. E così il gioco restò Zork per i primi sei mesi della sua esistenza.
 
Quando Lebling tornò dalla vacanza per riprendere a lavorare al gioco, c'erano già delle solide basi. Tutto il design era modulare; questo significava (come dimostrato sopra) che era facile aggiungere altre stanze, altri oggetti, altri enigmi, ma anche che ogni parte della sottostante tecnologia poteva essere facilmente rimossa, migliorata, e inserita di nuovo. Il parser in particolare migliorò gradualmente da uno a due parole (“intelligente quasi quanto quello di Adventure”), fino a diventare la creazione allo stato dell'arte che era alla fine; il tutto prevalentemente grazie all'impegno di Blank, che ne divenne ossessionato fino a produrne “40 o 50” iterazioni.
 
Negli anni successivi la Infocom avrebbe sviluppato una storia e una mitologia, complesse ma anche comiche, intorno a Zork e al suo “Grande Impero Sotterraneo”, ma in questi primissimi giorni di sviluppo gli autori erano interessati al mondo di gioco solo come luogo in cui ambientare delle scene accattivanti ma anche ridicolmente eterogenee, e -ovviamente- degli enigmi da risolvere, nel solco della tradizione inaugurata da Don Woods con Adventure. E infatti il mondo di Zork rende omaggio ad Adventure quasi al punto da sembrare inizialmente un suo remake. Come Adventure, si inizia all'aria aperta, accanto ad una piccola casa; come in Adventure c'è una piccola area esterna da esplorare, ma il succo del gioco si svolge sottoterra; come Adventure lo scopo è raccogliere tesori e riportarli dentro la casa, che serve quindi da base delle nostre operazioni; ecc. ecc. Solo andando molto avanti nel gioco, Zork diverge davvero da questo schema e assume una sua distinta personalità, con location fantasiose ed enigmi molto più intricati, resi possibili dallo stupefacente parser. Ovviamente tutte queste parti furono ideate in seguito, quando il team di sviluppo aveva più esperienza e quando il parser era ormai molto migliore di quello iniziale. Personalmente darò uno sguardo approfondito a Zork nella sua versione per microcomputer, piuttosto che nella sua incarnazione per PDP-10, ma se siete interessati a saperne di più sull'implementazione originale senza capo né coda, vi invito a dare un'occhiata all'approfondito play-through di Jason Dyer.
 
Come Adventure, anche Zork girava su un DEC PDP-10. A differenza di Adventure però, girava sotto il sistema operativo che ospitava anche l’ambiente MDL, l’Incompatible Timesharing System (così chiamato, con un po’ di sano humour da hacker, in sarcastica risposta ad un precedente Compatible Timesharing System; anche qui però -scusate se insisto- vi rimando a Hackers di Levy per un eccezionale racconto delle sue origini). L’Incompatible Timesharing System era sostanzialmente unico del MIT, l’istituzione che lo aveva sviluppato. E aveva un elemento di estrema originalità: in uno stravagante (ma qualcuno lo chiamerebbe folle) tributo alla tradizione degli hacker di totale apertura e trasparenza, non aveva password; anzi, non aveva nessun tipo di sicurezza. Proprio chiunque poteva loggarsi e fare ciò che voleva. Questo creò una specie di community di coloro che gli hacker del MIT chiamavano “gente a caso dalla rete”: persone che non avevano niente a che fare con il MIT, ma che godevano, da qualche parte, di un accesso a un computer connesso ad ARPANET e che si fermavano per rovistare nel sistema, solo per vedere cosa stessero facendo quei folli hacker del MIT. La macchina del Dynamic Modeling Group aveva raccolto intorno a sé una community considerevole di gente a caso, grazie a un precedente gioco di quiz. Non ci volle molto prima che scoprissero Zork (anche se non era mai stato annunciato ufficialmente) e che si imbarcassero nell’avventura. Ben presto questo gioco in sviluppo si guadagnò una certa reputazione su ARPANET. Proprio a vantaggio di questa community di giocatori, gli sviluppatori iniziarono a collocare una copia dell’U.S. News and Dungeon Report in una delle prime stanze, che elencava tutti gli ultimi cambiamenti e le ultime aggiunte a questo mondo virtuale che la gente stava esplorando. La gente a caso dalla rete, insieme ad altri utenti più “legittimati” di base al MIT (fra cui anche John McCarthy, il padre dell’intelligenza artificiale), servirono da team allargato di beta-test; gli implementatori potevano vedere quello che queste persone provavano a fare, per non dire ciò di cui si lamentavano, e modificavano il gioco di conseguenza. In particolare, molti dei miglioramenti al parser furono senza dubbio incentivati da questo processo; chiunque abbia mai sottoposto una propria avventura testuale a un beta-test, sa bene che non si può semplicemente prevedere a priori gli infiniti modi in cui le persone proveranno a esprimere certe cose.  
 
La crescente popolarità di Zork sollevò delle inevitabili preoccupazioni sull’eccessivo carico generato da questi giocatori sul sistema PDP-10 del Dynamic Modeling Group, che a conti fatti era finanziato dal Dipartimento della Difesa e che quindi -teoricamente- sarebbe dovuto servire per vincere la Guerra Fredda. Al tempo stesso c’erano altri che chiedevano una copia del gioco, per poterla installare sulle proprie macchine. Anche se sviluppato e utilizzato principalmente sotto l’Incompatible Timesharing System, esisteva però una versione dell’ambiente MDL che girava su un altro sistema operativo per PDP-10, il TOPS-20, pubblicato dalla DEC per la prima volta nel 1976 e pubblicizzato come una versione più avanzata e user-friendly del TOPS-10. A differenza dell’Incompatible Timesharing System, il TOPS-20 era assai diffuso al di fuori del MIT. Gli hacker del Dynamic Modeling Group modificarono quindi Zork quanto bastava per farlo girare sul TOPS-20 e iniziarono a distribuirlo a tutti gli amministratori che gliene chiedevano una copia. Alla fine dell’anno tutte le macchine della nazione ospitavano Zork ed era stata perfino predisposta una "mailing list" per informare i vari amministratori delle espansioni e dei miglioramenti che venivano apportati.
 
Gli hacker del Dynamic Modeling Group erano generosi, ma non quanto lo era stato Don Woods con Adventure. Distribuirono Zork solo come file criptati, che erano eseguibili in un ambiente MDL ma che non erano leggibili (né modificabili) a livello di codice sorgente. Arrivarono perfino a modificare il proprio sistema di sviluppo Incompatible Timesharing System, celebre per la sua mancanza di sicurezza, aggiungendo una protezione esclusivamente alla cartella che conteneva il codice sorgente di Zork. Tuttavia gli hacker non si smentiscono mai e ben presto uno della DEC aveva già penetrato il velo. Dalla “History of Zork” della Infocom:
 
[La sicurezza] fu infine battuta da un hacker del sistema della Digital: usando un’arcaica (non che ne sia mai esistita una diversa) documentazione dell’Incompatible Timesharing System, riuscì a capire come modificare il sistema operativo. Sapendo il fatto suo, riuscì anche a capire come funzionava la nostra modifica per proteggere la cartella del codice sorgente. A quel punto era solo questione di decriptare i sorgenti, il che ben presto si ridusse a intuire la chiave che avevamo usato. Ted non ebbe difficoltà a procurarsi il tempo che gli serviva sulla macchina: aveva appena trovato una macchina TOPS-20 che era sottoposta agli ultimi test e vi avviò un programma che tentava ogni chiave finché una non gli restituì qualcosa che aveva le sembianze di un testo. Dopo meno di un giorno di lavoro, aveva una copia leggibile del sorgente. Dovemmo ammettere che, chiunque si fosse preso la briga di fare tutto ciò, di certo se lo meritava... Tutto questo produsse altre conseguenze in seguito.
 
Riguardo a queste “altre conseguenze”:
 
Ad un certo punto, alla fine del 1977, gli hacker del Dynamic Modeling Group decisero che la loro creazione aveva davvero, davvero bisogno di un nome vero e proprio.  Lebling suggerì Dungeon, che non emozionò nessuno (Lebling incluso), ma a nessuno veniva in mente un’alternativa migliore. E così si optò per Dungeon. Ciò avvenne poco prima della breccia nella sicurezza appena descritta; per questo il gioco recuperato da quell’hacker della DEC non si chiamava Zork, bensì Dungeon. Poco dopo, al MIT giunsero voci di possibili azioni legali da parte (provate a indovinare) della TSR, il publisher di Dungeons and Dragons e di un gioco da tavolo di esplorazione di dungeon chiamato semplicemente Dungeon! La TSR era sempre particolarmente zelante nel querelare e gli avvocati del MIT, consultati dagli hacker del Dynamic Modeling Group, erano unanimemente concordi nel ritenere che la TSR non avesse nessun appiglio legale a cui aggrapparsi. Tuttavia, piuttosto che venir risucchiati in una controversia su un nome che oltretutto non piaceva a nessuno, decisero di ritornare al ben più memorabile Zork. E così, all’inizio del 1978, Dungeon tornò di nuovo a essere Zork, per poi mantenere quel nome per sempre.
 
Quasi per sempre. Vi ricordate quel codice sorgente che “Ted” aveva sottratto al MIT? Ebbene, arrivò nelle mani di un altro hacker del DEC, un certo Robert Supnik, che convertì il tutto per FORTRAN, più diffuso e portabile (seppur intrinsecamente e infinitamente meno adatto alle avventure testuali); fu uno sforzo erculeo che stupì perfino gli hacker del Dynamic Modeling Group. Poiché il gioco contenuto nel codice sorgente in MDL a cui aveva accesso si chiamava Dungeon, questa nuova versione rimase Dungeon. Inizialmente Supnik eseguì il porting con l'intenzione di portare Dungeon a girare su un DEC PDP-11 (che, a discapito di quanto sembra indicare il nome, non era un successore del PDP-10, ma piuttosto una macchina fisicamente più piccola, meno potente, e meno costosa). Con il codice sorgente in FORTRAN di Supnik libero di essere distribuito, tuttavia, il salto dal PDP-11 ad altre architetture fu assai breve. Perciò, in questi primi anni, il Dungeon di Supnik con ogni probabilità era più ampiamente distribuito, e quindi era anche più giocato, dello Zork del Dynamic Modeling Group. E quando arrivarono dei PC in grado di supportarlo, Dungeon sbarcò inevitabilmente anche su questi. E così alla fine degli anni ‘80 la situazione era incomprensibile per chi non conosceva tutta questa storia: c’era questo gioco gratuito, chiamato Dungeon, che era stranamente simile ai giochi commerciali ufficiali di Zork, che a loro volta erano molto simili a quest’altro gioco, Adventure, che all’epoca era disponibile in dozzine di versioni gratuite e commerciali. Ad oggi il Dungeon di Supnik è disponibile insieme al codice sorgente (finalmente libero) della versione per PDP-10 di Zork.
 
Tornando al MIT, lo sviluppo dello Zork vero e proprio continuò per tutto il 1978, seppur a un ritmo decrescente. Se si escludono delle correzioni minori di bug, che sarebbero proseguite per un paio di anni ancora, gli ultimi pezzi di Zork furono aggiunti nel Febbraio del 1979. A quel punto il gioco aveva assunto proporzioni davvero enormi: 191 stanze, 211 oggetti, un vocabolario di 908 parole con 71 verbi diversi (senza considerare i loro sinonimi). Gli implementatori avevano praticamente finito le idee per nuovi enigmi ed erano comprensibilmente esausti per il grande sforzo, e (qualora queste giustificazioni non fossero sufficienti) avevano completamente riempito l'unico MB circa di memoria che un programma MDL poteva utilizzare. E così accantonarono Zork e si spostarono su altri progetti.
 
La storia sarebbe potuta tranquillamente finire lì, con Zork che passa alla storia come un altro esempio, eccezionalmente significativo, di avventura testuale fiorita sulle macchine istituzionali negli anni successivi alla pubblicazione di Adventure; insomma, Zork come fosse un altro Mystery Mansion, Stuga (AGGIORNAMENTO: non proprio; leggete il commento di Jason Dyer [“Se vogliamo essere precisi, Stuga non può essere annoverato nel gruppo degli altri due titoli; fu distribuito commercialmente, e vendette piuttosto bene, e può essere definito lo Zork della Svezia”; ndAncient]), o HAUNT. Però non andò così, grazie ad Al Vezza, il direttore (dall’anima tutt’altro che hacker) del Dynamic Modeling Group, che qualche mese più tardi decise che il momento era giusto per entrare coi suoi collaboratori nella nuova, promettente frontiera dei microcomputer, avviando una software house. Non poteva però certo immaginare dove avrebbe portato questa sua decisione.

The Digital Antiquarian è un blog, scritto da Jimmy Maher, che si occupa di storia e di cultura del videogioco partendo dall'analisi di singoli videogiochi. OldGamesItalia è lieta di presentarvi la traduzione italiana, autorizzata dall'autore!
Se anche voi apprezzerete questo interessantissimo blog, non mancate di visitare la pagina ufficiale (in lingua inglese) e di sostenerlo tramite Patreon.
Traduzione a cura di: The Ancient One
Editing a cura di: Festuceto


Consulta l'indice per leggere gli articoli precedenti

Visita il sito ufficiale di The Digital Antiquarian
Discutiamone insieme sul forum di OldGamesItalia!