Newsgroup: it.comp.giochi.avventure.testuali
Titolo: liste di verbi limitate

salve, sono troy mcclure, forse vi ricorderete di me per discussioni
come "if in php".
ebbene, all'epoca (
http://groups.google.it/group/it.comp.giochi.avventure.testuali/browse_frm/thread/d90eb704cef20b9c/886dbd1659f7484a?q=php-if&rnum=1#886dbd1659f7484a
) mi stavo per l'appunto occupando dello sviluppo di un sistema per la
creazione di avventure testuali in php. l'opinione contraria di paolo
lucchesi mi ha dato parecchio da pensare perchè in effetti il "non
giocabile offline" diventa un limite enorme. abbandonai il proggetto
quando era a buon punto.
al momento, tuttavia, sto lavorando a qualcosa di simile. l'idea di
avere un'if che gira in un browser ha sempre i vantaggi di cui parlavo
tempo fa (portabilità, diffusione eccetera) e sto limitando il
problema online / offline savorando in javascript. che non è un
linguaggio così malvagio come temevo.
ma comunque, non è questo il momento di parlarne, probabilmente nei
prossimi giorni avrete più notizie a riguardo.
partendo da questa nuova idea, però, mi sono scontrato con una
soluzione a un problema che ha generato un nuovo problema e volevo
parlarvene.
(ah, buttanto lì la cosa.. complimenti agli autori per il successo di
beyond, ho intenzione di giocarla a giorni. cose come questa non
possono che far bene a tutta la comunità if italian! BRAVI!)
da giocatore e da lettore di recensioni, se c'è una piaga che sembra
possa affliggere un gioco in qualche modo è l'infame
"indovina-il-verbo" "indovina-il-nome". quelle scomode situazioni in
cui dopo ore di tentavi sei costretto a ricorrere alla soluzione solo
per scoprire che l'autore non ha contemplato il tuo "accendi il fuoco
nel camino" ma solo il suo "appicca legna nella caldaia" [esempio
inventato al momento ma tristemente realistico].
trovandomi a gestire un sistema con browser, le capacità dell'html, il
mouse, i link eccetera, mi sono istintivamente indirizzato verso
qualcosa di punta-e-clicca che ben presto ha fatto virare il mio
progetto in qualcosa di abbastanza distante dal classico stile infocom.
inutile dire che la prima "mini avventura" sulla quale ho deciso di
testare il sistema è cloak of darkness, l'"hello world" dell'if (per
chi non lo conoscesse: 
http://www.firthworks.com/roger/cloak/
 ). mi
sono subito trovato davanti alle prime limitazioni.
il sistema funziona così: immaginate la prima schermata
dell'avventura: si descrive il foyer di un teatro. nel testo
descrittivo c'è anche l'indicazione delle uscite (a nord puoi vedere
la porta del bar...). parole come "nord" sono dei link che cliccati
portano nella stanza indicata. cliccando su parole standard come
"inventario" in una parte apposita dello schermo appare la lista degli
oggetti che portiano con noi. ogni oggetto è cliccabile. questo fa
apparire, sepmpre in quella parte dello schermo, la descrizione
dell'oggetto e le varie azioni eseguibili con l'oggetto stesso (è uno
splendido cappotto eccetera .. POSA INDOSSA eccetera). quando c'è un
oggetto nella stanza, è ovviamente cliccabile e, come si può intuire,
nella solita parte dello schermo ci sarà descrizione e azioni.
questo sistema semplicissimo e molto intuitivo (ho comunque lasciato lo
spazio per un "input box" normale per tutti quei comando che potrebbero
servire, come parole magiche, numeri telefonici eccetera) risolve
automaticamente una serie di piaghe dell'if. se nel guardaroba vedo un
gancio (mi riferisco sempre a cloak of darkness), mi basta clikkare
sulla parola "gancio" della descrizione per avere a disposizione una
descrizione e una lista delle azioni possibili. non si lascia spazio a
incomprensioni autore - giocatore. il primo non deve cercare diecimila
sinonimi che potrebbero venire in mente al giocatore (piolo, appendino,
appendiabiti, gruccia, gancetto..), il secondo si sbarazza di tutto
quello (non capisco cosa vuoi dire, non è un verbo che conosco, non
vedi nessun appendiabiti in questa stanza) che sposterebbe la sua
attenzione dal gioco (cosa devo fare in questa stanza? perchè è così
deserto qui?) e la porta al giocattolo (ma che cavolo di parola devo
usare?). tutto quello che posso fare è lì, a portata di click.
questo è anche il grosso limite del sistema. in questo tentativo di
ottenere sintesi e trasparenza, ho portato all'estremo le conseguenza.
il gancio del gioco non è tirabile, staccabile eccetera. è fisso e
inutile. al massimo ci si può appendere il cappotto. il cappotto,
d'altro canto, può solo essere posato o appeso (ed eventualmente
raccolto). nella schermata del gancio, quindi, ho eliminato tutto
tranne la descrizione ("un semplice gancio in ottone.."). che senso ha
mettere una lista come "RUOTA SPINGI TIRA" se poi, ad ogni comando, la
risposta è un invariato "è fisso al suo posto"? idem per il cappotto,
solo tre verbi, fra cui APPENDI disponibili. questo ovviamente è un
problema. la sola presenza di un verbo non standard come appendi, per
esempio, è una chiara indicazione al giocatore su un'azione da
compiere.
mi è venuto alla mente un altro gioco che sto sviluppando (in inform)
in cui, nella prima stanza, fra vari oggetti c'è anche una libreria.
esaminandola si possono trovare dei libri interessanti. se il giocatore
dovesse arrampicaricisi, però, troverebbe anche una doppietta nascosta
lì dal nonno e poi dimenticata. non è essenziale per il gioco, ma
aiuta. questa libreria, implementata con il sistema di cui sto
discutendo, avrebbe solo un verbo palese: ARRAMPICATI, levando spessore
al gioco.
per lo stesso motivo, sono in enorme difficoltà nella rappresentazione
del "dark bar" di cloak of darkness. è una stanza dove non ci si deve
muovere per evitare di rovinare una scritta fatta  sulla segatura (non
è 'sto gran spoiler, no? ;) ). la descrizione della stanza ne descrive
solo l'innaturale oscurità. vista l'assenza del sistema così com'è
del classico compasso direzionale e di verbi standard, dovrei aggirare
il problema con qualcosa di squallido come "potresti avventurati a nord
o a est..) eccetera. e comunque sarebbe inelegante e potrebbe
indirizzare il giocatore a fare o non fare certe cose.
da qui l'idea di avere una serie di verbi standard (tipo le avventure
grafiche della lucas, per dire!), divisi fra quelli di movimento e
quelli applicabili agli oggetti o ai png. ogni oggetto, quindi,
potrebbe avere un menu a tendina (per esempio) di azioni fra cui
ARRAMPICATI. nel caso di una caffettiera non porta a nessun risultato,
nel caso della libreria a una doppietta.
tutto il mio problema nasce dall'oggettiva difficoltà di sviluppare un
parser che possa competere con hugo, tads, inform (ovviamente), ma
anche da un mio modo di intendere l'if per cui la riga di comando da
una parte e il parser dall'altra non sono che il mezzo con cui io
giocatore interagisco con il mondo simulato dal programma. "svita il
tappo della penna rossa e suonalo come un kazoo" è un magnifico
esempio di comando che idealmente un programma dovrebbe comprendere. ma
visto che quella della comprensione è in realtà solo un'illusione
simulata e per quante parole / azioni / sinonimi un parser possa
comprendere è sempre un set infinitamente illimitato rispetto alle
capacità espressive di una lingua, a questo punto, a mio avviso, è
meglio concentrarsi* sullo sviluppo di una interfaccia di comunicazione
gioco / giocatore che aiuti il giocatore a farsi capire e il programma
a capire.
quali sono le vostre opionioni e i vostri suggerimenti a riguardo?
grazie in anticipo,
gustavo
*non ho intenzione di riaprire il dibattito. la cosa migliore è
imparare l'inform, che è facile e con delle librerie in italiano
eccezionali, e un sacco di supporto italiano e non. i miei approcci a
sistemi alternativi sono un mio personale divertissement intellettuale
e di ricerca, non ho intenzione di attaccare i "grandi" o dire
spocchiosamente di poter far meglio di sistemi che si sviluppano,
crescono e migliorano da vent'anni!

 quali sono le vostre opionioni e i vostri suggerimenti a riguardo?
