Intervista a Filippo Masia

Autore: Raffox - Pubblicato il 31-08-2022.
(© https://ready64.org - Versione Stampabile. Riproduzione Vietata.)

Filippo Masia - Programmatore Commodore 64On The Moon - Commodore 64, 1990

Più che svolgere un'intervista vera e propria, questa volta abbiamo voluto lasciar raccontare la propria esperienza direttamente al diretto interessato. E Filippo Masia non ha certo indugiato, anzi ci ha regalato un articolo assolutamente autobiografico ricco di contenuti che leggendoli, ne siamo certi, vi appassionerà così come è accaduto con noi. Filippo Masia lo abbiamo conosciuto in quanto autore del gioco On the Moon, pubblicato nel numero 46 di Commodisk, nel lontano 1990.


Ecco cosa ci ha raccontato Filippo...

Quand’ero piccolo sapevo a memoria i nomi di tutti gli astronauti.

Mi faceva piacere esordire con quest'affermazione. Leggendo vi sarà chiaro il motivo.

Quando ero ragazzo a casa avevo il VIC 20, ma ben presto rimasi affascinato dal Commodore 64, accadde la volta in cui lo vidi in funzione nella vetrina di una cartoleria nella mia città. Un dipendente del negozio, appassionato del nuovo "giocattolo", furbescamente aveva sistemato nella vetrina, con vista sulla strada, il nuovissimo C64 con il suo monitor, il joystick, il datassette, il disk drive per leggeri i floppy disk e, naturalmente, giochi come Pitstop 2, il calcio e gli sparatutto spaziali sempre in funzione. Inutile dire che camminando per la strada era impossibile non notare i fantasmagorici giochi e resistere dall'entrare in negozio, dove già erano radunati diversi ragazzi, per vedere più da vicino quella meraviglia in funzione, e magari poter provare a giocarci. Certamente il mio VIC 20 impallidiva al confronto, e a dare man forte quasi tutte le riviste di computer si erano già scatenate a presentare i giochi e listati per il nuovo C64, riducendo sempre di più gli spazi tra le pagine dedicati al più piccolo VIC 20. Io però non volevo cedere al fascino del nuovo arrivato, e anzi avevo deciso di acquistare l’espansione di memoria per VIC 20, accessorio quantomai inutile che, sostanzialmente, credo potesse servire soltanto per qualche applicazione di una certa lunghezza, tipo agenda o word processor.

Comunque, per quel che mi riguarda, il VIC 20 fu uno strumento importante in quanto mi servì per poter imparare la programmazione in BASIC. Ma soprattutto mi permise di iniziare a entrare proprio nella logica della programmazione, con la soddisfazione di constatare che il computer, pur dopo diverse prove, errori e correzioni, infine eseguiva precisamente le istruzioni e i compiti che io avevo predisposto.

A quei tempi facevo qualche soldo con la vendita dei libri DeAgostini, avevo con me un catalogo di diverse enciclopedie tutte con tematiche differenti, oltre anche ad alcuni volumi e atlanti che potevano essere esaminati sul posto. Con tutto ciò potevo allestire una piccola esposizione, previa autorizzazione, nei locali di diversi uffici della città. Ben presto, la DeAgostini aggiunse al catalogo anche un’enciclopedia che spiegava tutti i passaggi per realizzare dei piccoli giochi anche di tipo adventure per il C64. C’era addirittura una sezione dedicata all'Acorn e allo Spectrum. Io stesso ero interessato all’enciclopedia, ma invece di aspettare l’uscita dei volumi rilegati acquistavo regolarmente in edicola i singoli fascicoli e li leggevo, anzi li studiavo con molto interesse.

Ben presto, non soltanto i libri, ma anche lo stesso Commodore 64 fu incluso nel catalogo della DeAgostini, così mi ritrovai a venderne diversi esemplari grazie soprattutto al comodo sistema di pagamento con bollettini. Altre volte invece passavo io personalmente a riscuotere le rate dagli acquirenti. Naturalmente il C64 acquistato in quel modo era assai più caro di quanto sarebbe stato acquistandolo direttamente al negozio, inoltre, una volta fatto l’ordine, il cliente doveva attendere la consegna e a tal proposito spesso mi sono dovuto sorbire tutte le lamentele dovute ai ritardi delle spedizioni.

Alcuni mesi più tardi mi decisi anch’io e comprai l’agognato C64. Naturalmente lo acquistai proprio nel negozio dove lo avevo visto per la prima volta! Ricordo bene che all’inizio usavo il solo datassette e collegavo il computer al televisore. In seguito comprai un monitor e per ultimo il lettore dei floppy. La maggior parte delle riviste sul C64 che acquistavo in edicola avevano in allegato la cassettina per il datassette e solo dopo qualche tempo passarono al più comodo floppy disk.

All’epoca le mie letture preferite erano Supercommodore, Elettronica e Computer e Commodore Computer Club. Con le prime due pubblicazioni era allegata la cassettina nella quale spesso si potevano trovare delle utility fondamentali per chiunque volesse scavare sotto la superficie della programmazione. Fin da subito infatti mi resi conto che il mio principale interesse non era tanto giocare quanto capire come i giochi fossero fatti. Volevo capire come questi funzionassero e come poter creare qualcosa di mio.

Diverse utility mi sono state di grande aiuto, tra le quali, fondamentale fu il programma monitor che permetteva di scandagliare la memoria del computer e salvarne intere porzioni, inoltre vi era la sezione assembler che permetteva di leggere ed editare la memoria direttamente in assembly. Però quello che usai di più fu un assembler più sofisticato che permetteva una scrittura agevole, compilazione ed esecuzione rapide, e un Editor di Sprite. Non bisogna infatti dimenticare che il pezzo forte di tutti i giochi per il C64 era costituito proprio dagli sprite, ovvero quelle comode figurine quadrate, colorate, che con l’aiuto delle apposite utility potevano prendere le sembianze di qualsiasi personaggio, macchina o struttura si potesse immaginare.

Se non ricordo male se ne potevano utilizzare contemporaneamente fino a 8, ma in memoria e sempre utilizzabili se ne potevano avere molti di più. Inoltre, con la combinazione affiancata di diversi sprite era possibile creare strutture più complesse ed elaborate. Un’altra utility che mi piaceva parecchio permetteva, dopo aver caricato un gioco, di congelarne il funzionamento così da poter scandagliare la memoria alla ricerca degli eventuali sprite, per estrarli e utilizzarli altrove. In tal modo avevo capito che gli sprite erano conservati in alcune sezioni di memoria e inoltre che questi funzionavano secondo la logica del cartone animato... fotogramma per fotogramma.

Dopo aver salvato gli sprite di un personaggio, con il semplice BASIC del C64, l’uso delle Poke e i cicli For Next, ero in grado di animare e far muovere lo stesso personaggio completamente al di fuori del gioco in cui si trovava. Col tempo ho iniziato a creare, avvalendomi di un apposito editor, i miei primi sprite personalizzati, facendoli comparire in sequenza per dare la parvenza del movimento. Poi mi è venuta l’idea di creare un’animazione più complessa con gli astronauti che camminano sulla Luna. Ciò fu dovuto dal fatto che quand’ero piccolo le esplorazioni spaziali mi affascinavano all'inverosimile, al punto che sapevo perfino a memoria i nomi di tutti gli astronauti. In seguito proprio quella passione mi aveva fatto balenare in mente l’idea di inventare un gioco che simulasse l’intera missione Apollo del luglio 1969 con lo sbarco sulla Luna.

 A quel punto erano diventati per me fondamentali i diversi articoli comparsi su Commodore Computer Club, in special modo gli articoli dove si parlava di linguaggio macchina, degli sprite, del ciclo interrupt che caratterizza il C64 e la possibilità di introdurre, nel ciclo macchina di funzionamento, una serie di routine del gioco completamente personalizzate che permettevano, ad esempio, il movimento dello schermo e degli sprite in modo estremamente fluido. Cosa questa impossibile da ottenere con altre tecniche di programmazione. Tutto ciò mentre avveniva l’esecuzione, pressoché contemporanea, di altre routine del gioco, eseguite nel ciclo principale. Un esempio di tale tecnica è proprio all’inizio del gioco, nella presentazione, dove si vede il suolo lunare che scorre mentre gli sprite vengono usati per creare il titolo del gioco, e di sottofondo si sente la musica di “Così parlò Zaratustra” (unica parte del gioco che non ho scritto io...). Tutte cose che oggi giorno possono sembrare normali agli occhi dei più ma che all’epoca dovevano essere pensate e costruite ad hoc. Comunque onore al merito per l’enorme duttilità del Commodore 64 e per le sue incredibili possibilità.

Per quanto riguarda il gioco vero e proprio avevo pensato di crearlo a fasi, non sapendo bene quale direzione avrebbe preso lo sviluppo. Man mano che mi venivano delle idee cercavo di realizzarle, anche se così subentravano delle difficoltà ma molto spesso, curiosamente, capitava di trovare la soluzione adatta al mio problema proprio nell’articolo di C.C.C che avevo appena acquistato. Pensavo sempre al gioco, ogni momento della giornata, e a volte, come ho detto, proprio quell’idea che mi serviva per la sua prosecuzione sembrava quasi, magicamente, materializzarsi da sola all'interno delle riviste che ero solito leggere.

In conclusione, in breve tempo ero arrivato a completare tutte le diverse sezioni del gioco. Per ognuna di esse avevo dovuto inventare di sana pianta un aspetto ludico che potesse catturare l’interesse del giocatore. In questo senso, in particolare, non sono del tutto convinto di essere pienamente riuscito nel mio intento, ma sono sicuro che non avrei potuto fare meglio. La difficoltà iniziale di On the Moon l’ho calibrata volutamente per risultare facile, con i diversi stadi del missile che il giocatore deve riuscire a separare al momento giusto (spoiler: ovvero al lampeggiare della cornice, cosa che funzionava nel C64 originale, ma purtroppo non nella quasi totalità dei primi emulatori di C64 su PC, tranne forse il primo CCS64).

Le differenti sezioni del gioco riproducono le molteplici operazioni previste nell’originario Progetto Apollo della NASA: esse consistevano sostanzialmente nell’entrata in orbita terrestre, accelerazione verso la Luna, operazioni di aggancio del modulo lunare. Successivamente doveva avvenire la correzione di rotta, agendo con il joystick con una certa logica su una serie di numeri in veloce movimento. Segue quindi l’entrata nell’orbita lunare, possibile solo con una dosata azione di frenaggio del motore principale dell’Apollo. Quindi segue la procedura di distacco del Modulo Lunare (Lem) e l’inizio della discesa verso la Luna. Nella prima fase della discesa il gioco si svolge con visione dalla Sala comando di Houston. In questo stage occorre calibrare, con piccole e brevi azioni sul joystick, la spinta del retrorazzo del Lem mantenendolo, per diverse schermate, all’interno della traiettoria prestabilita (qui però mi sono in parte ispirato ad Apollo 18... lo ammetto). Nella fase finale della discesa sul suolo lunare la visione è dalla Luna stessa: si osserva il Lem dall’esterno e anche questa volta bisogna calibrare bene la spinta del retrorazzo tramite il joystick per contrastare l’attrazione lunare, inoltre la velocità laterale deve essere portata a zero, mentre quella verticale deve essere “minima”, pena lo schianto sulla Luna con effetti più o meno devastanti.

Ho sempre avuto la sensazione di non aver calibrato a dovere la difficoltà in questa fase del gioco, rendendolo troppo difficile perché io stesso sono riuscito solo una volta ad atterrare sulla Luna in modo corretto, mentre i miei amici non ci riuscirono mai.

Arrivati sulla Luna i due astronauti escono a passeggiare sulla superficie. Hanno però anche diversi compiti da svolgere: raccogliere campioni lunari, sistemare la bandiera e due strumenti scientifici, oltre a scattare diverse fotografie. Per fare ciò bisogna dare gli ordini agli astronauti nel momento in cui sono rivolti verso di noi. Dopo un certo periodo di tempo gli astronauti ritornano a bordo, segue la fase della ripartenza del Lem dalla Luna e il riaggancio all’Apollo che aspetta in orbita lunare. In seguito bisogna applicare l’accelerazione per uscire dall’orbita lunare e dirigersi verso la Terra. Alla fine, se tutto è andato per il verso giusto, comparirà un resoconto con il punteggio sulla missione portata a termine, e tutte le foto scattate sulla Luna saranno visibili!

Terminata la realizzazione del gioco, in parte indotto anche dai miei amici, cominciai a pensare che potevo provare a monetizzare. Perciò proposi la commercializzazione del gioco ad alcune Software house e a qualche rivista. La casa editrice JCE decise di pubblicare sia il gioco che l’articolo di presentazione che avevo preparato nel caso di una eventuale pubblicazione solo sulla rivista. Mi fu offerto un determinato compenso e mi fu detto anche che i diritti sarebbero passati alla JCE. Io accettai anche se poi a dire il vero rimasi un po’ deluso sfogliando la rivista CommoDisk n.46 del 1990, perché non ero stato menzionato nelle pagine dedicate alla recensione del mio gioco.

Non passò molto tempo però che anche la rivista tedesca 64'er mi scrisse dicendomi che era interessata al gioco e proponendomi un compenso (in marchi), che naturalmente accettai.

Parecchi anni dopo mi è capitato di ritrovare in rete, più precisamente in un sito tedesco, tra i giochi per il C64, anche il mio On the Moon con l’articolo pubblicato anni prima. Questa volta constatavo, con un certo orgoglio, che venivo citato in quanto autore del gioco!

Oltre a ciò ho finalmente notato che qualcuno, a suo tempo, si era preso la briga di testare il gioco ed era anche riuscito a portarlo a termine, documentando ogni fase con apposita schermata.

Quanto a me, dimenticata la Luna e le enciclopedie da vendere, proseguii gli studi laureandomi in Giurisprudenza alla facoltà di Sassari, la mia città. Ho lavorato per diversi anni presso il Centro elaborazione dati di due diverse banche, sempre nella stessa città. Infine sono passato alla Pubblica Amministrazione, più precisamente all’Ufficio Legale dell’Agenzia delle Entrate. Di recente vi confesso che mi è tornata la passione per la programmazione con la Metatrader 4 che utilizza un linguaggio simile al C++ per la realizzazione di Expert Advisor. Sono dei robot che operano in automatico sul Forex, la borsa dei cambi monetari. Al momento i miei robot non sembrano molto produttivi ma non mi arrendo e spero che l’idea giusta, a forza di cercarla, prima o poi si materializzi ancora una volta da sola.