Enrico Colombini

La storia di "Avventura nel castello"

"Non raggiungerai una sola verità finché non avrai prodotto almeno quattordici false teorie, e forse centoquattordici"
 [Fedor Dostoevskij, Delitto e castigo, cap.VII]

L'incontro con "Adventure"

Correva l'anno 1980 o giù di lì e mi ero da poco messo in società con mia moglie Chiara e due amici (Roberto Cerruti e Marco Morocutti) per fondare una piccola azienda di elettronica: i microprocessori erano una novità e noi avevamo progettato una linea di schede per applicazioni industriali basata sul 6502.

Quell'anno esponevamo a una fiera specializzata a Milano; non lontano da noi stava uno stand Motorola con un computer dall'aria molto costosa (aveva le dimensioni di un armadietto, non ricordo di che si trattasse). Gironzolando per vedere cosa ci fosse di interessante in fiera, fui attratto da ciò che si leggeva sul monitor di quel computer:

The Colossal Cave
 
You are standing at the end of the road before a small brick building. Around you is a forest. A small stream flows out of the building and down a gully.

Mi avvicinai alla tastiera; visto che gli addetti allo stand non sembravano preoccuparsene, provai a scrivere qualcosa nel mio inglese allora approssimativo... e rimasi affascinato. Persi il senso del tempo: arrivai a trovare una spada piantata nella roccia che canticchiava per proprio conto, ma fui interrotto dalla chiusura serale della fiera.

Il giorno dopo, non appena possibile, tornai allo stesso stand per riprendere l'esplorazione ma, con mia somma delusione, quel programma non c'era più.
 
Un angolo della EC Elettronica (immagine .jpg)
Un angolo della EC Elettronica nel 1980
Chiara ed Enrico nel 1981 (immagine .jpg)
Chiara ed Enrico nel 1981
Angolo col PET 2001 (immagine .jpg)
Il glorioso PET 2001 della ditta

L'Apple II

Qualche tempo dopo sostituimmo il PET 2001 che usavamo per il magazzino della ditta con un Apple II, passando così dalle cassette ai dischi... e riscrivendo l'intero programma (con grande lavoro di Roberto che se ne occupò).
Va da sé che l'Apple II non era usato solo per lavorare: alla sera esploravamo le novità software, che a quei tempi circolavano liberamente, a partire naturalmente dai giochi. In quel periodo tutto era nuovo, e quasi ogni programma era interessante.

Fu così che un bel giorno inserii un dischetto marcato "Apple Adventure"... e ritrovai il gioco che avevo visto alla fiera. Non era del tutto identico (mancava ad esempio la spada nella roccia) ma era senz'altro lui.

Il gioco conservava la situazione quando si usciva, ma la cancellava se il protagonista 'moriva': ci rendemmo presto conto che in quel modo era impossibile arrivare in fondo: decisi quindi di modificare il programma. Il disco era protetto, ma avevo già una discreta esperienza col 6502 e non fu difficile venire a capo del DOS modificato. Sistemato il problema dei salvataggi, si poteva finalmente affrontare la sfida.

Ci vollero parecchie sere prima di arrivare a 350 punti, ma fu un grandissimo divertimento e, devo dire, un'eccellente lezione di inglese: se avessi dovuto farlo per studio, non avrei mai usato tanto un vocabolario. Se ora leggo senza fatica Conrad o Pratchett, lo devo anche ad "Adventure".
 
Apple Adventure (immagine .png)
La versione Apple II di Adventure
   Apple Adventure (immagine .png)
Un'interfaccia essenziale ma un gran bel gioco

Ci proviamo anche noi?

Già, perché non provare a scrivere un gioco del genere, naturalmente in italiano? A me e a Chiara l'idea piaceva: il terreno era vergine e la fantasia non mancava. Diedi un'occhiata al programma per vedere com'era fatto, ma l'impressione che ne ricavai era che fosse scritto piuttosto male: era meglio ripartire da zero.

