Intervista ad Andrea Pompili

Autore: Raffox - Pubblicato il 01-10-2009.
(© https://ready64.org - Versione Stampabile. Riproduzione Vietata.)

Andrea Pompili 079_catalypse_320

Era l'estate del 1992 quando un tam tam di voci mi portò a conoscenza di un nuovo, eccezionale gioco italiano in vendita da poco tempo e pubblicato dalla Genias. Leggendo Zzap! appresi il nome: Catalypse. Dal titolo già mi piaceva! Scoprii presto che tutti i rivenditori in zona lo avevano esaurito e non era dato di sapere se e quando sarebbe stato di nuovo disponibile…  Allora come fare per avere una copia di quel gioco? Decisi il tutto per tutto;  senza perdermi d'animo e facendo uso delle mie eccelse doti nel data mining, riuscii a rintracciare il presunto numero telefonico del programmatore (grazie Pagine Gialle!). Armato di coraggio e, perché no, di un po' di sana faccia tosta provai a contattare il supereroe: sì, perché dopo aver ammirato le fotografie del gioco, l'autore era già diventato un mio idolo. Intanto, dall'altro capo del  telefono un giovane dal tono di voce deciso e allo stesso tempo disponibile confermò l'esattezza della mia ricerca. Era lui: Andrea Pompili, 18 anni da Roma, l'ideatore di Catalypse. Nel corso degli anni non ho mai dimenticato la generosità di questa persona che addirittura mi regalò una copia originale del suo gioco!


Ciao Andrea! Finalmente, dopo tanti anni dall'uscita del tuo Catalypse, sono riuscito a incontrarti! Inizio subito ponendoti la prima fatidica domanda con la quale siamo soliti inaugurare le interviste su Ready64. Ebbene, come hai cominciato, quali sono stati i tuoi esordi da "pischello"...

Ciao a tutti! Dunque, come ho cominciato... Ricordo che avevo 12 o 13 anni e ho conosciuto il Commodore 64 a casa di un amico. Ricordo che ero molto invidioso di lui e di ciò che riusciva a combinare con quel computer, quindi decisi di tartassare mio padre all'infinito per convincerlo a comprarne uno anche a me. All'inizio mio padre voleva comprare il Vic 20 che però, secondo me, non era abbastanza potente, era meglio il Commodore 64 ovviamente anche se a quel tempo costava molto di più rispetto, ad esempio, ai PC normali di oggi. Quindi stringendo un po' la cinghia lo abbiamo acquistato. Ricordo ancora mio padre quando aprì la scatola e tirò fuori il computer per la prima volta, prese il libretto d'istruzioni, inserì la spina nella corrente, accese il computer e iniziò a leggere il manuale mentre io intanto avevo già scritto il primo programma... al che mio padre chiuse il manuale e mi disse: "Il computer è roba tua... basta!". Ad oggi non è ancora capace di usare un computer, in realtà in famiglia sono io l'unico in grado farlo.

Questo è stato un segno premonitore, se così si può dire...

Beh, sicuramente dipende anche un po' dalla persona e dalla sua predisposizione. La cosa positiva dei computer di allora era di avere un manuale allegato, che conteneva anche gli schemi tecnici relativi al funzionamento interno dei computer stessi, fornendo anche degli esempi non esageratamente significativi ma comunque utili a capire come funzionassero le cose. Quindi una volta eseguiti tutti i listati d'esempio, qualche conoscenza veniva acquisita ma non era come oggi che basta andare su Internet e chiedere a qualcuno la spiegazione di ciò che ci occorre, la cosa bella di allora era che le conoscenze si era costretti a ricavarle da soli.

Ricordo che una volta ero in vacanza in Trentino e nella biblioteca del paese in cui mi trovavo c'era un libro che spiegava la programmazione in Assembly per Z80, ciò mi fece capire che esisteva un qualcosa al di là del semplice BASIC. Il vero passo però l'ho fatto quando frequentavo le scuole superiori, periodo in cui conobbi Emanuele Tajariol (che ho anche citato tra l'altro nei titoli di coda di Catalypse). Emanuele conosceva perfettamente l'Assembly e il funzionamento del Commodore 64, era amico di Andrea Carboni che collaborò nelle fasi di sviluppo di Catalypse. Si creò così un piccolo circolo culturale a tre in cui io ero il più piccolo e tartassavo gli altri ragazzi per avere più informazioni e spiegazioni possibili.

Iniziai così a scrivere i miei primi programmi in Assembly sotto la supervisione di Emanuele, intanto Andrea stava sviluppando Hellraid per la Italvideo e mi aiutò, anche con l'ausilio di utili cartucce per ‘freezare' i giochi, ad approfondire le mie conoscenze. Poi iniziai a studiare il funzionamento di qualche altro gioco come ad esempio Salamander, che mi piaceva tantissimo e tramite il quale appresi l'esistenza ed il funzionamento di determinati concetti di multiplexing e di sprite.

Devo specificare che principalmente a me non piace molto giocare al computer, bensì capirne il funzionamento e cercare di replicarlo. Programmai quindi due o tre giochi: un clone di Burning Rubber, la famosa corsa di aiuto con visuale dall'alto e le vetture che possono saltare, un gioco sullo stile di Space Harrier che però abbandonai perché troppo complicato per via degli elementi grafici tridimensionali da implementare e che io non ero in grado di sviluppare adeguatamente. Essendo comunque molto appassionato di Salamander, avendo le giuste conoscenze anche in fatto di parallasse, multiplexing e avendo letto il manuale di Andrew Braybrook nel quale spiegava il funzionamento di Morpheus, avevo gli elementi ideali per poter programmare un gioco di questo genere anche se, devo dire, era un po' come un salto nel buio perché non c'erano software house pronte ad aiutare un programmatore autodidatta.

Quindi hai utilizzato il codice di Salamander per approfondire le tue conoscenze, da vero autodidatta! Sostanzialmente hai percorso una via d'apprendimento piuttosto ardua, dato che non è certo cosa facile studiare un programma in questo modo, già compilato e quindi senza commenti esplicativi.


Esatto! Quindi proprio da autodidatta, ho preso la mia penna Bic e m'ispirai al profilo del tappo per ideare una prima versione della navicella che si pilota in Catalypse. Poi, siccome assomigliava troppo ad Armalyte e ci sarebbero potuti essere problemi di copyright, aggiunsi qualche altro elemento ispirato dalla modalità di armamento nel gioco di Katakis su Amiga, che avevo avuto modo di osservare da Andrea Carboni. Ero affascinato nel vedere tutte quelle armi che riempivano lo schermo. Questi furono gli elementi della mia prima bozza di gioco, alla quale aggiunsi poi lo scrolling parallattico dello schermo.

Tecnicamente dunque, di cosa ti sei avvalso per sviluppare il background, i blocchi grafici, gli sprite di Catalypse? Hai utilizzato degli strumenti "off the shelf", oppure hai preferito crearti degli editor secondo le tue specifiche necessità?


Mi ha aiutato tantissimo lo Shoot'em up Construction Kit, nel senso che la prima cosa che chiesi ad Andrea era se esistevano dei tool per sviluppare la grafica. Andrea purtroppo non ne aveva, a parte un editor di sprite che però non era il massimo. A parte il Seuck, mi creai uno sprite editor fatto su misura che inizialmente utilizzavo col joystick e in seguito, per comodità, con un mouse.

Permettimi una divagazione: sei ancora in possesso del tuo C64 e del materiale che avevi accumulato a quei tempi?


Certo che sì! Tra l'altro mi piacerebbe tanto riuscire a trovare il tempo per trasferire il contenuto dei dischetti sul PC ma un po' anche per pigrizia, lo devo ammettere, non sono ancora riuscito. Dovrei anche costruirmi il famoso cavetto XE1541, di cui ho scaricato gli schemi.

Tornando a noi, gli unici editor che ho programmato sono stati quello per gli sprite (che mi ha tenuto impegnato sei lunghi mesi e quindi mi fece capire che forse non era più il caso di fare gli editor da solo) e un editor di posizionamento dei nemici all'interno della mappa di ogni livello di Catalypse. In pratica con questo editor, potevo spostare la mappa del livello e collocare i nemici a mio piacimento lungo il percorso.

Invece il disegno dell'onda d'attacco era tutto composto da curve elementari che ricostruivo mano a mano sulla base di come si sarebbe spostato lo schermo. Ricordo che impiegai tanto tempo per implementare i movimenti dei nemici nel primo livello, poi scoprii invece che i calcoli erano piuttosto semplici da fare e che mi conveniva di più fare a mano le ondate di attacco piuttosto che disegnarle in qualche maniera.

Ciò che facevo era semplicemente riportare su un grande foglio bianco l'intero livello e tracciare il movimento dei nemici, scomponendolo in curve elementari. Per cui il discorso si riduceva ad una semi curva, seguita da un rettilineo, ancora una semi curva, uno spostamento in diagonale e via dicendo. Scorrendo lo schermo con l'editor che avevo creato, posizionavo quindi i nemici e procedevo poi a programmare il movimento secondo gli appunti cartacei che avevo preparato inizialmente. Il sistema era piuttosto rudimentale, ma efficace e rapido infatti all'epoca avevo poco tempo in quanto la Genias incalzava sui tempi di consegna.

Infatti dal momento in cui presentai la demo iniziale di cui ho accennato, passarono tre o quattro mesi in cui mi dedicai alla creazione di tutta l'introduzione e la scena finale per poi ritrovarmi con poco tempo a disposizione per completare tutto ciò che mancava.

L'introduzione e la scena conclusiva di Catalypse mostrano molta cura dei dettagli e conferiscono al gioco un ottimo senso di completezza. Anche queste sono state tutta opera tua?

Sì, ho fatto tutto da solo. Considera poi che non avevo modo di sfruttare le BBS, o l'Amiga e quindi tutto era reso un po' più difficile. Ricordo che un altro problema: sviluppando, ad esempio, una scena di fine livello e vedendola non funzionare, dovevo svolgere tutto il processo di debugging sul C64 stesso, caricando il disassemblatore, spostando la memoria da una parte all'altra e riesaminando il codice cercavo di capire dove e perché il gioco si era bloccato. In questo mi fu d'aiuto proprio il Seuck, almeno per quel che riguardava la creazione e il posizionamento dei blocchi grafici.

Della Genias invece cosa ci puoi raccontare?

Mentre Andrea Carboni presentava Hellraid a Riccardo Arioti (fondatore di Genias) casualmente conobbi Ivan Del Duca, Ivan Venturi, Massimiliano Magnasciutti, Marco Marinai (MaMaSoft, tragicamente scomparso in un incidente stradale e al quale ho dedicato un messaggio in Catalypse), poi ancora Nicola Tomljanovic, Massimigliano Agostinelli, Francesco Martire, Marco Genovesi, insomma tanti "sessantaquattristi" e tanti "amighisti" che ricordo con simpatia.

Poi ricordo anche che in Genias c'era un ragazzo, di cui però non ricordo il nome, che sviluppava giochi per PC e che noi tutti prendevamo in giro! Adesso invece chissà, potrebbe essere proprio lui a prendere in giro noi, visto che i videogiochi ormai vengono sviluppati in buona parte proprio per PC!

Andrea e Raffox

Tornando invece allo sviluppo di Catalypse si vocifera in rete, ormai da tanto tempo, dell'esistenza di una versione 1.1. Cosa ci racconti in proposito?

Il drive 1541 aveva la prerogativa di sviluppare molto calore se veniva utilizzato per lungo tempo e andando a salvare dati sul floppy-disk, questo veniva rovinato. Almeno così successe a me: poco prima del rilascio di Catalypse, il drive mi bruciò il disco del livello 3 e del livello 5. Per cui gli ultimi tre giorni prima della consegna ufficiale, senza mai dormire e senza mai andare a scuola (ero in quinta liceo all'epoca), dovetti riprogrammare i livelli persi e la versione di Catalypse che utilizzai per ripristinarli non era quella alla quale avevo apportato tutti i fix fino a quel momento, bensì una precedente.

Siccome poi il terzo livello del gioco era in realtà il primo che avevo programmato, ormai un anno addietro, alcuni fix non me li ricordavo più. Da lì il noto bug dell'end boss (la murena, per intenderci) in cui poteva capitare che durante il gioco alcune locazioni di memoria si sporcassero dando come risultato la comparsa caratteri indesiderati sullo schermo. C'era poi un problema anche nel secondo livello che non ebbi il tempo di correggere: l'end boss ha una riga nera dovuta all'errato posizionamento degli sprite di colore. Anche il quinto livello era affetto da alcuni bug simili a quelli del terzo e che non riuscii a correggere in tempo.

Però nonostante la presenza di questi bug, il gioco poteva comunque essere portato a termine ugualmente…

Purtroppo i bug c'erano e davano l'idea che il gioco fosse stato programmato frettolosamente e, limitatamente a quei due livelli, era effettivamente piuttosto vero. Dopo la consegna del gioco completo mi sono accorto dei bug ma stiamo parlando di quattro o cinque mesi dopo, quindi per principio decisi di riprendere in mano il codice e correggerlo, ricompilandolo e salvandolo sul dischetto originale che la Genias nel frattempo mi aveva mandato. Ecco la famosa versione 1.1

Nonostante il grande e meritato successo ottenuto da Catalypse, un paio di critiche sono state rivolte al livello di difficoltà generale, non proprio elevato, e alla somiglianza ad Armalyte. Qual è il tuo commento a riguardo?


Ebbene, a proposito della prima critica la verità è che io sono una schiappa a giocare col computer e onestamente non riesco a superare nemmeno il secondo livello di Catalypse, il che è tutto dire! A quei tempi non era facile trovare un test pilot a cui far provare un gioco per verificarne la difficoltà e la funzionalità.

Avrei potuto sottoporlo ad Andrea Carboni o Mauro Tajariol ma erano impegnati con lo sviluppo di altri giochi oltre poi ad aver iniziato anche l'università e quindi non avevano più orari compatibili ai miei che frequentavo ancora le scuole superiori. Non conoscendo persone nei paraggi di casa che potessero darmi un aiuto in quel senso, il test pilot dovetti effettuarlo da solo... e si vede! Ricordo che avevo utilizzato la regola del buon senso, cioè avevo riempito lo schermo in modo tale da costringere il giocatore a seguire determinati percorsi e a distruggere determinate cose seguendo un certo ordine per passare la sezione.

Il vero problema è che all'inizio, quando lo programmai, non riuscivo a superare nemmeno il primo livello e quindi pensai fosse addirittura troppo difficile e procedetti eliminando diversi ostacoli. Su questo livello di difficoltà venne così tarato tutto il gioco. Forse l'errore grosso che ho commesso nel programmare Catalypse è stato di non implementare un migliore sistema di armamento, sul tipo di Armalyte, e renderlo più adattabile a seconda delle preferenze del giocatore. Quindi sostanzialmente un meccanismo delle armi più flessibile avrebbe migliorato la qualità generale del gioco. Pazienza, mi dispiace non averci pensato in quel momento...

Forse, da un lato, è stato anche meglio così sennò avresti reso Catalypse più somigliante ad Armalyte.

Anche questo è vero, ricordo invece a proposito della somiglianza ad Armalyte che Marco Auletta (conosciuto il giorno in cui presentai la demo di Catalypse alla Genias, durante una fiera) mi accusò di essere un copiatore di videogiochi.

Spero in realtà che col tempo si sia ricreduto. In realtà io mi occupai di tutta la grafica di Catalypse, dagli sfondi agli sprite della navicella e dei nemici, il primo livello è quello che viene contestato perché gli altri sono decisamente diversi dallo stile grafico adottato per Armalyte.

Però per creare della buona grafica col Commodore 64 c'è un solo modo, ovvero utilizzare il colore bianco e le retinature per le sfumature. Nel caso di un'ambientazione con tubi metallici purtroppo non ci sono possibilità di rendere l'effetto diverso applicando altre tecniche nello stile grafico. C'era poi il problema dell'astronave un po' somigliante ad Armalyte, ma se vogliamo neanche più di tanto.

Alla fine mi sono comunque ispirato al famoso tappo della penna Bic. Penso in definitiva che un po' tutti gli shoot'em up siano simili ad un gioco solo: Delta. Bene o male tutti i giochi successivi a Delta hanno qualcosa che gli assomiglia.

Una cosa che mi sarebbe invece piaciuto implementare in Catalypse, ma che non ero in grado di riprodurre perché non avevo a disposizione i cicli macchina necessari a gestire la routine, era l'uso dei multicolori come aveva fatto Manfred Trenz ovvero di poter assegnare un terzo colore differente ad ogni carattere a seconda della posizione che occupava sullo schermo. La tecnica avrebbe dato un aspetto molto più colorato.

079_box_catalypse_236

Raccontaci la verità, hai tratto qualche leggera ispirazione anche da IO (Firebird)?

Ahah! Sì, per il secondo livello! Devo proprio ammettere che per la grafica mi sono principalmente ispirato a IO, perché mi piaceva molto. Mi ispirai a Salamander invece per quanto riguarda la meccanica di gioco. Alla fine ho fatto un merge d'idee e ispirazioni provenienti da diversi titoli.

Il problema fu però che Genias, mentre ero ancora in fase di sviluppo, mi consigliò di differenziare Catalypse da Armalyte perché la somiglianza era eccessiva. Procedetti modificando leggermente l'astronave e variando determinati aspetti del concept generale del gioco, come alcuni elementi nella schermata dei titoli, le stelle nello scrolling visualizzate in maniera diversa. Io in ogni caso avevo cercato di creare una grafica funzionale e allo stesso tempo bella da vedere, soprattutto che facesse chiaramente capire ciò che rappresentava.

Se dovessi ripensare Catalypse oggi, come lo rifaresti?


Ci sono 3 cose che non ho fatto su Catalypse di cui mi pento.

La prima è uno scrolling parallattico vero, con due o tre livelli, magari anche ambientato sulla crosta terrestre e abbellito da elementi mobili. La cosa era molto complicata da fare sul C64 e avrebbe comportato la riduzione dell'area di gioco, un duro compromesso da accettare.

Un altro fattore che avrei voluto inserire era l'intelligenza dei nemici, così da riprodurre non solo ondate di attacco ma anche un confronto "one on one" con determinati nemici, dando un'impostazione anche più strategica a tutto il concept, nel quale non era più sufficiente imparare a memoria l'arrivo delle ondate dei nemici per poterle superare e avanzare di livello.

La terza cosa che mi sarebbe piaciuto aggiungere era la presenza di una sorta di porte di accesso dislocate nei vari livelli, attraverso le quali poter accedere, ad esempio, ad uno stage alternativo, magari a scorrimento verticale. In realtà era in progetto di sviluppare qualcosa del genere, il problema era che praticamente si sarebbe trattato di mettere insieme un altro gioco e il tempo a disposizione per farlo non c'era.

Quindi preferii abbellire il gioco con degli intermezzi e con delle scene d'introduzione e di fine gioco... delle chicche raramente implementate in altri giochi dello stesso genere.

Anche la voce digitalizzata nella presentazione è la tua?


Certamente! La parte relativa alla voce digitalizzata l'ho sviluppata tutta su Amiga, con il noto programma Audiomaster, grazie ad Andrea Carboni che aveva un'interfaccia di trasferimento dati da C64 ad Amiga.

Scoprii che prendendo un suono digitalizzato su Amiga e dividendo per due gli 8 bit di campionamento di quel computer, rendevo i dati perfettamente compatibili per il C64. Questo è uno dei tanti esempi, insieme al multiplexing, di come alcuni bug presenti nell'architettura hardware del C64 abbiano reso possibile la creazione di certi effetti grafici e sonori, altrimenti impossibili da riprodurre.

Per il caricamento delle tracce digitalizzate nell'intro di Catalypse mi sono avvalso della stessa routine utilizzata in Turrican, che riesce a caricare 60 Kb in pochissimi secondi, mentre per i caricamenti successivi ricordo di aver utilizzato il turboloader della Genias, anch'esso veloce ma non così tanto come quello inventato da Manfred Trenz.

Qual è il tuo pensiero attuale nei confronti del C64 e della cultura ad esso legata?

Penso che sia assolutamente cosa buona e giusta perché a me piacciono solo giochi bidimensionali! Tra l'altro ho visto che ci sono diversi bei giochi in cantiere...

Certo è una bella sfida e bisogna avere anche il tempo per farlo. L'importante è focalizzarsi sull'obiettivo e avere tanta passione. La cosa che mi dispiace è che qui in Italia ci sono tante persone con le conoscenze giuste per poter sviluppare giochi di qualità ma non esistono software house che supportino adeguatamente il lavoro.

Io e Andrea Carboni avevamo recentemente pensato di sviluppare videogame per telefoni cellulari, su piattaforma Java rigorosamente bidimensionali senza quindi aver bisogno di motori tridimensionali, di sistemi di calcolo della fisica o dell'intelligenza artificiale, insomma tante componenti che, a mio avviso, due o tre persone non potrebbero gestire adeguatamente. Per certi versi i cellulari, nella loro relativa semplicità, oggi rappresentano un po' ciò che una volta era il C64, ma forse alla fine non ne vale più tanto la pena.

Domanda finale... ci sarà un nuovo Catalypse?


Avevamo pensato al discorso della telefonia mobile e fare un porting di vari giochi, tra cui anche un tentativo di picchiaduro chiamato Fatal Noise, però ci siamo resi tristemente conto che il tempo non era dalla nostra parte e siamo stato costretti ad abbandonare il progetto.

Gradiresti dire qualcosa ai nostri lettori, prima di congedarci?


Ringraziando, saluto tutti con simpatia! Ciao ciao!


Riferimenti
- La scheda di Catalypse su Ready64
- Intervista ad Andrea Pompili sul caso "Le Tigri di Telecom"
- Intervista ad Andrea Pompili su retrogamer.it