Vai al contenuto
SIMONE PIZZI
Progetti ↗
Favella 1

FAVELLA1: Uno punto zero, non c'è altro da dire!

Pietro voleva un simulatore di guida. Mancava l'aritmetica. È nata così la 1.0.0 di FAVELLA: linguaggio completo, ecosistema, e una casa su favella.eu.

Data
Lettura
8 minuti
Sezioni
5
Copertina: FAVELLA1: Uno punto zero, non c'è altro da dire!

Voglio raccontarvi le ultime novità di FAVELLA. E stavolta, prima di ogni altra cosa, lasciatemi dire qualche grazie.

Il primo va a Bonaventura Di Bello, che si è interessato al progetto: per chi è cresciuto con le sue avventure comprate in edicola, è già più di quanto osassi sperare. Ma il grazie grosso, quello con il punto esclamativo che di solito mi vieto, va a Pietro Bernasconi. Pietro si è messo in modalità «adesso ci penso io»: si è letto tutto il manuale dalla prima all’ultima pagina, e poi ha cominciato a buttare giù idee e listati. Se questa storia ve l’ho già accennata nell’articolo scorso, perdonatemi: fa troppo caldo per andare a controllare, e comunque merita di essere raccontata da capo.

Il diagonale di Pietro

Pietro il mondo lo guarda di traverso, e infatti ha fatto una cosa in diagonale. Ha preso il manuale — allora fermo alla 0.29.0 — e invece dell’ennesima avventura testuale ci ha tirato fuori un simulatore di guida. Chi segue Runtime by Night lo sa: l’automobile è la grande fissa del nostro Pietro Luddista. Così ci ha provato. E davanti al suo listato ci siamo guardati e abbiamo fatto la domanda giusta a Claude, che di FAVELLA è insieme il tifoso più accanito e il conoscitore più puntiglioso: una cosa del genere, si può fare? Lui ha detto di sì.

Perché quei listati di Pietro sono stati importanti? Per una ragione semplice, e per me un po’ imbarazzante. In teoria un gioco in cui guidi seguendo un itinerario e dei parametri si poteva già fare. Ma a FAVELLA mancava la matematica. O meglio: mancava l’aritmetica vera. Potevo dire che la benzina era a cinque, ma non avevo nessuno strumento, dentro la lingua, per toglierne un po’. Al massimo, a un certo punto, dovevo dichiarare d’autorità che adesso la benzina era quattro. Un trucco da prestigiatore, non un motore.

La velocità, il consumo, gli elementi che cambiano da soli: erano tutte cose che mi giravano in testa da un pezzo. Così mi sono messo al tavolo con Claude Code e abbiamo costruito una manciata di piccole avventure pensate apposta per uscire dai binari dell’interactive fiction classica: un gioco di corse, un gioco di ruolo con i combattimenti a turni, un survival, perfino un dating. Tutto sommato ce l’abbiamo fatta, si reggevano. Ma reggersi con i puntelli non mi bastava. Se quei generi si potevano fare a forza di acrobazie, perché non insegnare alla lingua a farli sul serio?

Il salto a 1.0.0

Lì è cominciato il lavoro che conta. Portare FAVELLA alla 1.0.0, una versione alla volta, raccogliendo tutte le idee che potevano renderla più viva e più elastica.

La prima, e la più importante, è quella che mi era mancata davanti agli occhi per tutto il tempo: i contatori hanno imparato a parlarsi. Fino a quel momento un contatore era una cella isolata, capace di confrontarsi solo con numeri scritti a mano. Adesso no. diminuisci il carburante di [velocità] toglie benzina in proporzione a quanto vai forte; se la vita del troll è meno di [la mia vita] confronta due grandezze vive invece di una soglia fissa. Il valore fra parentesi quadre è la chiave: dice al motore «qui ci va il numero di adesso, non quello che ho scritto io». Con la stessa famiglia di costrutti è arrivato anche il caso: diminuisci la vita di un numero fra 2 e 6, il tiro di dado di sempre, ma finalmente dentro la lingua.

Poi la casualità è cresciuta oltre i numeri. Il meteo può diventare uno fra sereno, pioggia, nebbia, e una regola può scattare solo se càpita (1 su 4): la pioggia che arriva quando decide lei, l’imboscata che a volte c’è e a volte no. E resta tutto riproducibile, perché il caso ha un seme e anche ANNULLA lo riavvolge: disfi la mossa e il dado torna esattamente come l’avevi tirato.

Poi il mondo ha imparato a cambiare in scena. Il buio non è più soltanto una condizione di partenza: una radura può diventare buia quando cala la notte e tornare chiara all’alba. E i personaggi dei dialoghi sanno scaldarsi: una battuta può comparire solo se qualcosa è vero, così lo stesso volto ti saluta in un modo quando siete agli inizi e in un altro quando ormai vi conoscete.