Dico che stai portando avanti una cosa molto interessante sulla quale
mi trovi assolutamente d'accordo.
Rob

Quello che dici e' interessante e metti sul fuoco tanti argomenti
importanti ma anche difficili da trattare... portabilita', web e giochi
on-line, interfacce di comunicazione uomo-macchina, realta' e
simulazione...
In realta', molti aspetti della strada alternativa che sembri voler
percorrere sono gia' noti e analizzati da tempo (le soluzioni ad
"ipertesto"  nascono verso la meta' degli anni '80) 
Interessante come, in merito a vantaggi/svantaggi, le tue conclusioni
coincidano perfettamente con quelle storicamente note.
.. personalmente, leggendo il tuo testo, sono rimasto colpito dalla buona
volonta' che dimostri ma sono anche stato preso dal timore che questo
entusiasmo possa finire diretto verso soluzioni di dubbia riuscita.
Possiamo parlare di questo, prima pero' consentimi qualche domanda su
certi dettagli che ignoro:
-Scusa la prima curiosita': sei "Pistacchio" ma poi dici di chiamarti
"troy mcclure"... sei uno straniero in Italia o e' solo un secondo
soprannome? (..preso da un personaggio che non conosco??)
-Il sistema che stai svilluppando come dovrebbe essere poi impiegato
dall'utente per scrivere un gioco? Sempre programmando in javascript con
l'ausilio di librerie e strutture gia' da te predisposte per l'if o
attraverso un linguaggio "ad hoc" che poi il tuo sistema provvederebbe a
"compilare" in java script in modo da disporre di un macchina virtuale?
-Conosci il sistema "Idra"? Pensi sarebbe possibile ottenere qualcosa di
simile a quello che hai in mente sfruttando tale sistema, oppure
potenziando le possibilita' dell'Idra attuale?
saluti
Seven_Legion
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 nel caso della libreria a una doppietta.
L'idea della lista non contestuale mi piace poco, e l'avevo gia' 
scartata. Il problema sta nella dimensione della lista di azioni.
Se vogliamo contemplare tutte le azioni possibili, vien fuori una lista 
immensa, in cui per ogni oggetto la maggior parte delle azioni sono 
inutili (perche' dovrei in condizioni normali voler parlare ad un tavolo 
o chiudere un png).
Se invece vogliamo ridurre le dimensioni della lista a 6/8 azioni, siamo 
costretti a ricorrere ad azioni generiche (e qui mi sento arrivare tra 
la terza e la quarta vertebra cerebrale l'orribile verbo "USA") che non 
sempre rispecchiano la vera intenzione del giocatore.
Inoltre una lista ridotta porta il problema degli enigmi risolti per 
esaustione, ovvero provando tutte le azioni e tutte le combinazioni (un 
classico delle A.G.)
E manca in entrambi i casi l'eleganza della lista contestuale.
Mi viene in mente mentre scrivo una soluzione ibrida: dividiamo gli 
oggetti per categoria (png, uscite, oggetti grandi/statici, oggetti 
piccoli/trasportabili, etc.etc.) e usiamo una lista diversa per ogni 
categoria...
Btw, come pensavi di gestire, nelle due soluzioni, le combinazioni di 
oggetti con altri oggetti (es. COLPISCI IL VASO MING CON IL RANDELLO)?
Bon, per ora basta cosi'... continuo poi...
bye
-- 
Paolo Lucchesi
email: plucchesi(at)tin(dot)it
 

interfaccia.
Secondo me questo è un punto focale della discussione. Con qualcuno di voi ho
già avuto modo di affrontare l'argomento parser vs. pnc e non voglio tornare a
riaccendere un dibattito che, alla fine dei conti, vede emergere questioni di
sensibilità personale.
Per inquadrare al meglio la faccenda ed evitare prese di posizione non
costruttive, la tesi di PaoloL è fondamentale: un'avventura testuale
tradizionale e un punta e clicca nascono, si sviluppano e si giocano in modo
diverso. Hanno un feeling differente. IMHO non li vedo come sistemi
intercambiabili.
Con questa premessa si può pensare di elaborare un sistema che consenta di
realizzare cose interessanti.
PaoloM

 Seven_Legion
saluti a te

 Bon, per ora basta cosi'... continuo poi.
bye 
a presto!

 potenziando le possibilita' dell'Idra attuale?
all'idra ho dato qualche fugace occhiata, soprattutto agli esempi e ad


 bye 
a presto!

 come "if in php".
io sono un po' un visionario (dicesi visionario uno che dice come fare 
le cose in maniera infattibile e poi non le fa), devo però dire che 
questo tuo metodo non mi fa impazzire, mi sembra un compromesso non 
molto originale (una cosa del genere è ad esempio già presente nel 
client di jeeneon per neonecronomicon, vedi 
http://img515.imageshack.us/my.php?image=jneon7jl.jpg
 ).
