Inform e Glulx/RUINS, l'avventura comincia/La cripta dei nove signori della notte (o sette come i nani)?

Wikibooks, manuali e libri di testo liberi.
Jump to navigation Jump to search

La vostra situazione è terribile: così conciati, le ragazze non vi degneranno neanche di uno sguardo. Non che prima vi guardassero poi più di tanto (una su duecento), ma adesso ogni vostra possibilità è andata persa. Delusi e disperati, decidete di farla finita e vi dirigete verso la Tana del Verme, convinti che verrete divorati quanto prima da quella bestiaccia schifosa. Ma più passa il tempo, più la tana diventa scivolosa intorno al vostro corpo di facocero, e strillate senza volerlo come annaspate nell'oscurità, precipitando infine a sud verso una cripta. Vi guardate intorno: la cripta è arredata di mensole, otturata con un sigillo di terracotta e contenente alcune figure dipinte che potrebbero rappresentare i Nove Signori Della Notte. C’è anche un favo splendidamente conservato, che forse rappresenta qualche tipo di offerta funeraria.


La cripta dei nove signori della notte (o sette come i nani)?[modifica]

La Tana del Verme, che abbiamo già visto nel sesto paragrafo di questo capitolo, presenta ora delle novità:

Object  Wormcast "Tana Del Verme"
  with  description
		.
                .
                .
        cant_go [;
            if (player ~= warthog)
                "Cominci a capire che c'@`e qualcosa dietro la tana, 
                 perch@'e questa via deve essere stata creata da qualche 
                 sorta di animale strisciante, troppo stretta per il tuo 
                 pancione da archeologo.";
            print "La tana diventa scivolosa intorno al tuo corpo di 
                   facocero e strilli senza volerlo come annaspi 
                   nell'oscurit@`a, precipitando infine a sud verso...^";
            PlayerTo(Burial_Shaft);
            rtrue;
            ],
        after [;
            Drop:
                move noun to Square_Chamber;
                print_ret (The) noun,
                          " scivola attraverso uno dei cunicoli e ", 
                           (itorthem) noun, " perdi rapidamente di 
                           vista.";
            ],
  has   light;

Quando il giocatore cerca di andare in una direzione che non porta da nessuna parte, se non è stato ancora trasformato in un facocero, Inform si limita a stampare a video il relativo messaggio. Diverso è invece il caso in cui il giocatore sia il facocero in questione. Dopo che Inform ha stampato a video il relativo messaggio di appartenenza, entra in gioco l’istruzione PlayerTo, che si usa quando si vuole spostare il giocatore in una locazione qualsiasi definita all’interno dell’avventura stessa, o eventualmente in un contenitore con l’attributo enterable.
Sono previsti poi due possibili parametri: 1 (Inform sposta il giocatore nella locazione indicata tra le parentesi tonde senza però stampare a video la descrizione della nuova locazione):

Tana Del Verme (come facocero)

>n
La tana diventa scivolosa intorno al tuo corpo di facocero e strilli senza volerlo come annaspi nell'oscurità, precipitando infine a sud verso...

>

e 2 (Inform stampa a video la descrizione della nuova locazione):

La Sala Quadrata (come facocero)

Delle iscrizioni scolpite riempiono le pareti, il pavimento e il soffitto.

>e

Tana Del Verme (come facocero)

>n
La tana diventa scivolosa intorno al tuo corpo di facocero e strilli senza volerlo come annaspi nell'oscurità, precipitando infine a sud verso...

La Cripta (come facocero)
Sui tuoi appunti di lavoro puoi leggere: "Una cripta arredata di mensole, otturata con un sigillo di terracotta e contenente alcune figure dipinte che potrebbero rappresentare i Nove Signori Della Notte. Delle ossa sparpagliate sembrerebbero appartenere a un uomo anziano e a diversi bambini sacrificati, mentre altri resti funerari comprendono anche le zampe di un giaguaro." (Negli appunti è importante non far notare che sei spaventato.)

C'è un favo splendidamente conservato qui.

>

Se viene chiamata la funzione con il solo nome della locazione (come accade di fatto in Ruins), il valore di default è 2 (o, più tecnicamente, true, che per Inform in questo caso è uguale a 2). A ogni modo, ricordatevi di far seguire la chiamata alla funzione con l'istruzione rtrue[1].

