lunedì 11 ottobre 2010

INTERACTIVE FICTION FAI-DA-TE



Sono sempre rimasto affascinato dalle cossiddette "avventure testuali", più correttamente chiamate in inglese "interactive fiction".
Siccome mi piace inventare storie, ho pensato più volte di scriverne qualcuna, però mi sono scontrato subito con alcuni problemi fondamentali:
- dovrei imparare un linguaggio di programmazione apposito (ad esempio Inform7)
- dovrei scrivere ramificazioni della storia che tengano conto di tutte le possibili conseguenze di ogni singolo comando inserito durante il gioco, complicando tutto esponenzialmente al crescere della lunghezza della storia
- potrei scrivere solo giochi per altre persone, visto che io dovrei necessariamente essere a conoscenza di ogni singolo passaggio della storia.
A quel punto mi sono posto una domanda un po' strana: "se volessi inventare una storia senza sapere a priori cosa succederà, come potrei fare?"
Volevo insomma implementare un sistema per poter giocare in solitario un'avventura testuale lunga a piacere, superando il paradosso di essere sia il creatore sia il lettore della storia.
Ma come si può inventare una storia senza prima conoscerla?

Dopo un po' di riflessione, la soluzione si è presentata più semplice del previsto:
1 - Scrivo un paragrafo della storia
2 - Concludo il paragrafo descrivendo una situazione incerta (un dilemma, un pericolo incombente, una scelta da compiere, ecc...)
3 - Pongo una domanda su come si risolverà la situazione
4 - Lascio che qualcun altro mi dia la risposta
5 - Proseguo la storia sulla base della risposta ottenuta.

A quel punto si trattava di pianificare concretamente l'idea in termini informatici, ed il problema successivo era: "come faccio a scrivere un programma che risponda in modo sensato alle domande su come procederà la storia?". Anche qui la risposta era piuttosto semplice: basta formulare le domande in modo che il computer debba rispondere solo con un "" o un "no" (e relative gradazioni intermedie).

Una volta stabilito quello, la fase di programmazione poteva essere affrontata con facilità, tanto da permettermi di realizzare al volo sia una versione in italiano che una in inglese.
Naturalmente il risultato finale è molto grezzo, tanto che per il momento il salvataggio ed il caricamento di una storia devono essere fatti a mano (copiando/incollando il testo della storia in/da un file di testo appositamente creato), però funziona!
A questa microscopica applicazione ho dato il nome di "Interactive Storytelling Tool" e potete trovarla all'indirizzo http://istool.bravehost.com/ (oppure tra i "links" nella colonna di destra).

Spero che lo troviate divertente!
Buona storia a tutti! ^__^

4 commenti:

IVAN ha detto...

GRANDISSIMO LUCA!!!!!

sei un pozzo infinito di Idee!!!!


e di capacità realizzative!!!

Luca Bonisoli ha detto...

Esagerato!!! #^__^#
Grazie mille! ^__^

Anonimo ha detto...

http://www.ugo.com/games/superhero-generator-heromachine-2-5

potrebbe essere utile....

BUON DIVERTIMENTO!!

Luca Bonisoli ha detto...

Sì, quel giochino lo conoscevo già, anche se avevo provato una versione molto più vecchia.
E' sempre divertente da usare! ^__^