allora potresti pensare qualcosa di più interessante, che si avvicina 
per alcuni aspetti ad idra, ovvero presentare un testo narrativo in cui 
vi siano elementi attivi e combinabili tra loro solo via mouse, abolendo 
del tutto verbi e verbetti. ad esempio "sei davanti ad una fontana che 
spruzza acqua, un gatto riposa sul selciato", le parole in evidenza sno 
gatto e fontana, tu clicci su gatto e lo trascini su fontana e si attiva 
l'azione di prendere il gatto di lanciarlo nella fontana.
il problema del 'ma io volevo lavare il gatto e non buttarlo nella 
fontana' è secondario, sia perché per il gatto l'acqua fa schifo uguale, 
sia e soprattutto perché *comunque* le azioni fattibili in una at sono 
limitate a quelle preorganizzate dal programmatore: fornire un 'non 
puoi' e non presentare neppure la possibilità di fare una azione ai fini 
della narrazione pari sono.
una evoluzione di idra è possibile secondo me in questa direzione, 
ovvero una maggiore permeabilità del testo narrativo via mouse, ma 
inserire menù a tendina nel testo banalizzando i comandi tipici delle at 
non mi pare questa grande invenzione.
ultima notazione a margine: vi prego programmatori se programmate un 
motore per narrazioni interattive, fatele in maniera che un *narratore* 
possa usarle, non pensatele per un altro programmatore.
f.
-- 
http://loscimmiotto.splinder.com/

possa usarle, non pensatele per un altro programmatore.
su questo punto, e con una tesi simile alla tua, discussi a lungo
sulla controparte inglese di questo newsgroup. ci sono strumenti di
sviluppo, come alan o adrift, che hanno un approccio più semplice alla
programmazione di altri come inform o tads. che il linguaggio sia
solamente un mezzo e che il fine è una bella storia, ne sono convinto.
che in giro ci siano più bravi programmatori che bravi narratori e che
questo risulti in at con puzzle spettacolarmente programmati inseriti
in mondi grigi, poco interessanti e mal descritti è anche probabile
(non lo so, non ho fatto indagini statistiche).
ma purtroppo l'avventura testuale è un hobby ibrido: programmazione +
scrittura. chi è interessato solo alla scrittura può scrivere un
libro, chi è interessato solo alla programmazione può buttarsi su uno
sparatutto. l'at è un mezzo complesso, ma questo è il suo fascino, per
la produzione del quale devono necessariamente concorrere più abilità.
questo dovrebbe essere uno stimolo a migliorarsi come scrittori e come
programmatori, ma difficilmente vedo altre vie.
gu

 possa usarle, non pensatele per un altro programmatore.
Ah, ecco perche' mi fischiavano le orecchie :-)
Parole sante, bisognerebbe frustarli tutti (io pero' purtroppo oggi ho 
un altro impegno)
   .Erix.

 programmatori, ma difficilmente vedo altre vie.
