Dopo aver giocato a qualche IF, molte persone decidono che vogliono provare a
scrivere qualcosa di proprio. Il primo passo è quello di tradurre le vostre idee
in un codice sorgente.
Il codice sorgente è un insieme di istruzioni, scritte in un
linguaggio per computer, che definiscono cose come quali oggetti ci sono in un gioco,
che cosa fanno, come si comportano quando un giocatore cerca di manipolarli, e così
via. Ci sono molti linguaggi per computer progettati specificatamente per scrivere
IF, come TADS, Hugo e Alan. Ma il linguaggio per IF più usato in questo momento
è Inform.
Inform è un linguaggio abbastanza ad alto livello, il che significa che è più
vicino al modo in cui gli esseri umani processano le informazioni ("Se il personaggio
del giocatore cerca di prendere il cracker al pappagallo, il pappagallo può
morderlo") che a quello dei computer ("001001101110010"). Un frammento di codice
Inform che agisca in questo modo potrebbe apparire come quello che segue:
Anche se non conoscente Inform, potete dare un'occhiata a questo codice e farvi
un'idea abbastanza precisa di quello che fa. È certamente più facile rendere le
idee in questa forma che direttamente attraverso una stringa di numeri.
(E se volete imparare Inform -- di cui avete bisogno prima di continuare con la
sezione due -- un bel posto per cominciare è il sito web di Inform, mantenuto
dal creatore del linguaggio, Graham Nelson.)
Alcune parti di un determinato gioco in Inform possono essere proprie di tale
gioco -- non in tutti i giochi ci sono dei pappagalli, ad esempio.
Ma una gran parte può ripetersi da gioco a gioco. Sicuramente la maggior parte dei giochi
di IF ha bisogno di un parser, la parte del gioco che prende
i comandi complessi come "METTI TUTTO TRANNE IL CRACKER NELLA GABBIA DEL PAPPAGALLO" e
li scompone in una lista di cose da fare ("esegui il comando Inserisci sul pappagallo,
il mangime ed il giornale, ma non sul cracker, con la gabbia come destinazione").
Scrivere un parser dall'inizio può essere estremamente difficile -- la maggior parte
dei parser "fatti in casa" (ed una manciata di questi viene fuori ad ogni IF
competition) sono terribili. Inoltre è una perdita di tempo: se una persona ne ha
codificato uno veramente buono, e volete che il vostro parser faccia quasi le stesse
cose, perché non potete semplicemente usare il codice di quella persona? Risposta:
potete. Il parser, il sistema di gestione degli oggetti e quasi ogni elemento
di interactive fiction che si ripete da gioco a gioco è presente nella libreria
di Inform.
Una libreria è un gruppo di file, scritto nello stesso linguaggio
con il quale state programmando, che potete includere nel vostro programma per
eseguire certe funzioni senza aver bisogno di ricodificarle.
In Inform questa cosa è facile come scrivere:
Codificate gli oggetti e le routine proprie del vostro gioco, aggiungete quelle
tre linee al posto giusto ed il vostro programma è completo.
D'altra parte nessun computer può eseguire direttamente il codice sorgente: il
codice sorgente ha bisogno di essere tradotto in codice macchina.
Object pappagallo "Polly il pappagallo"
with name 'polly' 'pappagallo' 'uccello',
before [;
LetGo: if (noun == cracker) "Polly morde la tua mano mentre
cerchi di sgraffignargli il cracker! ~Awwwk! Giù le mani!~
dichiara.";
],
has animate proper;
Include "Parser";
Include "VerbLib";
Include "Grammar";
Prossima sezione: Dal codice sorgente al codice della virtual machine
O ritorna al sommario