# Inform e Glulx/appendici/Appendice G - Scrivere, distribuire e reperire delle avventure testuali

Inform e Glulx
Copertina Tutti i moduli · Sviluppo
* IntroduzioneInform e Glulx/Introduzione
* Cosa occorre per iniziareInform e Glulx/Cosa occorre per iniziare
** Compilatore, interprete e altro ancora
** L'installazione
** Perché IF-IDE?
** Per chi non vuole (o non può) usare IF-IDE e Windows Frotz 2002
* Le basi di Inform
** A cosa serve questo capitolo?Inform e Glulx/Le basi di Inform/A cosa serve questo capitolo?
** Benvenuto in InformInform e Glulx/Le basi di Inform/Benvenuto in Inform
** Le funzioniInform e Glulx/Le basi di Inform/Le funzioni
** Variabili numeriche e caratteri specialiInform e Glulx/Le basi di Inform/Variabili numeriche e caratteri speciali
** Un po' di matematica non guasta maiInform e Glulx/Le basi di Inform/Un po' di matematica non guasta mai
** Passaggio dei parametri e ritorno dei valoriInform e Glulx/Le basi di Inform/Passaggio dei parametri e ritorno dei valori
** L'input dei dati numerici: l'istruzione GetnumberInform e Glulx/Le basi di Inform/L'input dei dati numerici: l'istruzione Getnumber
** If (condition) then... else...Inform e Glulx/Le basi di Inform/If (condition) then... else...
** While e do... untilInform e Glulx/Le basi di Inform/While e do... until
** For, break e continueInform e Glulx/Le basi di Inform/For, break e continue
** L'utilizzo delle costantiInform e Glulx/Le basi di Inform/L'utilizzo delle costanti
** Switch... caseInform e Glulx/Le basi di Inform/Switch... case
** Salti ed etichetteInform e Glulx/Le basi di Inform/Salti ed etichette
** Caratteri e stringheInform e Glulx/Le basi di Inform/Caratteri e stringhe
** I vettoriInform e Glulx/Le basi di Inform/I vettori
** Le stringhe numericheInform e Glulx/Le basi di Inform/Le stringhe numeriche
** Le direttiveInform e Glulx/Le basi di Inform/Le direttive
** Il debuggingInform e Glulx/Le basi di Inform/Il debugging
* RUINS, l'avventura comincia
** Il grande altopiano (dalla padella alla brace)Inform e Glulx/RUINS, l'avventura comincia/Il grande altopiano (dalla padella alla brace)
** La cassa d'imballaggio (riuscirete a riempirla tutta)?Inform e Glulx/RUINS, l'avventura comincia/La cassa d'imballaggio (riuscirete a riempirla tutta)?
** Il fungo (velenoso o non velenoso)?Inform e Glulx/RUINS, l'avventura comincia/Il fungo (velenoso o non velenoso)?
** Chi ha paura del buio (gli insetti no di certo)?Inform e Glulx/RUINS, l'avventura comincia/Chi ha paura del buio (gli insetti no di certo)?
** La porta di pietra (gialla è più carina)Inform e Glulx/RUINS, l'avventura comincia/La porta di pietra (gialla è più carina)
** La chiave di pietra (così non si arruginisce)Inform e Glulx/RUINS, l'avventura comincia/La chiave di pietra (così non si arruginisce)
** Il primo tesoro (speriamo che non sia un anello)Inform e Glulx/RUINS, l'avventura comincia/Il primo tesoro (speriamo che non sia un anello)
** La maschera facciale (non di carnevale)Inform e Glulx/RUINS, l'avventura comincia/La maschera facciale (non di carnevale)
** Il ritorno della mummia (non è un film, è tutto vero)Inform e Glulx/RUINS, l'avventura comincia/Il ritorno della mummia (non è un film, è tutto vero)
** L'incrocio di Xibalbá (ma è davvero così pauroso)?Inform e Glulx/RUINS, l'avventura comincia/L'incrocio di Xibalbá (ma è davvero così pauroso)?
** La sfera di pietra pomice (avete indossato il casco)?Inform e Glulx/RUINS, l'avventura comincia/La sfera di pietra pomice (avete indossato il casco)?
** Una gabbia per un facocero (e l'archeologo che fine ha fatto)?Inform e Glulx/RUINS, l'avventura comincia/Una gabbia per un facocero (e l'archeologo che fine ha fatto)?
** La cripta dei nove signori della notte (o sette come i nani)?Inform e Glulx/RUINS, l'avventura comincia/La cripta dei nove signori della notte (o sette come i nani)?
** Un archeologo per un facocero (basta solo che non grugnite)Inform e Glulx/RUINS, l'avventura comincia/Un archeologo per un facocero (basta solo che non grugnite)
** La fine di RUINS è giunta (ma con Inform siete solo all'inizio)Inform e Glulx/RUINS, l'avventura comincia/La fine di RUINS è giunta (ma con Inform siete solo all'inizio)
* Inform e ancora Inform
** La Status LineInform e Glulx/Inform e ancora Inform/La Status Line
** I menuInform e Glulx/Inform e ancora Inform/I menu
** I labirinti e i nomi pluraliInform e Glulx/Inform e ancora Inform/I labirinti e i nomi plurali
** Il tempoInform e Glulx/Inform e ancora Inform/Il tempo
** I coloriInform e Glulx/Inform e ancora Inform/I colori
** I mezzi di trasportoInform e Glulx/Inform e ancora Inform/I mezzi di trasporto
** Su e giù con l'ascensoreInform e Glulx/Inform e ancora Inform/Su e giù con l'ascensore
** Gli NPC (o PNG in italiano)Inform e Glulx/Inform e ancora Inform/Gli NPC (o PNG in italiano)
** Le estensioni (o librerie aggiuntive)Inform e Glulx/Inform e ancora Inform/Le estensioni (o librerie aggiuntive)
** Varie, listati e decompilatoreInform e Glulx/Inform e ancora Inform/Varie, listati e decompilatore
* Inform e Glulx
** Cos'è GlulxInform e Glulx/Inform e Glulx/Cos'è Glulx
** L'installazione di JifInform e Glulx/Inform e Glulx/L'installazione di Jif
** La compilazioneInform e Glulx/Inform e Glulx/La compilazione
** L'esecuzioneInform e Glulx/Inform e Glulx/L'esecuzione
** Da Inform a GlulxInform e Glulx/Inform e Glulx/Da Inform a Glulx
** La grafica e il sonoroInform e Glulx/Inform e Glulx/La grafica e il sonoro
** L'allineamento delle immaginiInform e Glulx/Inform e Glulx/L'allineamento delle immagini
** Avventure senza graficaInform e Glulx/Inform e Glulx/Avventure senza grafica
** I colori e gli stili del testoInform e Glulx/Inform e Glulx/I colori e gli stili del testo
** La personalizzazione della Status LineInform e Glulx/Inform e Glulx/La personalizzazione della Status Line
** output dei datiInform e Glulx/Inform e Glulx/L'input/output dei dati
** VarieInform e Glulx/Inform e Glulx/Varie
** GULL, il manuale ufficialeInform e Glulx/Inform e Glulx/GULL, il manuale ufficiale
* Appendici
** Appendice A - Le azioni principaliInform e Glulx/appendici/Appendice A - Le azioni principali
** Appendice B - I messaggi della libreriaInform e Glulx/appendici/Appendice B - I messaggi della libreria
** Appendice C - Gli errori della compilazioneInform e Glulx/appendici/Appendice C - Gli errori della compilazione
** Appendice D - La soluzione di RuinsInform e Glulx/appendici/Appendice D - La soluzione di Ruins
** Appendice E - Come usare Windows Frotz 2002Inform e Glulx/appendici/Appendice E - Come usare Windows Frotz 2002
** Appendice F - Le mappeInform e Glulx/appendici/Appendice F - Le mappe
** Appendice G - Scrivere, distribuire e reperire delle avventure testualiInform e Glulx/appendici/Appendice G - Scrivere, distribuire e reperire delle avventure testuali
Modifica il sommario

## Appendice G - Scrivere, distribuire e reperire delle avventure testuali

Spesso si sente parlare di un’avventura testuale in termini di qualcosa che si può paragonare, in qualche modo, ad una sorta di "racconto interattivo", ma le cose non stanno proprio così. Il racconto (così come il romanzo) è un testo che il lettore legge passivamente, limitandosi cioè a fungere da "spettatore": per far sì che la sua attenzione sia stimolata il più possibile occorre l’impegno, da parte dell’autore, di narrare ogni evento nei minimi particolari. Ecco un esempio della descrizione di un ipotetico tavolo:
"Quel tavolo in noce color marrone destava non poco la mia curiosità. Era appartenuto a una mia vecchia zia di Cuneo, e ne aveva viste di tutti i colori. Ricordo ancora quando io e mio fratello ci salivamo sopra con i nostri piedini nudi e ci divertivamo a giocare alla "boxe". Il tavolo restava fermo, impossibilitato a muoversi, sopportando le torture infantili di due demonietti scatenati che non facevano altro che urlare per tutto il giorno. Ora era lì, davanti a me, nella stanza semivuota di una casa tetra e polverosa. Su di esso era poggiato un libro con la copertina di pelle rossa. Lo raccolsi e cominciai a sfogliare le prime pagine. Era scritto in una strana lingua che non riuscivo proprio a comprendere..."
Ecco adesso uno dei tanti modi possibili di tradurre questo breve testo in un’avventura testuale:
Come potete ben vedere, il risultato è decisamente diverso. Stiamo descrivendo lo stesso tavolo, ma sono gli obiettivi che cambiano. In un’avventura testuale il lettore diventa a sua volta un giocatore, perché deve intervenire attivamente all’interno della storia per poter proseguire: la scrittura è più scarna, i contorni meno definiti, i dettagli nascosti... tutto questo perché è il giocatore stesso che li deve scoprire, altrimenti che gusto ci sarebbe?
Un’avventura testuale è quindi un gioco testuale; e se in un racconto l’attenzione del lettore la si deve catturare con delle opportune descrizioni, in un’avventura testuale occorre invece rifarsi al concetto basilare di interazione, che dipende da quello che l’avventura testuale stessa ci permette di fare.
Durante l’esecuzione dell’avventura, il giocatore effettua delle azioni, che devono essere espresse in termini di comandi digitati attraverso la tastiera del computer: "prendi il pacco", "sposta il tavolo", "vai a sud", "apri la porta" sono solo alcuni dei possibili esempi, e il loro limite dipende dal tipo di parser implementato. Con quest’ultimo termine si intende, come afferma giustamente Stefano Gaburri nel suo articolo apparso sul numero 2 di Terra d’If, "la parte di software che si occupa di tradurre la stringa testuale di comando in un formato intelligibile al motore dell'avventura". In poche parole, è grazie ad esso se il computer è in grado di comprendere i comandi digitati dalla tastiera; durante il gioco infatti, c’è un continuo "dialogo" tra il parser e il giocatore, e sulla base delle risposte che quest’ultimo riceve, si riesce a capire se si sta proseguendo all’interno del gioco oppure no.
Ma avventura vuol dire anche programmazione, perché quando si vuole scriverne una bisogna prendere in considerazione la storia in sé ma anche il codice vero e proprio. Infatti, come ho già detto all’inizio del capitolo 3, la sequenza di testi, domande e risposte che il vostro computer vi mostra a mano a mano che proseguite nel gioco, è il risultato di una sequenza di istruzioni che nel loro insieme costituiscono il listato o codice sorgente. Le istruzioni da usare variano a seconda del linguaggio usato, ma mi preme far notare che programmazione vuol dire anche azione. Strumenti più evoluti come Tads o Inform permettono infatti di crearne delle nuove, che possono differire anche di parecchio rispetto a quelle previste di default. In Lurking Horror della Infocom, ad esempio, a un certo punto occorre agganciare l’estremità di una robusta catena a un gancio conficcato nel muro e l’altra estremità alla cabina di un ascensore. Il giocatore deve poi salire al piano superiore e chiamare quest’ultima con l’apposita pulsantiera: così facendo, l’ascensore comincia a salire insieme alla catena e nel muro si forma un bel buco che funge poi da passaggio...
Questo non significa che non si possono scrivere delle ottime avventure testuali utilizzando le sole azioni di default, ma più si è bravi a programmare, più si riesce a scriverne di "personalizzate" o, per meglio dire, di "creative". Naturalmente, occorre non esagerare con la creatività: le azioni che il giocatore deve effettuare possono avere una diversa difficoltà, ma devono sempre essere reali all’interno del contesto in cui sono inserite. In Ruins, per esempio, l’azione di mangiare il fungo per aprire il passaggio della piramide sepolcrale è davvero assurda e inusuale: neanche il più abile dei giocatori penserebbe a uno stratagemma simile e questo non va decisamente bene. Così come non va bene dare un nome univoco all’oggetto dichiarato: se io definisco un cupo ulivo all’interno di una foresta, non posso chiamarlo solo 'ulivo', altrimenti quando il giocatore agirà su di esso (per esempio esaminandolo) sarà obbligato a usare solo quella parola per far sì che il parser potrà riconoscerlo come oggetto in quanto tale (sarà quindi possibile scrivere "esamina l'ulivo ma non "esamina l'albero"). Ricorrerò allora, oltre al nome originale, anche a dei sinonimi quali "albero", "alberello", "pianta", "cupo", ecc.
Molto importante è poi l’inserimento nel gioco degli aiuti. Oltre alla classica spiegazione dei comandi più usati (introdotta nel paragrafo 5.9 con l’esempio dell’estensione dmenus.h) è anche possibile inserire degli aiuti relativi all’utilizzo di tutti i comandi previsti di default (come spiegato nel paragrafo 5.9 con l’estensione command_it.h). Molto importante è anche la fase di betatesting; un’avventura infatti, si può definire completamente conclusa solo dopo che è passata in "rassegna" ai diversi betatester, a coloro cioè che la giocano in cerca di errori che possono riguardare sia il testo in sé (errori di sintassi, parti mancanti, ecc.) che il gioco vero e proprio (presenza di situazioni senza uscita, enigmi troppo difficili e incomprensibili, ecc).
Esistono poi due diverse correnti di pensiero che distinguono le avventure testuali italiane in quelle "vecchio stile", che danno maggiore priorità al gioco (come quelle di Enrico Colombini e di Bonaventura Di Bello), e quelle "moderne" che danno invece maggior risalto alla trama e allo sviluppo narrativo. A mio modesto parere vanno bene entrambe, sebbene io propenda più per queste ultime (ma è comunque solo una questione di gusti personali). È però anche vero che, come afferma giustamente Bonaventura Di Bello nella sua intervista apparsa sul numero 2 di Terra d’If, "il giocatore deve concentrarsi sugli enigmi e sulla trama, con la possibilità di ottenere appunto una descrizione dettagliata e 'romanzata' di luoghi, oggetti ed eventi solo la prima volta che incorre in essi".
Per quanto riguarda i sistemi con i quali creare le avventure testuali, oltre a Inform sono disponibili il M.A.C. (Mystery Adventure Creator) di Paolo Lucchesi e il vecchio Modulo Base di Enrico Colombini, più semplici da usare rispetto al primo ma anche più limitati.
Parlando invece della distribuzione, occorre tirare nuovamente in ballo il parser, definito da qualcuno come "un joystick a sinonimi che simula solo una banalizzazione del linguaggio naturale". In poche parole, dal momento che in un’avventura testuale non è possibile utilizzare dei comandi del tipo "adesso vai a ovest per 10 metri e poi dirigiti verso nord" (ma molto più semplicemente "vai a ovest" e "vai a nord" ➨ banalizzazione del linguaggio naturale) occorre capire come darli (joystick a sinonimi). Infatti, come afferma Paolo Maroncelli, "chi si avvicina per la prima volta alle avventure testuali si sbizzarrisce di solito in frasi mirabolanti e incomprensibili". Occorre quindi capire quali sono i meccanismi e adeguarsi di conseguenza. Per far sì che questo avvenga, l’unico modo, secondo me, è quello di distribuire la propria avventura testuale insieme alla soluzione, perché includere la sola introduzione che spiega quali sono i tipici comandi standard non basta, soprattutto nelle avventure più complesse come quelle della Infocom. Ovviamente quando parlo di soluzione intendo quella passo-a-passo (walkthrough in inglese) che altro non è che il mero elenco dei comandi da digitare per portare a termine il gioco. Mi sembra però giusto ricordare che esiste anche la soluzione sotto forma di "consigli" (hints in inglese) che spiega, con una sequenza alternata di domande e risposte, cosa si deve fare in una determinata situazione prevista dal gioco stesso. Riassumendo, per distribuire in maniera ottimale un gioco di questo tipo occorre secondo me creare un file compresso (meglio se in formato zip che è quello più usato) al cui interno includere il gioco, l’introduzione, un’eventuale mappa e le soluzioni passo-a-passo e "a consigli". In questo modo si accontenteranno anche quei giocatori più esperti che, non riuscendo più ad andare avanti, preferiranno leggere gli hint e ragionarci un po’ sopra piuttosto che ritrovarsi la "pappetta pronta". Ma esiste anche un’altra possibilità: quella cioè, di chiedere aiuto a qualcuno collegandosi direttamente al gruppo di discussione italiano dedicato alle avventure testuali (it.comp.giochi.avventure.testuali) tramite Outlook, Internet, o con dei veri e propri newsreader (come ad esempio FreeAgent).
Ma occorre anche sapere dove distribuire queste benedette avventure. È presto detto: basta fare riferimento a IfItalia, il portale italiano dedicato alle avventure testuali italiane, dal quale potete anche reperire tutte (o quasi) quelle scritte dagli anni ’80 fino ad oggi. La maggior parte di esse sono in formato MS-DOS e Inform. Per le prime, occorre semplicemente eseguire il file contrassegnato dall’estensione .exe, assicurandosi però di avere estratto in una directory qualsiasi tutti i file dell’archivio (e non solo l’eseguibile); per le seconde, invece, occorre usare un programma interprete come [ Windows Frotz 2002] di David Kinder. Per le avventure in MAC, vale la stessa regola delle avventure in formato MS-DOS.
Se siete invece interessati alle avventure testuali in inglese (o in altre lingue come il francese, il tedesco e lo spagnolo) vi consiglio allora di collegarvi all’indirizzo http://wurb.com/if/ dove troverete di tutto e di più. Vi ricordo anche che questo tipo di giochi ben si adatta all’apprendimento (gratuito) di altre lingue, per via della semplicità dei comandi da dare al parser e la descrizione dei luoghi che, per i motivi che abbiamo visto, sono spesso abbastanza semplici.
E per quanto riguarda le soluzioni e i listati delle avventure testuali scritte da altri? Per le prime, se le cercate in italiano, fate sempre riferimento a IfItalia; se le cercate invece in inglese o in qualche altra lingua, andate all’indirizzo http://solutionarchive.com/ dove troverete oltre 700 soluzioni online (la maggior parte di esse in lingua inglese). Per i listati, invece, potete fare riferimento all’indirizzo http://www.ifitalia.info/pmwiki/pmwiki.php?n=Main.Sorgenti, oppure richiederli via e-mail ai rispettivi autori che (bontà loro) decideranno se accontentarvi o meno.
Buona avventura a tutti...

## Note

* ↑ Terra d’If è una fanzine, curata da Roberto Grassi, dedicata esclusivamente alle avventure testuali. È possibile scaricare i vari numeri all’indirizzo http://www.ifitalia.info/pmwiki/pmwiki.php?n=Riviste.TerraDIf.
* ↑ Sulla rivista Terra d’If sono apparsi diversi articoli inerenti agli argomenti fin qui trattati. Fra questi, mi preme citarne almeno quattro: la "Guida per principianti all’interactive Fiction" di Joe W. Aultman (apparso sul numero 1), "10 suggerimenti per un ottimo ‘Game Design’" di C. E. Forman (apparso sul numero 3), "Oh no! Betatest!" di C. E. Forman (apparso sul numero 5) e soprattutto la "Carta dei diritti del giocatore" di Graham Nelson (apparso sul numero 7).
* ↑ Enrico Colombini e Bonaventura Di Bello sono stati gli autori italiani di avventure testuali più famosi degli anni '80. In particolare, il secondo ha scritto tutte le avventure apparse sulle riviste Viking ed Explorer, che si possono reperire sul sito del Progetto Lazzaro (http://www.progettolazzaro.org/), su IfItalia o all’indirizzo http://ready64.org/; per poterle eseguire, avete bisogno di un emulatore del vecchio e glorioso Commodore 64 e personalmente vi consiglio l’ottimo e gratuito Vice. Le avventure di Enrico Colombini, invece, girano sotto MS-DOS e si possono scaricare dalla sua home page (http://www.erix.it/avventure.html).
* ↑ Per distribuire le vostre avventure testuali su IfItalia dovete registrarvi: per sapere come farlo contattate direttamente il gestore del sito. N.B.: per chi non lo sapesse, il termine nickname indica un nome qualsiasi, così come download significa "scaricare un file da"; il termine upload, invece, significa "mandare un file a".
* ↑ Su Internet, la maggior parte dei dati è distribuita sotto forma di file compressi. Per decomprimerli (o, se preferite, estrarli dal file compresso) occorrono degli appositi programmi di compressione/decompressione; dal momento che il formato attualmente più diffuso è lo zip, il programma che vi occorre è WinZip, reperibile praticamente dappertutto.