io credo che sia piuttosto un retaggio. è come se obbligassi uno 
scrittore ad usare latex invece che un word processor, credo che 
esistesse un equivalente di un word processor per fare racconti 
interattivi ci sarebbero in giro prodotti più numerosi e 
qualititativamente diversificati.
f.
APPENDICE: relazioni tra personaggio e due divani
***
#3,\Jacob osservò i due divanetti posti all'interno della sala. Si 
trattava di due piccoli divanetti, apparentemente identici, ma in realtà 
speculari. Il divanetto rosso, infatti, era privo di uno dei due 
braccioli, mentre a quello verde mancava l'altro. Jacob ricordò come 
quei due brutti divanetti venissero dalla famiglia di elletra e come lei 
li tenesse in grande considerazione, benché, a ben vedere, non si 
trattasse che di due pezzi di scarto della metà del secolo scorso. Ma, 
anche Jacob aveva ricordi particolari legati a quei due piccoli divani. 
Era su quelli che per la prima volta aveva masturbato Elettra, quando 
era ancora una ragazzina, e dove avevano provato i primi rapporti di 
sesso. Ancora una rabbia profonda lo prendeva al ricordo dei due 
divanetti che, sotto il muoversi dei corpi, si allontanavano l'uno 
dall'altro, costringendo a frequenti interruzioni quei maldestri 
tentativi di venirsi addosso.\\
#4,\Jacob osservò con attenzione i due divanetti presenti nella sala. 
Quello rosso era posto tra l'ingresso dello studio e quello della 
cucina. Quello verde era invece nell'angolo, di fronte alla libreria.\\
#5,\All'improvviso a Jacob venne voglia di afferrare uno dei due 
divanetti, ma rimase immobile senza sapere verso quale rivolgersi. \\
#6,\Sfinito Jacob si avvicinò ai due divanetti per sedersi, per 
riposarsi un attimo. Ma erano troppo distanti per potersi sdraiare in 
entrambi, doveva sedersi in quello verde o quello rosso. \\
#7,\Jacob, a fatica, si mise in ginocchio e cercò di guardare sotto i 
due bassi divanetti. Ma non riusciva a vedere che il nero, l'oscurità di 
spazi inutilizzati.\\
#8,\"Devo togliere questi due divanetti", disse tra sé e sé il valente 
Jacob, osservandoli da lontano.
Si mosse verso di loro con l'intenzione di spostarli. Rimase però 
incerto a fissarli senza sapere con quale cominciare.\\
#9,\Jacob desiderò alzare i due divanetti, di scoprire cosa fosse 
nascosto sotto il loro essere collocati, di occupare uno spazio 
geometrico. 'A volte' pensava, le cose offrono il fianco quando meno ci 
si aspetterebbe. A tratti, quel giorno, ritornavano ricordi improvvisi, 
senza nessun legame: si vedeva con Elettra arrivare in traghetto a 
Zadir, prima della fine del mondo, e nel primo mattino prendere un caffè 
in una bar talmente distante. Ricordi come questi apparivano e 
scomparivano, come se qualcosa li muovesse sconsideratamente.\Comunque 
se voleva alzare un divanetto doveva decidere quale dei due.\\
#10,\Unire i due divani, certo, pensava il buon Jacob. Ma poi si ricordò 
che aveva già fatto quella unione e che Elettra non era stata per nulla 
contenta, ah questo no. I divanetti uniti prendevano tutta una parete e 
davano ad Elettra l'impressione di un lungo pesce morto, un luccio di 
mare, se mai sono esistiti lucci di mare, qualcosa di morto comunque, di 
abbandonato.\No, no, pensò Jacob scuotendo la testa, unire i divanetti 
non era certo una buona idea.\\
#11,\Gli venne d'improvviso la curiosità di vedere cosa fosse nascosto 
sotto il divano. 'Forse un drago', pensava, o uno di quei mostri 
antidiluviani che tanto erano cari ad e Elettra. Rimase così, ad 
inseguire le sue immaginazioni, senza neppure saper decidere se chinarsi 
sotto il primo divanetto o il secondo.\\
#12,\Jacob si pose di fronte ai due divanetti, quello rosso e quello 
verde, senza sapere verso quale rivolgere la sua attenzione.\\
#13,\Jacob sentiva il desiderio di prendere, di possedere uno dei 
divanetti, ma quale?\\
#14,\Jacob sentì il desiderio di sdraiarsi sopra uno dei due divanetti, 
dimenticare tutto, Elettra, la quarantena e il Comitato, aprire la 
boccuccia ed aspirare un latte immaginario, uno sperma dolce che 
galleggiava nell'aria, privo di atmosfera. Ma restava in piedi, 
ghiacciato, senza sapere verso quale divanetto muoversi.\\
#15,\Jacob si avvicinò ad uno dei due divanetti, pronto a spostarlo, 
quando osservò l'altro che giaceva immobile nell'angolo, come se lo 
stesse fissando. Si avvicinò all'altro e di nuovo il primo gettò 
l'invisibile sguardo su di lui. Rimase così incerto, senza sapere quale 
dei due divani spostare.\\
#16,\Alzarli voleva Jocob, quei divani, sollevarli nel profondo della 
memoria forse e si ricordò, senza nessuna motivazione di una volta che 
da bimbo, si morse un labbro ed uscì stilla. Passandosi una mano sul 
volto Jacob mise a fuoco quei due divanetti, sempre immobili come mosche 
morte.\\
#17,\D'improvviso Jacob si mise a girare per la sala, come se avesse 
perso qualcosa, le mani in avanti, gli occhi quasi socchiusi, poi si 
fermò di fronte ai due divani che mai si erano mossi di là.\\
#18,\Si avvicinò ai due divani, per salirci sopra, cosa mai va a pensare 
l'uomo. Ma i divani erano due e lui uno solo.\\
#19,\Jacob si diresse verso i divanetti. Quando fu presso di loro, 
rimase dubbioso se andare verso quello verde, o quello rosso.\\
#50,\Jacob si avvicinò al piccolo divanetto che era collocato tra i due 
ingressi, dello studio e della cucina. Si trattava di un dono di 
famiglia di Elettra, un brutto pezzo d'arredamento della metà del secolo 
scorso. Lui più volte aveva chiesto ad Elettra di buttarlo per prendere 
qualcosa di più moderno, ma lei aveva sempre rimandato, dicendo che si 
trattava di un ricordo. Poi era stato troppo tardi, non si poteva più 
comperare nulla. Il divanetto era basso, praticamente poggiava sul 
pavimento. Aveva i braccioli soltanto da una parte, perché faceva coppia 
con il secondo divanetto, quello verde, che aveva anch'esso un solo 
bracciolo, dalla parte opposta. Pur essendo i due divanetti identici, 
Elettra aveva voluto fasciare i cuscini e la fodera con due stoffe 
diverse: quella che stava di fronte a Jacob, rossa, e l'altra, verde 
scuro.\\
#51,\Jacob tornò ad osservare il piccolo divano posto tra i due 
ingressi, dello studio e della cucina. Era un piccolo divanetto, molto 
basso, che faceva coppia con quello che stava nel'angolo, vicino alla 
libreria. Entrambi avevano infatti un solo bracciolo, come se fossero 
stati pensati per essere messi l'uno accanto all'altro per formare un 
divano. Elettra però aveva deciso di separarli, anni prima, e li aveva 
rifoderati con due stoffe di colore differente. Jacob posò lo sguardo 
sui vecchi cuscini rossi che gli stavano di fronte, gli stessi, lisi, 
che conosceva da tempo; identici, nella forma, a quelli verdi dell'altro 
divanetto.\\
#52,\Jacob afferrò con le mani il divanetto e contrasse le dita per 
prenderlo con sé. Con un gesto di fastidio lasciò la presa: era troppo 
pesante per essere trasportato. Quel genere di azioni lo stancavano molto.\\
#53,\Jacob, con un sospiro di sollievo, si buttò sul divanetto, ma 
subito provò un dolore fastidioso alle anche, nel punto delle ossa. 
Aveva l'impressione di cadere e tutta la stanza che gli stava di fronte 
gli sembrava alzarsi, innalzarsi fino a divenire un punto infinitesimale 
della sua produzione in codice. Ma, nello stesso tempo, tutto restava 
identico a prima, nello stesso silenzio ininterrotto. Per questo non era 
bene sedersi, per questo quelli del comitato avevano tolto tutte le 
sedie dalla casa.\\
#54,\Jacob si avvicinò al divano ed afferrandolo con le mani fece per 
spostarlo. La sua forza sembrava percorrere il corpo per scaricarsi 
nelle gambe e poi nel pavimento, dove trovava riposo. Con molta fatica 
scostò il divanetto dal muro, osservò l'intonaco bianco, identico al 
resto della casa, e con uguale sforzo, lo ricollocò nella posizione in 
cui Elettra desiderava fosse posto.\\
#55,\Jacob si guardò attorno in cerca del divano. Appena lo vide, si 
avvicino senza fretta.\\
#56,\Jabob salì sul divano e si mise a vedere le cose da quella 
prospettiva. L'ingresso della camera da letto gli appariva ora l'antro, 
la bocca sdentata di una fornace il cui corpo da bruciare, da riportare 
allo stato carnale fosse il suo. Stare sul morbido dava fastidio a 
Jacob, e così tornò sul solido pavimento\\.
#60,\Jacob si mosse verso il divanetto posto nell'angolo, di fronte alla 
libreria. Era un piccolo divanetto, un dono di famiglia di Elettra, di 
nessun valore ed anche abbastanza scomodo. Aveva chiesto ad Elettra di 
buttarlo, assieme a quello rosso, per prendere qualcosa di più comodo, 
ma  lei aveva sempre negato, adducendo al fatto che si trattava di un 
ricordo. Poi era stato troppo tardi, adesso non serviva a niente. Il 
divanetto era basso, quasi poggiava sul pavimento. Aveva i braccioli 
soltanto da una parte, perché faceva coppia con il secondo divanetto, 
quello rosso, che aveva anch'esso un solo bracciolo, dalla parte 
opposta. Nonostante fossero del tutto uguali, Elettra aveva deciso di 
fasciare cuscini e fodera con due stoffe diverse: quella che stava di 
fronte a Jacob, verde, e l'altra, rossastra.\\
#61,\Jacob si avvicinò nuovamente al piccolo divano posto di fronte alla 
libreria. Era un piccolo divanetto, molto basso, che faceva coppia con 
quello che stava tra i due ingressi, dello studio e della cucina. 
Entrambi avevano infatti un solo bracciolo, come se fossero stati 
pensati per essere messi l'uno accanto all'altro per formare un divano, 
probabilmente ad angolo. Elettra però aveva deciso di separarli, anni 
prima, e li aveva rifoderati con due stoffe di colore differente. Jacob 
posò lo sguardo sui molli cuscini verdi che gli stavano di fronte, gli 
stessi, lisi, che conosceva da tempo; identici, nella forma, a quelli 
rossi dell'altro divanetto.\\
#62,\Andò verso il divanetto credendo che vi fosse qualcosa che a lui 
interessava molto, qualcosa di essenziale, ma tutto era privo di valore, 
il divanetto un semplice divanetto e niente di più.\Afferrò con le mani 
il divanetto e contrasse le dita per prenderlo con sé. Con un gesto di 
fastidio lasciò la presa: era troppo pesante per essere trasportato. 
Quel genere di azioni lo stancavano molto.\\
#63,\Jacob, con un sospiro di sollievo, si buttò sul divanetto, ma 
subito provò un dolore fastidioso alle anche, nel punto delle ossa. 
Aveva l'impressione di cadere e tutta la stanza che gli stava di fronte 
sembrava alzarsi, innalzarsi fino a divenire un punto infinitesimale 
della sua produzione in codice. Ma, nello stesso tempo, tutto restava 
identico a prima, nello stesso silenzio ininterrotto. Per questo non era 
bene sedersi, per questo quelli del comitato avevano tolto tutte le 
sedie dalla casa.\\
#64,\Jacob si avvicinò al divano ed afferrandolo con le mani fece per 
spostarlo. La sua forza sembrava percorrere il corpo per scaricarsi 
nelle gambe e poi nel pavimento, dove trovava riposo. Con molta fatica 
scostò il divanetto dal muro, osservò l'intonaco bianco, identico al 
resto della casa, e con uguale sforzo, lo ricollocò nella posizione in 
cui Elettra desiderava fosse posto.\\
#65,\Jacob si guardò attorno in cerca del divano. Appena lo vide, si 
avvicino senza fretta.\\
#66,\Jabob si sedette sul divano e si mise a vedere le cose da quella 
prospettiva. Di fronte a lui la liberia, sigillata, mostrava le 
rientranze inutili, i fori della privazione. Vicino alla libreria, 
l'ingresso della camera da letto gli appariva l'oscuro passaggio verso 
qualcosa che gli avrebbe sottratto quel poco di serenità che a fatica 
custodiva dentro di sé. Stare seduto portava a Jocob una sorta di breve 
dolore, ed era anche per quel motivo che il Comitato aveva fatto 
togliere tutte le sedie dalla casa. \\
#67,\Seduto sul divano, Jacob provò il desiderio di sedersi sul divano. 
Si trovava contemporaneamente nella condizione in cui voleva essere e in 
quella in cui si trovava isoddisfatto del suo stesso desiderio inappagato.\\
#68,\Decise di guardare sotto i cuscini. In verità Jacob aveva un 
terrore delle cose nascoste, non gli piaceva mettere le mani in posti 
sconosciuti. "Magari se fossi seduto sul divano sarebbe più semplice" 
disse tra sé e sé, non si tratterebbe di una scoperta, ma quasi di una 
azione continuata, sono andato sui cuscini e poi lentamente sono 
scivolato tra cuscino e cuscino, mi sono schiantato, diciamo così sul 
divano, ecco che razza di pensieri aveva Jacob.\\
#69,\Jacob guardò sotto i cuscini, lentamente, con timore, quasi che 
avesse paura di trovarvi qualche bestia, qualche insetto addormentato. O 
anche un topo, chi sa mai che sotto i cuscini non riposino i topi. 
Invece trovò un un libretto. Lo prese in mano con curiosità chiedendosi 
chi cavolo l'avesse messo in quel posto.\\
#70,\Jacob guardò sotto i cuscini, lentamente, con timore, quasi che 
avesse paura di trovarvi qualche sporcizia, qualche bestia addormentato. 
Magari un ratto, chi sa mai che sotto i cuscini non riposino i ratti. 
Invece c'era soltanto la tela del divano.\\
#71,\Jacob guardò nuovamente sotto i cuscini, lentamente, con timore. 
Gli parve di vedere, per un attimo, denti che baluginavano, o zampe che 
si ritraevano verso il buio, ma quando il cuscino fu ben alzato, c'era 
solo la nudità del divano.\\
#72,\Si mise ad osservare i cuscini dei due divanetti. Erano identici, 
cambiava soltanto la tinta, ora rossa, ora verde. Spesso si era seduto 
su di loro, provando un certo piacere, anche se, alla lunga, gli 
sembrava che si schiacciassero, che sprofondassero perdendo la loro 
forma originaria, e provocandogli un tenero dolore all'altezza della 
spina dorsale.\\
#73,\Gettò il suo sguardo sui divanetti e ancora una volta si mise ad 
osservarne i cuscini. Erano sempre gli stessi. Uno grosso sotto, e tre 
piccoli messi sul lato.\\
#74,\Mosse la testa per vedere meglio i cuscini su cui sedeva. Molli, 
coperti da quella stoffa grezza che Elettra aveva comprato chissà dove e 
che aveva lei stessa tinto sporcando per settimane il bucato della 
lavatrice.\\
#75,\Con la coda dell'occhio fissò i cuscini su cui sedeva. Erano sempre 
gli stessi, ruvidi e scomodi.\\
#76,\Con una mano afferrò un cuscino e lo tirò a sé, ferendosi il polso. 
Solo in quel momento si ricordò che la parte terminale dei cuscini era 
cucita alla base del divano, per evitare che cadessero o si spostassero.\\
#77,\Decise di prendere uno dei cuscini. Ma quell'azione, da in piedi, 
sembrava fiaccarlo, nausearlo. Si sentiva già stanco per quel gesto 
tanto risoluto; e così decise che lo avrebbe fatto, certo, ma una volta 
seduto sul divano.\\
#78,\Jacob decide di spostare uno dei cuscini del divano. Ma il solo 
pensare di mettersi lì, tirare, lasciare, oggetti molli... sentiva come 
il ruvido sulle dita, nell'interno delle dita, un sapore quasi delle 
unghie che s'infilavano nella stoffa, che frizionavano, che graffiavano 
e -stupito- si ritrovò a contrarre e rilasciare le dita. Fiaccato decise 
che lo avrebbe spostato, certo, ma una volta che si fosse seduto.\\
#79,\Prese uno dei cuscini e fece per spostarlo quando sentì che il 
cuscino resisteva e rimaneva fermo. Si ricordò allora che la parte in 
fondo era cucita al divano, perché non cadessero per terra. Lasciò le 
mani e si mise ad osservare il centro della stanza, senza vedere niente.\\
#87,\Prese il bordo di uno dei cuscini per alzarlo, quando sentì che il 
cuscino resisteva e rimaneva fermo. Si ricordò allora che la parte in 
fondo era cucita al divano, perché non cadesse per terra. Si poteva 
alzarli di quel tanto per poter vedere cosa c'era sotto e per poterli 
pulire da quella dannata sporcizia che da sempre si riuniva sotto i 
cuscini per festeggiare la propria sopravvivenza di mesi ed anni.\\
#88,\Si guardò attorno per cercare dove fossero finiti i cuscini dei 
divani, poi s'accorse che erano sempre sui divani. "Che sciocco che 
sono" disse sorridendo.\\
-- 
http://loscimmiotto.splinder.com/