Non avevo ancora incontrato le avventure Infocom, e questo fu quasi certamente un bene: se le avessi giocate, avrei tentato di riprodurre il loro parser ("metti il foglio rosso e il foglio verde nel cassetto grande, poi chiudilo con la chiave falsa"), complicandomi parecchio la vita e probabilmente finendo col perderci troppo tempo e stancarmi dell'argomento. All'epoca non avevo ancora scoperto che la semplicità è spesso vincente, ci vollero anni per rendermene conto... ma questo è un altro discorso.

Per prima cosa trovammo un'ambientazione, poi raccogliemmo idee per i problemi da risolvere. Nel frattempo avevo iniziato a scrivere il programma, ma mi accorsi dopo un paio di mesi che la memoria non bastava: bisognava lavorare da disco. Ricominciai quindi daccapo, mettendo a frutto l'esperienza precedente, e il lavoro andò avanti a fasi alterne per quasi un anno, anche perché inizialmente ci potevamo lavorare solo in ditta, alla sera.

La situazione migliorò quando potei avere un Apple II in casa, donatomi dagli amici di un negozio di computer 'per meriti sul campo' (riuscii con un certo sforzo a pagarmi un drive: costava un'enormità). Era residuato dall'incendio di una pizzeria, aveva un angolo bruciacchiato e per molto tempo continuò a diffondere odore di pizza bruciata, ma funzionava.
 
Manuale DOS (immagine .jpg)
Il manuale del DOS
Apple II con un angolo bruciato (immagine .jpg)
Il mio primo Apple II
Manuale Applesoft BASIC (immagine .jpg)
Il manuale del BASIC

1982: la prima edizione

Non appena il tutto iniziò a girare, cominciammo a farlo provare agli amici che (allora come oggi) venivano spesso a trovarmi la sera per giocare. Osservando ciò che scrivevano e le loro reazioni, prendevo nota e poi aggiornavo dizionario e azioni per aggiungere nuove parole e nuove risposte. Dopo qualche mese di questo lavoro, il gioco sembrava molto più 'intelligente ' di prima.

Decidemmo di provare a venderlo nel negozio di computer di cui parlavo prima: preparammo una confezione artigianale e io mi misi al lavoro per realizzare una valida protezione anti-copia, a quei tempi essenziale. Ero molto contento del mio sistema, capace di resistere persino al famoso Locksmith... la cui versione successiva, ovviamente, lo copiava senza problemi.

Visto che il gioco piaceva ai pochi che l'avevano acquistato, trovai un editore disposto a distribuirlo a livello nazionale: la J.Soft, associata all'allora Gruppo Editoriale Jackson, che conoscevo come collaboratore di Bit (erano i tempi del mitico direttore Piero Dell'Orco). Le vendite non raggiunsero certo grandi numeri, ma la soddisfazione era tanta, specialmente per i commenti dei giocatori.

La prima edizione in versione Apple II, usabile con l'originale o con un emulatore, è scaricabile, insieme con la seconda edizione, dalla mia pagina dedicata ai vecchi programmi.
 
Note di lavorazione (immagine .jpg)
Una pagina delle mie note
La prima edizione (immagine .png)
La prima edizione (1982)
Copertina della prima edizione (immagine .jpg)
La confezione artigianale

1983: Computer Play

Nel 1983 uscii dall'azienda e, poco dopo, mi trovai coinvolto dal G.E.Jackson nella realizzazione di "ABC personal computer", una delle primissime opere editoriali italiane sull'argomento (speravamo di uscire per primi, ma arrivammo secondi al fotofinish), il cui successo mi aprì la strada alla professione di autore che, sia pure senza troppo entusiasmo, avrei seguito a lungo.

Nello stesso anno l'associazione tecnico-scientifica AICA organizzatò a Milano la prima rassegna e competizione italiana di giochi per personal computer; il mio editore partecipò con "Avventura nel castello" e "Melopoli", un gioco 'da tavolo' che avevamo realizzato nel frattempo (ispirato al classico "Monopoli").

Per me alquanto inaspettatamente, "Avventura nel castello" vinse il primo premio e "Melopoli" il terzo: ebbi qualche difficoltà a trasportare in treno le due coppe insieme al resto del materiale che avevo portato per la manifestazione...
 
ABC Personal Computer, fascicolo 1 (immagine .jpg)
Il primo fascicolo di "ABC"
La coppa del primo premio del Computer Play '83 (immagine .jpg)
Il Castello primo al Computer Play '83
Melopoli (immagine .png)
Melopoli

1984: La seconda edizione

Molti possessori di Apple II non avevano un monitor (allora abbastanza costoso), ma lo collegavano al televisore a colori; in queste condizioni le scritte creavano frange colorate ed erano piuttosto difficili da leggere. Decisi quindi di usare la pagina video grafica anziché quella di testo, disegnando un set di caratteri che riducesse al minimo il fastidio, come avevo già fatto per "Melopoli", approfittandone anche per aggiungere le lettere minuscole.

L'uso di una parte di memoria per la grafica impose una riorganizzazione del programma, ma quello fu l'ultimo dei miei problemi: era infatti in vendita l'Apple //c che mostrava una certa incompatibilità con il compilatore che usavo e, tra l'altro, aveva un drive per dischetti di qualità alquanto scadente, che dava noie col mio sistema di protezione, d'altronde ormai superato.

Un'idea per una protezione migliore venne da Roberto Cerruti, a cui stavo dando una mano per rifinire il suo "Signori della Galassia": propose di registrare dei dati a velocità diversa con un drive modificato e di variare la velocità del motore in lettura. Quest'ultima parte si rivelò impraticabile, ma pensai di leggere i dati (registrati a velocità più bassa) durante l'accelerazione del disco, subito dopo l'accensione del motore. I test dimostrarono che era fattibile, con un buon margine.

Il nuovo sistema di protezione, essendo il secondo, venne chiamato "P2", non senza ironico riferimento a una certa organizzazione segreta di cui si parlava molto a quel tempo... e che certamente era molto ben protetta. Si rivelò robusto, affidabile e praticamente impossibile da duplicare senza un drive appositamente modificato (il che non toglie che prima o poi potesse essere sganciato via software, e naturalmente lo fu). Incidentalmente, il programma che applicava la protezione fu la mia prima applicazione scritta in C.

Intanto la J.Soft aveva raggiunto un accordo con Apple Italia: per un certo periodo "Avventura nel castello" e "Melopoli" vennero distribuiti insieme con l'Apple //c; entrambi i giochi ebbero così una buona diffusione e potei incassare qualche lira (complessivamente, se ben ricordo, tre o quattro milioni: lo stesso che guadagnava Scott Adams con le sue avventure negli USA -- i miei però erano in lire, i suoi in dollari).
 
La seconda edizione (immagine .png)
La seconda edizione (1984)
Copertina della seconda edizione (immagine .jpg)
La confezione J.Soft
Drive modificato per la protezione P2 (immagine .jpg)
Modifiche al drive
per la protezione P2

Gli studi sull'ADL-1

Accarezzai per un certo periodo l'idea di poter vivere scrivendo software (soprattutto giochi, naturalmente), ma la situazione generale stava cambiando: le scelte suicide di Apple e l'aperto incoraggiamento alla pirateria da parte dei rappresentanti italiani della Commodore uccisero sul nascere ogni possibilità nel settore, che invece nei Paesi anglosassoni si andava sviluppando rapidamente.

Il nuovo sistema operativo di Apple, il ProDOS, poteva usare anche i dischi rigidi e i nuovi dischetti da 3,5", ma era per me un tipico esempio di cattiva progettazione: scomodo da usare, ingombrante, male organizzato e volutamente incompatibile con i vecchi programmi in Basic Applesoft... come i miei.

Decisi di riprogettare il mio programma per avventure in modo che potesse essere indipendente dal sistema operativo, per poterlo facilmente adattare non solo a ProDOS ma anche ad altri computer. Lavorando col mio nuovo disco rigido Apple (ProFile) da ben 5 MB, soprannominato 'il reattore' per la sua silenziosità, iniziai a definire un linguaggio su misura e a scrivere il relativo interprete.

Nacque così l'ADL-1 (adventure development language), col quale potei disporre di una versione portatile di "Avventura nel Castello". Il programma era piuttosto complesso, portava il Basic ai suoi limiti e non lo ritenni mai meritevole di essere pubblicato... un po' perché ci sarebbe voluto un enorme lavoro di documentazione, ma soprattutto perché mi resi conto di avere imboccato la strada sbagliata.

Nel 1985, infatti, per la preparazione del volumetto "Scrivere un gioco di avventura sul personal computer" (che sarebbe poi stato più volte ripubblicato e ampliato sotto diversi titoli), scrissi in pochi giorni il Modulo Base, un programma molto più semplice e meno 'nobile' dell'ADL-1, ma che svolgeva egregiamente il proprio compito. In un certo senso, distillai l'esperienza precedente in poche gocce che ne contenevano l'essenza.
 
Manuale per i programmatori ProDOS (immagine .jpg)
ProDOS: la
burocrazia avanza
Listato con azioni del Castello in ADL-1 (immagine .png)
Azioni del Castello in ADL-1
La prima edizione di "Avventure" nei Quaderni Jackson (immagine .jpg)
La prima edizione di
"Avventure" (1985)

Le versioni MS-DOS

Il lavoro sull'ADL-1 non andò comunque perduto: nel frattempo i ripetuti errori della Apple (il maggior produttore mondiale di zappe sui piedi) avevano finito col lasciare campo libero agli 'IBM compatibili' che ormai erano padroni del campo. Decisi quindi di utilizzare la portatilità dell'ADL-1 per realizzare una versione MS-DOS di "Avventura nel Castello".

Questa terza edizione venne distribuita dalla Hi-Tech di Padova, piuttosto in sordina e in un periodo non certo favorevole alla vendita del software ludico; i ricavi furono insignificanti, ma lo avevo fatto più che altro per soddisfazione personale; fu anche l'inizio di un buon rapporto col mio Olivetti M24 (un 8086 a 8 MHz), che mi servì fedelmente per lungo tempo.

A metà del decennio successivo decisi di ripulire il tutto, fare qualche piccolo ritocco a testi e azioni, racchiudere programma e dati in uno stesso file e pubblicare la quarta edizione come freeware (eccetto i sorgenti, anche perché sono un orribile pasticcio di vecchio, nuovo e rappezzi vari).

Dovetti aggiornare quasi subito il programma a causa di un curioso inconveniente: la velocità dei PC era aumentata di migliaia di volte da quando l'avevo scritto, e così sui PC più recenti il gioco dava un bell'errore di "divisione per zero" in un ciclo di calcolo del ritardo. Non si guarda mai abbastanza lontano!
 
La terza edizione (immagine .png)
La terza edizione (MS-DOS, 1987)
   Copertina della terza edizione (immagine .jpg)
La confezione della Hi-Tech

Linguaggi e futuro

Di tanto in tanto qualcuno mi scrive proponendo di fare una versione di "Avventura nel castello" in qualche altro linguaggio o ambiente: HTML, PHP, REXX e chi più ne ha più ne metta.

La mia risposta è sempre la stessa: che senso ha stampare lo stesso libro su un'altra carta, quando tutti già lo possono leggere? Io stesso ho fatto vari studi con diversi linguaggi (C, Scheme, Perl, Prolog, ...) ma se dovessi pubblicare qualcosa preferirei metterci un racconto originale, a meno che lo scopo non sia puramente informatico, nel qual caso il Modulo Base o "L'Astronave condannata" sono più che adeguati.

Per parte mia, preferisco dedicare il tempo libero a lavorare su qualcosa di diverso, sia riguardo ai racconti interattivi (ad esempio Idra) che in altri campi. Sono molto affezionato ad "Avventura nel castello", ma mi piace esplorare nuove strade.

Ah, dimenticavo: quando visitammo la Scozia, molti anni dopo avere scritto "Avventura nel castello", scoprimmo con soddisfazione che la nostra ambientazione fantastica non era molto lontana dal vero. Tra l'altro, visitando il castello di Edimburgo ci imbattemmo in un suggestivo ritratto di Malcolm IV.
 
 

Diploma di solutore di "Avventura nel castello" (immagine .png)

 
 
Biglietto per un giro del lago di Loch Ness (immagine .jpg)
 

 


  Updated 31/10/11 by Enrico Colombini (erix@erix.it)