Ci sono delle volte che, quando mi siedo per scrivere un articolo, mi ritrovo a pensare “oibò, e ora come faccio a spiegare ’sta roba a chi legge?”. Non capita frequentemente ma qualche volta sì. Questa è una di quelle volte. Eppure, per qualche motivo, ci tenevo proprio a scrivere un pezzo su quella particolare zona crepuscolare che segna il confine (o forse il punto d’unione) fra scienza e arte, tra codici ed espressione figurativa, tra mente e creatività. Ci tenevo al punto che questo post siede immobile da mesi nella mia cartella dei lavori da finire e che, nel tempo, ha subito tanti di quei tagli e semplificazioni che mi auguro veramente risulti ancora leggibile. O, quanto meno, interessante.

Mario soup (2003)
Ben Fry è un giovanissimo artista/programmatore laureatosi presso il MIT Media Laboratory in Estetica e Calcolo Composito (traduzione approssimativa della materia di studio “aesthetics + computation group”, una branca di studio collegata al design). A suo perfetto agio con codici numerici e qualsiasi linguaggio di programmazione, Fry è l’inventore e lo sviluppatori (insieme a Casey Reas) di “Processing” un rivoluzionario linguaggio open source ideato nel 2001 e a tutt’oggi studiato ed utilizzato da decine di migliaia di persone come programmatori professionisti e semplici appassionati, scienziati, designers, architetti, persino università intere. Poiché Processing è un linguaggio puramente di programmazione, il contributo di tutti coloro che impiegano pro bono il proprio tempo per sviluppare il codice, viene indirizzato alla realizzazione di molteplici attività diverse (dalle statistiche alle rappresentazioni grafiche, dalle immagini artistiche basate su logiche numeriche alle animazioni e così via).
Un ottimo esempio dell’applicazione artistica/scientifica di Programming, sono proprio i lavori di Ben Fry, i quali non solo sono estremamente interessanti da un punto di vista figurativo, ma nascondono al loro interno una, se così si può dire, sottotraccia capace di tenere incollati allo schermo i geeks più ostinati.

Disarticulate (2006)
Dismap è un motore digitale che rende possibile la decostruzione dei videogiochi della Nintendo ed il loro riassemblaggio in formato stampabile su carta. Fry spiega qual’è l’idea alla base del progetto: i programmi sui moderni computers vengono compilati sottoforma del così detto linguaggio-macchina, una serie di semplici e dirette istruzioni comprensibili al microprocessore. Col metodo dismap, i programmi, formati da istruzioni originariamente enumerate in ordine gerarchico, vengono trasformati e “appiattiti” fino ad ottenere una lunga serie di semplici istruzioni matematiche inframmezzate da comandi che collegano le varie parti del programma in modo che il percorso logico della macchina “salti” da una parte all’altra seguendo le indicazioni stabilite dal programmatore.

Il primo diagramma (qui a sinistra) è la rappresentazione grafica del programma ExciteBike, il gioco della prima console Nintendo (scelta fra molte a causa della sua semplicità). I testi in grigio sono le sezioni “dati” dove vengono conservate le immagini degli scenari del gioco. Le linee curve collegano parti del programma quando avviene un “salto”, quando cioè una funzione o una scelta condizionata del programma fa saltare la lettura del processore da una parte all’altra del gioco.
Il diagramma “dismappizzato” di Super Mario Bros (qui sotto a destra) mostra invece una maggiore complessità; il gioco è più raffinato perché le capacità di “salto” sono numericamente superiori e il tutto si traduce, da un punto di vista grafico in una notevole complessità geometrica, e da un punto di vista ludico in una massiccia possibilità di interattività fra il personaggio (Mario) ed i vari livelli del gioco.
La rappresentazione grafica di questi vecchi giochi, dice Fry, mostra la bellezza intrinseca del lavoro di programmazione eseguito per la Nintendo ed il livello eccelso di questa macchina all’epoca (parliamo del 1984).
Con Distellamap (vedi le tre immagini più in basso) Fry spinge il processo di “dismappizzazione” ancora più in profondità. Analizzando con questo metodo la versione in cartrige di alcuni giochi molto famosi vediamo come, insieme ai codici ed i vari “salti” previsti nel programma, appaiono anche le figurine grafiche visibili al giocatore durante la partita.
Fry spiega: “ Come in altri giochi per console, queste cartige dell’Atari 2600 contengono comandi esecutivi mischiati a dati. Questo fa sì che il codice appaia come un linguaggio assemblato in formato verticale. E’ composto da una parte matematica ed una detta condizionale (dove viene insegnato al processore, ad esempio, ordini come: se x è vero, vai a y). Il risultato, nel grafico, è che ogni volta appare il comando “vai a”, una curva viene disegnata dal punto di partenza (x) al punto di arrivo (y).
La parte grafica del gioco, cioè principalmente i personaggi con cui il giocatore interagisce, sono espressi in singoli byte di dati e vengono rappresentati nel diagramma come una colonna di blocchi arancione, un blocco solido per rappresentare un “1” ed un punto per rappresentare uno “0”. La colonna è lunga otto elementi e rappresenta un intero byte. Questo, da un punto di vista grafico, significa che le immagini del gioco possono venire raffigurate per intero quando una serie di bytes sono mostrati in fila. Le immagini presenti nel gioco appaiono nei diagrammi capovolte perché, secondo il comune metodo di programmazione dell’epoca, venivano spesso registrate “a testa in giù”.

Da sinistra a destra: Pittfall, Qbert ed il mitico Pacman
Il lavoro (o l’arte) di Ben Fry non si limita alla rappresentazione grafica dei codici di programmazione di giochi. Ho riportato questi esempi perché, che ci crediate o no, erano i più semplici da spiegare (e anche i più divertenti, secondo me). Un lato veramente positivo delle opere di Fry è che non è indispensabile conoscere nulla del procedimento né essere dei programmatori o dei geeks. Chi possiede una certa conoscenza di programmazione sarà capace di cogliere dettagli e sfumature che sfuggono ai nostri occhi umani, ma anche senza nulla di tutto questo, i lavori di Fry appaiono comunque affascinanti, graficamente intriganti ed estremamente suggestivi, e ribadiscono il concetto tanto caro ai surrealisti, spesso -a torto- tacciato di superficialità, che non è sempre necessario capire cosa stiamo guardando, per riuscire a trovarlo semplicemente bello.
Per saperne di più:
Il sito ufficiale di Ben Fry
http://benfry.com/
La pagina dei progetti
http://benfry.com/projects/
Il sito ufficiale di Processing
http://processing.org/
.