qualititativamente diversificati.
credo che se ci fosse io ne starei alla larga. mi piace programmare,
mi da' gusto debuggare una parte difficile per mezz'ora, trovare
l'errore e scoprire che poi funziona come volevo. fare if significa
scrivere e programmare, se non ti piace una delle due cose forse non
ti piace davvero sviluppare if. o in alternativa, se propendi verso la
scrittura, datti alle cyoa, ma mi pare che sia infatti quello che stai
facendo.
l'esempio del word dubito che sia calzate. se voglio usare il computer
come macchina per scrivere tutta la mia attenzione deve essere
concentrata su quello che scrivo, più è difficile il programma, più il
computer sta fallendo nel darmi quello di cui ho bisogno. tenendo la
metafora del word processor, è come se tu ne volessi uno che per
semplificare il compito di battere sulla tastiera elimasse vocali , la
t e la s. avresti un programma monco. e creare if senza programmare è
fare un prodotto monco.
la programmazione ai non programmatori è stata tentata più volte, si
chiamano rad, rapid application development. nel mondo dei
videogiochi, anche, ce ne sono moltissimi, vecchio klick & play, al
gamemaker. certo, puoi farci dei giochi. con un rad puoi fare un
calcolatrice e anche un programma che si interfaccia in automatico a
un database, ma fatto sta che se vuoi programmarti il word o quake v,
non ci sono scorciatoie: algoritmi, loop, c.. le solite cose.
persino strumenti di sviluppo complessi come adrift (che a me piace
molto) che tentano di essere user-friendly tramite un'interfaccia a
finestre eccetera, nelle comp producono troppo spesso risultati
definiti dai recensori come "buoni ma si sentono le limitazioni legate
allo strumento di sviluppo".
se percorri a ritroso la storia della programmazione e dei calcolatori
troverai, nelle primissime pagine, la parola assembler. se torni ai
giorni nostri trovi i linguaggi di alto e altissimo livello con una
sintassi similissima all'inglese, più facili da scrivere e senza righe
incomprensibili come:
      mov    ax,@data
      mov    ds,ax
      mov    ah,9
      mov    dx,offset hello_message
      int    21h
      mov    ax,4C00h