E infine una finezza che mi ha chiesto proprio Pietro, mentre costruiva una storia di spie in cui impersoni qualcuno: uno stato può parlare a un altro stato. Il corteggiato diventa il preferito copia un valore dentro un altro, e se il corteggiato è come il preferito li mette a confronto. Roba minima, ma è il genere di cosa che ti lascia scrivere una doppiezza, un travestimento, una talpa.

Un paio di cose, invece, le ho lasciate fuori di proposito: quelle che avrebbero aperto la porta a plurali e concordanze complicate. Non per pigrizia: perché la semplicità di chi scrive è anche lei una funzione del linguaggio, e una scorta, in fondo, è già un contatore. Un linguaggio si dichiara finito non quando non puoi più aggiungere niente, ma quando aggiungere altro comincerebbe a rovinarlo.

Così FAVELLA è arrivata alla 1.0.0: il linguaggio è completo e definitivo. Sotto, a fare la guardia, ci sono 681 prove automatiche per il linguaggio e 43 per il collaudatore, tutte verdi, e una grammatica senza una sola ambiguità. Da qui in avanti quello che cresce non è più la lingua. È il mondo che le sta intorno.

Una casa con l’indirizzo

E quel mondo, adesso, c’è davvero.

Ho rifatto il sito da cima a fondo, e finalmente ci trovate l’ecosistema intero. C’è la guida rapida per cominciare in cinque minuti, il corso interattivo sulle «cassette» che vi insegna la lingua facendovela scrivere, la galleria delle storie demo da giocare al volo, la libreria dei moduli da includere nelle vostre avventure, e la pagina per programmare FAVELLA dal browser, con il motore aggiornato alla 1.0.0 che gira lì dentro.

C’è poi una pagina di download che mette tutto in fila. Per chi non vuole installare niente, il pacchetto Python: pip install favella1, e la riga di comando è servita. Per tutti gli altri, l’installer vero e proprio nei tre sapori, per Windows, macOS e Linux, con le istruzioni per il primo avvio, comprese quelle per rassicurare Windows quando fa la faccia preoccupata davanti a un programma che ancora non conosce. E in fondo, i collegamenti alla libreria, alla galleria, al codice e a tutte le versioni.

Ma soprattutto, ed è la cosa che mi commuove più di ogni altra, FAVELLA adesso ha una casa con un indirizzo vero: www.favella.eu. Ha un gruppo Facebook dove ritrovarsi, e ha la sua posizione su GitHub, quella che già conoscevate, aperta come sempre.

Il libro, in due forme

È cresciuto anche il manuale. Adesso sono ventuno capitoli, e raccontano tutto quello che vi ho appena descritto, sempre con la stessa storia-guida — la casa di zia Adele — a fare da filo dall’inizio alla fine. La dedica, intanto, è diventata doppia: accanto a Bonaventura Di Bello c’è adesso Pietro, «che ha spinto FAVELLA dove non era stata pensata per andare». Mi sembrava il minimo.

E qui ho preso una decisione, che vi spiego senza giri di parole. Il manuale in versione ebook resta liberamente scaricabile, dal sito e da GitHub: chi vuole imparare non deve pagare niente, e così sarà sempre. Accanto, però, ho preparato un’edizione stampata, con una copertina nuova e tutto l’interno a colori, che sarà presto su Amazon.it. Non fraintendetemi: non è un’operazione commerciale. È un oggetto fisico, pensato nei minimi dettagli per essere bello da leggere e da tenere in mano, per chi avrà voglia di metterselo sullo scaffale. E sì, è anche un modo per dare al progetto un po’ di risorse, tramite il contributo di chi sceglierà di sostenerlo. Una cosa diversa dal regalo, e non in conflitto con esso.

Ecco, è tutto

Adesso è davvero tutto. Non so più quante volte l’ho detto, articolo dopo articolo, e ogni volta poi salta fuori qualcos’altro. Ma stavolta ho la sensazione di aver chiuso un cerchio.

L’idea di un linguaggio di programmazione che serve a scrivere storie in frasi italiane vere non è originalissima, lo so bene. Una cosa però la posso dire senza paura di essere smentito: nel mondo attorno a FAVELLA ci ho messo tutto. Il tempo, la testa, le notti, e l’aiuto di chi ci ha creduto insieme a me. Spero che vi piaccia. E spero che qualcuno, prima o poi, lo capisca davvero. ����

Ogni tanto scrivo una lettera

Nessuna cadenza fissa, nessun riassunto automatico: parte solo quando ho qualcosa da raccontare. In fondo a ognuna c'è il link per uscire.

↑ Su

Cerca nel sito

Condividi

L'indirizzo di questa pagina:

Scrivi a Simone

Segnalazioni, correzioni, o solo per dire che una cosa non funziona: quest'ultima è la più utile di tutte.