Inform e Glulx-sp.gif

Grazie all’istruzione PlayerTo, è possibile creare lo stesso effetto della parola magica xyzzy presente in Avventura[2]. È possibile, cioè, fare in modo che se il giocatore si trova in una specifica locazione e digita la parola xyzzy (ma può essere una qualsiasi) viene spostato in un’altra locazione e viceversa:

Il Tempio

Questo magnifico tempio mostra segni di scavi da preesistenti miniere di calcare, specialmente verso il lato occidentale, dove due lunghi cornicioni si dirigono verso sud.

La grande porta di pietra gialla è aperta.

Ci sono delle pitture impegnative e vivide qui, troppo lucide per essere guardate e ottenute mediante incisione da parte di un popolo altamente organizzato. Mostrano un sovrano corazzato che calpesta un prigioniero.

Una grande lastra di pietra che funge da tavolo o altare, domina il Tempio.

Sopra il ripiano dell'altare vedi una maschera facciale in mosaico di giada.

>xyzzy

Il Grande Altopiano
I tuoi appunti menzionano qualcosa circa questa bassa scarpata di calcare, ma la foresta pluviale ne ha rivendicato il possesso. Cupi ulivi crescono ovunque, e una pioggia appena smessa riempie l'aria con una calda nebbia bagnata. La "Struttura 10" è un cumulo di materiali da costruzione, che una volta avrebbero potuto costituire una piramide sepolcrale, ma della quale ora nulla rimane, eccetto alcuni gradini scolpiti nella nuda roccia che portano giù, nell'oscurità.

La tua cassa d'imballaggio giace qui, pronta per contenere eventuali scoperte di alto valore culturale da riportare alla civiltà.

>xyzzy

Il Tempio
Questo magnifico tempio mostra segni di scavi da preesistenti miniere di calcare, specialmente verso il lato occidentale, dove due lunghi cornicioni si dirigono verso sud.

La grande porta di pietra gialla è aperta.

La lampada al sodio, posata a terra, si sta lentamente consumando.

Ci sono delle pitture impegnative e vivide qui, troppo lucide per essere guardate e ottenute mediante incisione da parte di un popolo altamente organizzato. Mostrano un sovrano corazzato che calpesta un prigioniero.

Una grande lastra di pietra che funge da tavolo o altare, domina il Tempio.

Sopra il ripiano dell'altare vedi una maschera facciale in mosaico di giada.

>

Come avete appena visto, le due locazioni interessate sono Forest e Shrine. Andiamo ora a vedere come questi due oggetti sono stati modificati:

Object  Forest "Il Grande Altopiano"
  with  description
          .
          .
          .  
        before [; 
            Listen: "Urla di scimmie, pipistrelli, pappagalli, macao.";
            Xyzzy:  if (Shrine hasnt visited) rfalse;
                    PlayerTo(Shrine); rtrue;
            ],
  has   light;

Object Shrine "Il Tempio" with description "Questo magnifico tempio mostra segni di scavi da preesistenti miniere di calcare, specialmente verso il lato occidentale, dove due lunghi cornicioni si dirigono verso sud.", before [; Xyzzy: PlayerTo(Forest); rtrue; ], . . .

Nell’oggetto Forest, l’istruzione PlayerTo viene eseguita solo se il giocatore è stato almeno una volta nella Sala del Tempio. Nell’oggetto Shrine, invece, la funzione viene eseguita sempre (la locazione Forest infatti, dal momento che è proprio quella di partenza, è sempre "visitata" almeno una volta dal giocatore). Occorre inoltre definire l’azione xyzzy che, per ovvie ragioni, non è fra quelle standard:

Include "ItalianG";

[ PhotographSub; . . . ];
[ XyzzySub; "Non accade nulla..."; ];
Verb 'fotografa' * noun -> Photograph; Verb 'xyzzy' * -> Xyzzy;

Nulla di complicato, come potete vedere. Dal momento che questa azione è così semplice, corrisponde allora in Inform alla proprietà before. Inoltre, se il giocatore digita la parola magica quando non è ancora andato almeno una volta nella Sala del Tempio o se non si trova nel Grande Altopiano o nella sala medesima:

Il Grande Altopiano