eppure tutt'oggi spesso nello sviluppo di applicazioni complesse ci
sono punti nodali in cui si continua a ricorrere, a decine di anni di
distanza, all'assembler per ottimizzare il codice.
purtroppo ottimizzare potenza, duttilità e semplicità, in un modo o
nell'altro, è davvero difficile da ottenere. visto che questa
discussione sembra il duplicato di una che tenni io (proponendo la tua
visione dei fatti) ti invio il link. purtroppo mi sono ricreduto.
http://groups.google.it/group/rec.arts.int-fiction/browse_frm/thread/e1aefe6e1c8022dd/fad17fbd3d54adf6?lnk=st&q=pistacchio%40gmail.com&rnum=1&hl=it#fad17fbd3d54adf6


http://groups.google.it/group/rec.arts.int-fiction/browse_frm/thread/e1aefe6e1c8022dd/fad17fbd3d54adf6?lnk=st&q=pistacchio%40gmail.com&rnum=1&hl=it#fad17fbd3d54adf6
ecco, dalla discussione che sto rileggendo, riporto una parte che mi
pare esprima bene quello che al momento penso io (e calcola che è
presa da una risposta  a un mio post! eh eh)
*** 
It isn't so much that the complexity of IF serves as a filter (which
it does, of course), but, rather, that IF's complexity is *intrinsic
to
IF*. IF's complexity is *not* something that can be worked around or
evaded. You just *can't* simplify IF; at best, you may be able to
*conceal* it, by delegating however-much of the complexity to the
toolset's code rather than forcing the would-be IF author to confront
that complexity head-on. This is fine as long as the author only wants
to do standard stuff that's built into the code... but what if the
author wants to do something *more*, or even *different*, than is
built
into the code? In that case, the author is screwed. Thus, my assertion
that you *can't* make IF newbie-friendly without side-effects that are
sufficiently bad that you might as well not have bothered.
   All of which said, there are programs like Photoshop, which offer
