Un IDE per avventure testuali in Linux


La prima avventura testuale per computer si chiamava Colossal Cave, la scrisse Will Crowther per i suoi nipoti e non immaginava che sarebbe diventata l’archetipo dei giochi interattivi per computer. Era senza immagini, senza suono, eppure fece fortuna fra gli anni Settanta e Ottanta del Novecento; infatti ai primordi della computer science la grafica era un’esclusiva dei sistemi mainframe militari e industriali per cui bastava scrivere storie suggestive per conseguire il massimo effetto sul lettore. Inoltre, Crowther programmò il gioco in modo tale che potesse capire e analizzare frasi del tipo “unlock grate“, “get key” e “go north” che il giocatore inseriva nella riga dei comandi, questa caratteristica fece notevole impressione su chi si accostava per la prima volta a un computer.

Plico di schede perforate per computer mainframe

Plico di schede perforate per computer mainframe

Nonostante i progressi tecnologici abbiano reso possibile oggi la realizzazione di giochi per computer con i suoni  e le immagini – la grafica 3D per giunta è diventata sempre più realistica e ricca di dettagli – la produzione di questo genere di avventure è continuata fino ai giorni nostri: giovani e meno giovani rimangono affascinati da una I.F. (acronimo inglese che sta per Interactive Fiction)  scritta bene, i vecchi autori sono stati affiancati dalle nuove leve e i moderni linguaggi di programmazione hanno portato gli interpreti dei comandi fino al World Wide Web. Basandosi sul lavoro di Crowther alcuni ragazzi al MIT scrissero un parser per la loro avventura intitolata “Zork”. In seguito a quell’esperienza nacque la compagnia Infocom che divenne un riferimento fra gli aspiranti scrittori di avventure interattive. Però i manfraime non potevano rimanere nel canale di distribuzione principale dei videogiochi testuali, la piazza era troppo ridotta e il pubblico era composto per lo più da tecnici al lavoro sulle schede perforate; Infocom cercò un modo per far arrivare Zork sui personal computer che iniziavano a diffondersi nelle case agli inizi degli anni Ottanta. La soluzione consisteva di una macchina virtuale che potesse “girare” sui vari modelli di home computer senza dover riscrivere per ogni avventura un interprete compatibile. Chiamarono questo software Zork machine o Z-machine. Il successo fu enorme.

Lo scrittore di storie d’avventure interattive è, prima di tutto, un appassionato di computer con conoscenze di programmazione o un professionista dell’IT, poi è un autore di libri o ha l’hobby della scrittura. Gli strumenti a sua disposizione sono molto sofisticati, dal compilatore all’interfaccia grafica di sviluppo (IDE). In genere questi programmi sono multipiattaforma o open source, ma su Linux il processo di sviluppo è complicato dal fatto che mancano alcune funzionalità. Se l’autore volesse creare una storia con il linguaggio Inform, ideato da Graham Nelson per generare codice compatibile con la Z-machine, potrebbe scegliere fra due IDE: il primo è Gnome Inform7 che dipende molto, in questo caso, dal sistema operativo (e dal Desktop Environment); il secondo è Inform 7 Feature per Eclipse che permette di tenere tutti i progetti Java, C, Php, ecc. assieme a quelli scritti nel linguaggio Inform. Quest’ultima soluzione è l’oggetto di questo articolo. La documentazione ufficiale di Inform 7 fa riferimento invece a un IDE per Windows e OS X che non è disponibile per Linux.

Inform 7 Feature for Eclipse è un insieme di plug-in open source che supporterà lo sviluppo multi-piattaforma dei progetti di I.F., ma che allo stato attuale è sottoposto a test solo su Linux. Nell’ambiente di sviluppo Eclipse la programmazione è facilitata dal controllo della sintassi e da un insieme di caratteristiche tipiche di questo IDE, per esempio il Project Manager, il sistema di controllo versione e l’integrazione con gli altri strumenti di sviluppo e condivisione online. Inform 7 Feature è potenzialmente superiore all’IDE che accompagna il compilatore Inform 7, tuttavia alcune caratteristiche importanti di quest’ultimo non sono state implementate in Inform per Eclipse.

Volendo scrivere una I.F. sotto Linux, la prima cosa da fare è installare Eclipse (*), per esempio quello fornito nell’archivo per gli sviluppatori Java, denominato Eclipse IDE for Java EE Developers, dopodiché si avvia il programma e dal Workbench si seleziona la voce “Installa nuovo software” del menu Aiuto. È indispensabile la connessione online, perché in questo modo viene automatizzato il processo di installazione del plug-in in Eclipse e sono risolte al volo le dipendenze dai pacchetti supplementari.

Installa il plug-in Inform 7 per Eclipse

Installa il plug-in Inform 7 per Eclipse