I tuoi appunti menzionano qualcosa circa questa bassa scarpata di calcare, ma la foresta pluviale ne ha rivendicato il possesso. Cupi ulivi crescono ovunque, e una pioggia appena smessa riempie l'aria con una calda nebbia bagnata. La "Struttura 10" è un cumulo di materiali da costruzione, che una volta avrebbero potuto costituire una piramide sepolcrale, ma della quale ora nulla rimane, eccetto alcuni gradini scolpiti nella nuda roccia che portano giù, nell'oscurità.

Un fungo macchiato cresce dalla terra fradicia, su un gambo lungo.

La tua cassa d'imballaggio giace qui, pronta per contenere eventuali scoperte di alto valore culturale da riportare alla civiltà.

>xyzzy
Non accade nulla...

>prendi il fungo
Hai raccolto abilmente il fungo, senza staccarlo dal suo gambo sottile.

>mangia il fungo
Lo sgranocchi ad un angolo, incapace di capire l'origine di un gusto così acre, distratto dal volo di un macao sopra la tua testa che sembra quasi un'esplosione nel sole. Il battito delle sue ali è quasi assordante, e delle pietre crollano una sull'altra.

>giù

La Sala Quadrata
Sei in una sala di pietra oscura e profonda, larga circa dieci metri. Un raggio di sole, proveniente dalla cima della scalinata, la illumina diffusamente, ma le ombre del livello più basso rivelano dei passaggi verso est e sud, che conducono verso la più profonda oscurità del Tempio.

Delle iscrizioni scolpite riempiono le pareti, il pavimento e il soffitto.

>xyzzy
Non accade nulla...

>

ecco quello che accade (cioè nulla).

Inform e Glulx-sp.gif

Per quanto riguarda invece la Cripta, c’è un piccolo problema: entrando (o meglio, precipitando) come facocero, non è possibile leggere gli appunti di lavoro. Eppure la descrizione di questa nuova locazione afferma proprio il contrario: ora, dal momento che, come vedremo meglio nel prossimo paragrafo, è possibile accedere alla Cripta anche in forma "umana", non basta cancellare la parte di descrizione inerente agli appunti di lavoro, ma occorre modificare l’oggetto Burial_Shaft nel seguente modo:

Object  Burial_Shaft "La Cripta"
  with  description [;
            if (player ~= warthog) 
                "Sui tuoi appunti di lavoro puoi leggere: ~Una cripta 
                 arredata di mensole, otturata con un sigillo di 
                 terracotta e contenente alcune figure dipinte che
                 potrebbero rappresentare i Nove Signori Della Notte. 
                 Delle ossa sparpagliate sembrerebbero appartenere a un 
                 uomo anziano e a diversi bambini sacrificati, mentre 
                 altri resti funerari comprendono anche le zampe di un 
                 giaguaro.~ (Negli appunti @`e importante non far notare 
                 che sei spaventato.)";
            "Sei in una cripta arredata di mensole, otturata con un 
             sigillo di terracotta e contenente alcune figure dipinte che 
             potrebbero rappresentare i Nove Signori Della Notte. Delle 
             ossa sparpagliate sembrerebbero appartenere a un uomo 
             anziano e a diversi bambini sacrificati, mentre altri resti 
             funerari comprendono anche le zampe di un giaguaro.";
        ],
        n_to Wormcast,
        cant_go
            "Gli architetti di questa sala sono stati avari nel fornirla 
             di uscite. Alcuni facoceri, comunque, sembrano aver scavato 
             dei cunicoli da nord.",
  has   female light;

Se il giocatore non è un facocero, Inform stampa a video il messaggio "Suoi tuoi appunti di lavoro...", altrimenti viene stampato a video "Sei in una cripta arredata di mensole...". Vi ricordo ancora una volta che, per un’istruzione if, si usano le parentesi graffe aperte ({) e chiuse (}) solo se ad essa corrispondono più istruzioni; altrimenti, come in questo caso, si omettono.

Note[modifica]

  1. Cliccate qui per scaricare il listato di questo esercizio (il file 4.13.inf).
  2. Adventure o Colossal Cave (tradotta in italiano da Giovanni Riccardi) è la prima avventura testuale ad essere mai stata scritta. Ulteriori informazioni potete trovarle all’indirizzo http://www.rickadams.org/adventure/.