the user an immensely wide and versatile toolset, but which don't
*force* the user to deal with *all* of that toolset up front. Even the
veriest novice can open up Photoshop and *do stuff* with less than 2
minutes' instruction... but the more you play with Photoshop, the more
tools and options it reveals to you. I'm not sure what the jargon term
for this is -- "progressive revelation", perhaps? -- but it may be
that
"progressive revelation" is a principle around which IF tools can be
built. 
***
se non dovessi leggere l'inglese (in soldoni): per avere un'if c'è
bisogni di :"a b c d e f"
se manca una di  queste cose, hai un'if di basso livello. per rendere
lo sviluppo facile quello che puoi fare è lasciar fare al tool, per
esempio "a b c d" e tu fai solo "e f". questo significa anche che più
cose deleghi al linguaggio, meno possibilità di espressione hai tu e
quindi peggiore è l'at che ne risulta.
quello che bisognerebbe fare è avere uno strumento a "strati" come il
photoshop: puoi iniziare a farci qualcosa anche in 2 minuti, ma per
padroneggiarlo ci vuole parecchio tempo, dedizione, conoscenza dei
filtri, di tutti i menu..
alla fine, però, il risultato è sempre quello: se il tuo prodotto
fatto usando il photoshop come fosse il paint viene messo a confronto
con quello da un esperto sfruttando le potenzialità, una tavoletta
grafica ecc, il tuo sarà, senza girarci intorno, più brutto.
ma d'altronde l'inform (prendo l'inform perchè è diffuso e
*apparentemente* è una bestia nera capace di essere dominata solo dai
laureati al mit!) è proprio così. per costruire una stanza non ci
vuole poi molto!!
Object "Cucina"
	with description
		"Una cucina sporca di sangue",
	e_to Salotto,
	has light;
è anche vero che una stanza del genere è poco interessante. come un
disegno fatto con photoshop usandolo come fosse il paint. come un'if
scritta "in modo facile".
ho accusato chi mi faceva gli stessi discorsi che faccio io ora di
elitismo. sono passato dall'altra parte della barricata, è ironico,
no?
vedi, iniziare a suonare la chitarra non è facilissimo, cerchi delle
scorciatoie ma non ce ne sono. le dita continueranno a farti male
finchè non ti sarai fatto i calli. se non sei disposto a farteli passa
al piano.
io capisco che fare il barrè è difficile. e certo, puoi dire "io
voglio suonare la chitarra ma senza barrè". sei libero di farlo, puoi
suonarci un sacco di brani, ma dovrai evitare tutti i brani con un fa,
un do minore eccetera. e ci sarà sempre quello che si è preso il suo
tempo per imparare scale, barrè e farsi dei bei calli che suonerà
meglio di te.
(e spero mi perdoniate la metafora musicale ^__* )

 possa usarle, non pensatele per un altro programmatore.
Questo punto meriterebbe una discussione a se stante. E' possibile avere 
un sistema che sia semplice da usare anche senza saper quasi nulla di 
programmazione e che allo stesso tempo sia sufficientemente potente da 
poter offrire i mezzi per realizzare situazioni anche abbastanza complesse?
Forse la soluzione e' in un sistema scalabile. Una realizzazione basata 
su template facili da usare, ma con i mezzi per estendere e 
personalizzare questi template.
Ma e' mezzanotte passata e i miei neuroni (entrambi) sono ancora in 
sciopero.
bye
-- 
Paolo Lucchesi
email: plucchesiNOSPAM(at)NOSPAMtin(dot)NOSPAMit
homepage: 
http://www.paololucchesi.it
"Non viviamo in un mondo perfetto (per fortuna)"

 allo strumento di sviluppo".
è un punto di vista interessante, ma io credo che possano esistere 
compromessi: così come posso fare con openoffice una query in mysql 
semplicemente tirando delle righine tra le diverse tabelle e senza 
conoscere di fatto un solo comando mysql, così credo che sarebbe 
possibile avere strumenti per la lettura dinamica che permettano ad uno 
scrittore di creare ambienti e storie senza dover da subito scrivere 
codice per ogni cosa ci sia da fare.
questo è comunque un punto di vista.
f.

 meglio di te.
sinceramente credo che le limitazioni siano spesso e volentieri un bene. 
meno strumenti e limitati sono più utili ad un creativo che infiniti 
strumenti, è un paradosso.
f/

 personalizzare questi template.
condivido è quello che scrivevo anche io altrove.
f.

 sul concetto di bivio e ogni cosa diventa bivio e quindi funzione:
Piu' esattamente, uno dei difetti di Idra e' che puoi uscire da questa 
visione del mondo, ma cio' ti costa trasformarti in un programmatore 
(e anche di livello medio-alto). E poi non c'e' l'antidoto per 
ridiventare umano.
   .Erix.

 wrote:
[snip]
[snip]
[snip]
[snip]
premetto che non voglio sembrare scortese o brusco.
dunque.. io penso che i tuoi punti di vista siano molto interessanti e
sarebbe costruttivo discuterli più a lungo. solo che temo che questo
non sia il luogo più adatto e in questa sede ci scontreremmo senza
arrivare a nessun punto.
voglio dire, critichi le if così come sono, critichi il modo in cui si
sviluppano, critichi gli strumenti di sviluppo e il modo in cui
vengono fatti. non vanno bene le if come sono perchè sono povere dal
punto di vista puramente narrativo. lo strumento per fare qualcosa di
più simile a quello che pensi tu è idra ma è limitato e c'è comunque
troppa programmazione. proponi qualcosa di tuo ed è un mud. affermi
che non vale la pena perder tempo a scrivere if che tanto non te le
legge nessuno e allora tanto vale la pena scrivere un libro. vuoi
programmare if ma senza programmare.. (e sottolineo il verbo
programmare.. i quadri si dipingono, le paste si cucinano, le if si
programmano, oltre che scrivono)
ora, io posso essere d'accordo con te o non condividere le tue idee,
ma questo mi pare un problema secondario in questo contesto. voglio
dire, il linea di principio condivido anche alcune delle tue idee, ma
qui si discute di if, di come programmarle, di come migliorarle. puoi
anche venire a postare che il limite delle if è che si giocano al
computer e non davanti a un tavolo, che non hanno un tabellone, che
non ci sono pedine, che non puoi giocarci con tre amici e che non c'è
mai vicolo corto. la tua sarebbe un'opinione rispettabile come tutte,
ma resta che qui si parla di if, non di monopoli.
solo un appunto personale.
ciao!
[snip]
[snip]
[snip anche l'altro post]
[snip]

 umano.
nnnno, non vogliooo
-- 
http://loscimmiotto.splinder.com/

 programmano, oltre che scrivono)