Nella finestra di dialogo occorre premere il pulsante “Aggiungi” e inserire nei due campi un nome (a piacere) per il plugin e il suo indirizzo web che in questo caso specifico è http://inform-eclipse.sf.net/updates (vd. immagine seguente). L’avvertimento che compare durante il download segnala il fatto che il plugin è privo di firma, ma può essere tranquillamente ignorato. A questo punto è necessario un riavvio di Eclipse e procedere con la configurazione di Inform 7 Feature.

Selezione del plugin Inform 7 per Eclipse

Selezione del plugin Inform 7 per Eclipse

La configurazione riguarda alcune aggiunte alla prospettiva nel workbench e altre che attivano le funzioni per la scrittura delle avventure in linguaggio Inform 7. Nel menu “Finestra” (o Window) c’è la voce “Mostra vista” (o Show view in inglese) e la sottovoce “Altro”. La dialog box presenta un elenco di componenti elencate in ordine alfabetico, a noi interessa quella etichettata con “Inform 7 Skein” che aggiunge il riguadro Transcript alla vista inferiore della prospettiva di Eclipse. Il passo successivo prevede l’inserimento di alcuni comandi al menu “Run” nella barra degli strumenti principale e l’individuazione dell’interprete nel sistema. Procediamo nel seguente modo:

  1. Nel menu Finestra selezionare “Prospettiva personalizzata” (o Custom perspective).

  2. Nella scheda dei gruppi di comandi cercare l’opzione “Inform 7 presentation” e attivarla.

  3. Nelle preferenze di Eclipse, alla voce Inform 7, inserire il percorso verso la directory di installazione dell’interprete del linguaggio.

  4. Salvare la prospettiva (Windows, Save perspective as…)
Configurazione interprete Inform 7

Configurazione interprete Inform 7

Ogni storia interattiva è gestita separatamente dai progetti scritti in altri linguaggi di programmazione, inoltre il singolo progetto è presentato nel Project manager con una cartella collegata a un albero di directory e file. Per crearne uno in linguaggio Inform 7:

  1. Selezionare il menu File, la voce New e quindi scegliere “Altro” dall’elenco presentato nella tendina.

  2. Cercare “Inform 7 Project” nella dialog box del wizard di Eclipse, premere il pulsante Next (o Successivo).

  3. Scegliere un nome per il progetto e una directory di lavoro oppure lasciare quella suggerita da Eclipse.

  4. Premere il pulsante “Finish”

Si noterà un’icona rossa a fianco del nome del progetto, ma non c’è da preoccuparsi perché segnala che il file sorgente è vuoto e pertanto l’avventura non può essere costruita. Aprite il file story.ni nella cartella Source, spostatevi poi nell’’editor e aggiungete sotto alla riga con il titolo dell’avventura la seguente frase:  “The Office is a room”, quindi salvatelo premendo la combinazione di tasti CTRL+S, l’icona sparirà. Infine, create il file di skein nella directory source: è sufficiente selezionare la cartella Source e nel menu File la voce “New file”, poi specificare un nome di file con estensione skein.

Editing di un'avventura

Editing di un’avventura

Per compilare la storia ed eseguirla, cliccare sul nome del progetto con il tasto destro del mouse, quindi selezionare la voce “Run as” e “Run configurations…”. Nella finestra di dialogo, alla voce Inform 7, aggiungere una nuova configurazione di esecuzione, specificando il nome del progetto, il tipo di file generato (per esempio z8) e avendo cura di attivare l’opzione “Run” nella scheda “Common”.

Ogni anno viene indetta una competizione internazionale organizzata da un gruppo di fan di Interactive Fiction; questa comunità si chiama Interactive Fiction Community, ha un sito web e un portale dedicato alla gara dove chiunque può leggere le avventure testuali presentate dai candidati e votarle (previa registrazione). Questa cosa va avanti da diciotto anni, è l’occasione per giocare alcune delle migliori I.F. in circolazione scrite in lingua inglese (purtroppo vengono accettati solo lavori scritti in questa lingua). Le votazioni terminano il 15 novembre. Inform7 Feature è lo strumento adatto per prendere confidenza con il linguaggio Inform7, scrivere la propria storia interattiva con Linux e presentarla in tempo per la competizione dell’anno prossimo venturo.

(*) Eclipse dipende dall’interprete Java, se non fosse già installato bisogna scaricarlo da Internet con un gestore di pacchetti della distribuzione Linux in uso oppure prelevarlo direttamente dal sito di Oracle. Analagomente Eclipse può essere fornito dalla distribuzione o installato nella versione “all-in-one” specificata in precedenza. In questo caso il comando d’installazione per il terminale Linux è tar xvfz ./eclipse-jee-kepler-SR1-linux-gtk.tar.gz, preferibilmente da eseguire nella directory /opt.

Fonti dell’articolo: An Introduction to Gnome Inform7, Part 1 § http://inform-eclipse.sourceforge.net/

Lascia un commento

Effettua il login con uno di questi metodi per inviare il tuo commento:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...