credo che tu abbia letto il mio messaggio sotto una luce sbagliata: i 
rimproveri che faccio alle at sono solo ed esclusivamente per me, per 
quello che ci voglio fare io con le if, se li generalizzo è per semplice 
funzione espositiva.
per me come -ipotetico sviluppatore di storie interattive- inform o 
comunque una at classica è un gioco che non vale la candela, perché la 
quantità di tempo che impiegherei a fare la if che ho in mente io 
sarebbe tale da prendermi lo stesso tempo che impiegherei a buttare giù 
la bozza di un romanzo.
il divertimento sarebbe diverso -questo è fuori di ogni dubbio- ma nel 
farmi i conti in tasca *quel* modo di fare if è uno spreco di tempo, 
perché sostanzialmente non ci credo, non credo nel parser e nel verbo + 
oggetto e non credo soprattutto ad un pubblico di massa per un lavoro 
del genere.
posso fare un lavoro del genere per mio diletto personale, nel ritagli 
di tempo, senza pretese (aggiungere qui ad libitum) perché mi diverte 
fare mondi virtuali, ma da qui a teorizzare una if oggi e qui ce ne passa.
un appunto storico: ho scritto la mia prima at su apple II, si chiamava 
mens e grazie al cielo è andata persa spero per sempre, era un fantasy 
di oltre cento locazioni ne ero fierissimo la distribuii come freeware 
con il nome di 'ave il mago' nel 1987, non avevo neanche un modem 
all'epoca scambiavo programmi piratati e ogni volta che qualcuno mi 
chiedeva della roba ci infilavo il disketto di mens (sospiro), poi ho 
fatto con alessandro uber necronomicon, un mud vecchio stile dove dentro 
ci sono una serie di -a mio parere- belle avventure testuali correlate 
tra loro da un plot generale, stiamo parlando del 1989-1994, svariate 
centinaia di stanze, pagato, una grande soddisfazione vedere gente 
giocare da vivo nelle mie at, con un bellissimo codice di alessandro.
ecco, con quello ho chiuso un capitolo e -aggiungo- non presento oggi un 
mud, quello è un prodotto finito che resta on line come monito, badate a 
voi.
se dovessi fare oggi un gioco multiutente lo farei in maniera 
completamente diversa, ho trentacinque anni, due figli, un cane, ho 
fatto lettere, ho visto svariati film di tarskovskj, ho letto infinite 
jest, non mi metto a fare un gioco con draghetti e nanetti, a calcolare 
i punti ferita, niente di personale, non mi interessa.
poi nel 2002 mi pare ho fatto natalie e pur essendo una if molto povera, 
quella è una linea che mi interessa, anzi credo di aver esaurito lì 
dentro molti discorsi che mi ero fatto dentro alla testa.
l'ho anche fatta tradurre in inglese con riscontri molto mediocri, ma 
credo che sia rimasta incompresa o che la if in italia sia in alcuni 
casi avanti a quello che arriva oltralpe.
quindi se ti sembra che mi lamento del panorama attuale perché voglio 
fare qualcosa di diverso, oh beh certo, è un problema voler fare 
qualcosa di diverso? semmai il problema è trovare quel fuochetto che ti 
mette la voglia di farlo quel qualcosa di diverso.
un saluto
f.
-- 
http://loscimmiotto.splinder.com/

 centinaia e centinaia di funzioni messe tutte sullo stesso piano.
(Mi dispiace, ma questo periodo sono straimpegnato e non riesco a 
seguire la discussione con l'attenzione che merita)
Solo per dire che anche la maggior parte (non tutte, naturalmente) delle 
at basate su parser è a livello base un sistema a bivi. Perché se in 
IDRA il collegamento tra uno stato e il successivo è rappresentato dal 
link, in una AT basata su un parser (per esempio fatta con Inform) il 
collegamento tra uno stato (un particolare stato dell'object tree) e il 
successivo è dato da una azione più o meno complessa (parser a una 
parola, a due, ecc.) che modifica l'albero degli oggetti. Anche 
l'introduzione di elementi random in IDRA (così come nelle AT con 
parser) non fa uscire il racconto interattivo dal sistema a bivi, perché 
ho sempre un numero discreto di possibilità programmate (= previste) in 
anticipo dall'autore.
Ora IDRA = Ipertesto Dinamico per Racconti d'Avventura.
Ebbene uno dei difetti di IDRA è che erix non ha sottolineato abbastanza 
nella guida quel "dinamico". Probabilmente il difetto risiede nella 
guida dove sembra che dinamico voglia semplicemente dire "generato con 
una funziona javascript" anziché messo in un file HTML.
Giovanni
PS: fabrizio, ricevuta mail (stop) ti scrivo quando ho un attimo di 
tempo (stop)

 nnnno, non vogliooo
Non vuoi ridiventare umano? Non preoccuparti, e' normale.
   .Erix.

 una funziona javascript" anziché messo in un file HTML.
In effetti la guida e' scritta per principianti. Il grosso limite di 
Idra e' che le protezioni del browser rendono arduo costruire uno 
strato a livello superiore. Ogni tanto mi viene l'idea di rifarlo con 
Java + Rhino, ma trovo alquanto repellente l'immensa burocrazia delle 
librerie Java. Forse se mi pagassero... ;-)
   .Erix.

loscimmiotto wrote: > nnnno, non vogliooo Tu cerchi la via piu' facile, giovane skywalker... Paolo Lucchesi email: plucchesi(at)tin(dot)it 

 tempo (stop)
troppo tardi (stop) sicari già partiti (stop)
f.
-- 
http://loscimmiotto.splinder.com/

 in "Una storia di campagna" di A.Angiolino.
per la poca esperienza avuta fin'ora direi che la sintassi relativa a 
pagine temporanee, e comandi javascript all'interno delle virgolette è 
deterrente, almeno io la vedo come poco omogenea e complicata.
f.
-- 
http://loscimmiotto.splinder.com/

 Tu cerchi la via piu' facile, giovane skywalker...
in realtà io sono ancora a THX-1138
-- 
http://loscimmiotto.splinder.com/

 soprattutto ridisegno di stanze č... colombiniana ;)
Mi sento vagamente ma elegantemente insultato ;-)
   .Erix.

 Java. Forse se mi pagassero... ;-)
Sto facendo un po' di esperimenti in tal senso (per cose che
riguardano il mio lavoro) e secondo me non serve Java...
Giovanni