Prosegue la serie di interviste agli ex-programmatori Simulmondo in attesa della Reunion ufficiale che si terra’ la 20 Marzo a Bologna!
Oggi e’ il turno di Navidad Fietta storico programmatore di giochi come Millemiglia per Pc e molti altri!
WOPR: Ciao Natale! Innanzitutto grazie per la disponibilita’ e per il tempo che mi stai dedicando! I leettori del mio blog ne saranno entusiasti… Come avrai visto io sono un superappassionato e fan di Simulmondo quindi non potevo perdermi un’occasione cosi ghiotta…!
NATALE: Lo’ un piacere, spero di non annoiarli troppo con le mie risposte, in genere parlo poco ma quando l’argomento mi appassiona rischio per contro di diventare prolisso. Devo comunque premettere che in quanto a nomi e date la mia memoria e’ un colabrodo, spero quindi che i tuoi lettori mi scuseranno per le eventuali imprecisioni.
WOPR: Per questa volta sei perdonato eheh…!A parte gli scherzi cominciamo con la classica domanda: ci vuoi raccontare come e’ stata la tua “infanzia videoludica”, come ti sei avvicinato a questo mondo e quali macchine hai utilizzato prima di trasformare questa tua passione in un vero e proprio lavoro?
NATALE: La mia passione per i videogiochi e’ nata in modo abbastanza comune: in un angolo del bar sottocasa avevano installato uno di quei primi enormi cassoni sul quale si poteva giocare a Space Invaders ed ogni tanto mi fermavo a giocarci, come tanti altri coetanei….
A differenza di molti colleghi, pero’, non ho mai posseduto C64, Amiga o console. Solo al primo anno di universita’ riuscii finalmente ad ottenere da mio padre un PC IBM (con CPU 8088 un 4.77 MHz, 512 Kb di RAM e bus dati a 8 poco) sul quale iniziai a programmare come passatempo (prima in Basic, poi in Pascal).
Fra i programmi che scrivevo c’era anche qualche videogioco (clone di quelli che vedevo nelle sale giochi) ma soprattutto programmavo solutori di equazioni o visualizzatori di funzioni in 2D e 3D (cosa che avevo iniziato a fare gia’ anni prima, trascrivendo a mano su carta millimetrata gli ouput numerici ottenuti programmando la calcolatrice scientifica HP11C) infatti sono sempre stato appassionato di matematica e geometria.
WOPR: Quando hai deciso di voler diventare un programmatore di videogiochi e come sei venuto a conoscenza di Simulmondo?
NATALE: Non l’ho deciso esplicitamente, in realta’ ero al primo anno di universita’ e stavo studiando per diventare ingegnere elettronico! C’era un primo esame di informatica e scoprii che ero molto portato per quella materia che inoltre mi interessava piu’ di tutte le altre; nell’aula laboratorio, dopo le brevi esercitazioni assegnate, mi divertivo a programmare cose come frattali o videogiochi amatoriali ed un giorno mentre lavoravo ad un rozzo platform
Un collega di corso mi disse di aver letto su una rivista l’annuncio di una ditta di Bologna (la Simulmondo) che cercava programmatori di videogiochi quindi, dato che guadagnare qualche soldino extra ad uno studente universitario fa sempre piacere, provai a recarmi sul posto.
Piuttosto ingenuamente mi presentai senza un appuntamento ne’ una telefonata e se fosse stato un ambiente un po’ piu’ formale forse si sarebbero limitati ad reindirizzarmi educatamente all’uscita.
WOPR: La leggenda narra che durante il tuo primo colloquio con Ivan Venturi e Francesco Carla’ (rispettivamente direttore di produzione e fondatore di Simulmondo) tu ti sia presentato con un floppy contenente l’immagine di un semplicissimo cubo in 3D e che, davanti alla titubanza di Ivan, premendo un tasto del PC hai dato vita ad una serie di movimenti e rotazioni del cubo in questione che hanno lasciato letteralmente “basiti” entrambi i responsabili Simulmondo! Lo’ andata davvero cosi? Ci spieghi in dettaglio cosa successe in quell’occasione?
NATALE: In realta’ non fu il primo colloquio ma il secondo: al primo parlai molto brevemente con Francesco Carla’ il quale mi disse che potevano essere interessati ad un programmatore PC per il porting di un gioco di calcio 3D che stavano sviluppando per Amiga (conobbi in quell’occasione anche Mario Bruscella, programmatore del suddetto calcio Amiga) ma che avrei dovuto presentare una demo delle mie capacita’ tecniche prima che mi prendessero in considerazione!
Cosi’ me ne andai con la promessa di rifarmi vivo con una demo 3D e solo in seguito ho saputo da Francesco che non si aspettava di rivedermi…
En lugar, dopo poco piu’ di un mese, ritornai con la demo richiesta!
Qui’ vale la pena aprire una parentesi per spiegare ai piu’ giovani che all’epoca metterci piu’ di un mese (part time, dato che studiavo) per ottenere “solamente” un cubo rotante non era affatto molto tempo. Al giorno d’oggi con DirectX o OpenGl si ottiene molto di piu’ in poche ore (e non parliamo di cio’ che si ottiene usando uno dei mille engine 3D open source facilmente reperibili in rete), ma allora il programmatore era solo con la scheda grafica senza neppure il supporto di un driver ed ogni funzionalita’ dalla proiezione dei vertici alla rasterizzazione dei poligoni andava programmata esplicitamente (ovviamente le schede grafiche 3D ancora non esistevano, anzi neppure le funzioni 2D erano accelerate dall’HW). Inoltre anche reperire esempi o documentazioni era difficoltoso dato che internet non era ancora diffusa e persino Fidonet sarebbe arrivata alla mia portata solo alcuni anni dopo.
Tornando ai fatti, cubi 3D credo ne avessero visti fino alla nausea, la mia piccola demo pero’ permetteva di ruotarlo a varie velocita’, traslarlo, scalarlo e non ricordo piu’ che altro interagendo in tempo reale. Credo che sia stata proprio l’interattivita’ a colpirli favorevolmente, anche se all’epoca non mi sembro’ affatto che quella demo li impressionasse tanto da essere ricordata ancora vent’anni dopo!
WOPR: E invece….! Tieni presente che di questo demo ne parlo’ anche Ivan in un post sul suo Blog!
NATALE: Eheheh! Incidentalmente passo’ invece sotto l’indifferenza generale la caratteristica di cui andavo piu’ fiero, ossia il fatto di aver implementato una retinatura (al giorno d’oggi diremmo “texture algoritmica”, ma all’epoca il termine “texture” ancora non esisteva) per mostrare ognuna delle 6 facce del cubo con un colore diverso nonostante il modo grafico avesse solo 4 colores…
Comunque quella demo li convinse ad affidarmi un incarico, non il calcio ipotizzato inizialmente ma un gioco di corse di Formula 1 di cui non ricordo il nome esatto.
WOPR: Da quel giorno quindi e’ cominciata la tua avventura nel mondo della programmazione di videogiochi?
NATALE: Si, anche se inizialmente a rilento….
Iniziai a sviluppare il gioco di corse ma quando cominciavo ad avere le auto 3D visibili sia in modalita’ CGA a 4 colores que EGA a 16 colores venni dirottato alla realizzazione della versione PC di Mille Miglia (gioco di corse con auto d’epoca) per il nuovo modo grafico 320×200 un 256 colores, che cominciava allora ad essere disponibile sulle nuove schede grafiche VGA. Passai quindi i sorgenti della Formula 1 ad altri collaboratori esterni perche’ lo ultimassero ma evidentemente non era destino… infatti se ben ricordo in seguito quel progetto fu abbandonato definitivamente!
Ando’ meglio a Mille Miglia, anche se non senza difficolta’….Infatti a gioco praticamente completo ci accorgemmo di un terribile bug che mandava il programma in crash senza nessuna causa apparente!
Non ricordo di preciso quanto tempo ci volle per risolverlo ma sicuramente piu’ di un mese, forse anche due; era diventato ormai noto a tutti come il Buggone e non si aspettava altro che la sua soluzione per commercializzare il gioco.
Per individuare il problema ci vollero molte sessioni di testing, a volte lunghissime: ne ricordo una in particolare in cui io e Andrea Bradamanti (prossimamente troverete l’intervista anche a lui!NdA )continuammo a testare il gioco ininterrottamente per tutta la giornata e la serata seguente, perdendo la cognizione del tempo a tal punto che solo quando entrarono dalla porta gli addetti alle pulizie ci accorgemmo che si erano gia’ fatte le 8 del mattino e decidemmo quindi di tornare a casa….!
Alle 9 sobre, mi ero appena addormentato (ancora completamente vestito) quando fui svegliato da una telefonata di Ivan che, non sapendo quanto si fosse prolungato il testing, chiedeva notizie sui risultati ottenuti…
Alla fine si scopri’ che il buggone non era un bug singolo ma la somma di alcuni bug distinti: il piu’ facile da individuare fu un bug dell’assemblatore che rappezzai cambiando l’ordine di alcune istruzioni (e a dimostrazione che certe cose non sono cambiate, giusto il mese scorso ho incontrato un bug simile in un compilatore HLSL….!) mentre piu’ avanti scoprii un bug anche nell’allocazione della memoria per il segmento di codice nelle librerie audio scritte da un collaboratore esterno.
Corretti questi due problemi la stabilita’ miglioro’ parecchio e il gioco non andava piu’ in crash (almeno nei menu) se non qualche volta durante la gara! A scoprire l’indizio risolutivo fu infine una sessione di testing fatta da Gaetano Dalboni, designer del gioco, che passo’ ore a percorrere l’intero circuito alla velocita’ minima di 5 Km/h; in questo modo scopri’ che quando si era in vista del traguardo le automobili avversarie, dopo averlo superato, impazzivano e iniziavano a saltellare ovunque e poco dopo il gioco crashava. Quest’ultimo bug era causato dalla mancanza di un percorso da seguire per le auto che terminavano la corsa prima dell’utente: io avevo previsto un settore dopo il traguardo per questa esigenza ma solo fino alla massima distanza visibile per evitare che le auto sparissero di colpo e non mi ero reso conto che, terminato di percorrere quel settore, anche se troppo lontane per essere visibili le auto continuavano a muoversi comunque finendo occasionalmente nell’inquadratura (ma questo non era il problema principale) e leggendo i dati della pista da aree di memoria non di loro competenza (e questo prima o poi causava errori di indirizzamento generando il crash).
Risolto anche quel bug Mille Miglia fu finalmente comercializzato!
Ecco una foto della confezione (fronte e retro) con l’intero suo contenuto:
In quel periodo lavoravo come esterno part time da casa, dato che intendevo continuare in parallelo gli studi (ed eventualmente scegliere un lavoro differente dopo la laurea). Nel giro di un anno, pero’ i casi della vita mi costrinsero a cambiare strategia passando al lavoro full time, credo poco dopo il completamento di Mille Miglia, cosi’ iniziai l’incarico successivo (versione PC dei giochi per edicola da Diabolik 3 in poi) come interno con l’accordo di poter prendere permessi in qualsiasi momento per continuare a dare gli esami.
Le cose pero’ non andarono in quel modo e man mano che il tempo passava la varieta’ di sfide che si incontravano nella programmazione di videogiochi mi appassiono’ a tal punto da dedicarmi anima e corpo ai videogiochi.
WOPR: Quale linguaggio usavi per realizzare i giochi?
NATALE: Agli inizi il Turbo Pascal per le parti ad alto livello e l’Assembler per quelle Time Critical (con il clock dei PC che in quei primi tempi raggiungeva al massimo gli 8 MHz erano molte); solo piu’ avanti passai a C y C (sempre misti ad Assembler) che sono per molti versi una scelta decisamente migliore del Pascal per programmare videogiochi (oggi molto piu’ che allora).
WOPR: Come avveniva il processo di creazione di un prodotto?
NATALE: Essenzialmente si partiva da un’idea che, dopo essere stata discussa ed approvata dai piani alti con procedure che non ho mai seguito, il designer mi descriveva per rifinirla laddove ci fossero stati problemi di fattibilita’ o viceversa fosse possibile ottenere piu’ di cio’ che prevedeva; quindi si stabilivano le specifiche da dare a grafici e montatori (in realta’ nei primissimi tempi la figura del montatore non esisteva ed il programmatore si occupava personalmente anche del montaggio, a volte assistito in questo compito dai tester o dal designer) dopodiche’ cominciavo a scrivere il codice.
Spesso oltre che lavorare al programma di gioco vero e proprio dovevo realizzare i vari tool di montaggio, necessari per le piu’ varie esigenze, dal convertire automaticamente la grafica nei formati necessari all’editor usato dai montatori per costruire gli scenari di gioco e posizionarvi oggetti e personaggi.
Una procedura diversa fu seguita inizialmente per la serie di adventure da edicola, dato che in quel caso non dovevo sviluppare un gioco nuovo ma fare il porting di qualcosa che esisteva gia’ su Amiga. Quindi invece di un designer mi interfacciavo con Stephen Balzani (Intervista nello scorso articolo…NdA), programmatore appunto della versione Amiga, che mi forniva la descrizione degli algoritmi e dei formati dati usati oltre a scampoli di codice (in Assembler Motorola) da tradurre in versione PC!
WOPR: Tutto quello che programmavi doveva essere sottoposto all’accettazione ed alla modifica da parte di un responsabile o veniva pubblicato “cosi com’era”?
NATALE: Nei primi tempi c’era un continuo confronto con il designer ed una crescita interattiva del gioco con scambi di idee e proposte per migliorarlo che arrivavano a volte anche da grafici e tester, oltre al continuo ed indispensabile contributo dei suddetti tester per identificare i bugs da correggere. Piu’ avanti, soprattutto per la serie edicola, lo sviluppo divenne via via sempre piu’ industrializzato, al punto che io addirittura non vedevo piu’ i giochi montati (salvo quando dovevo risolvere un bug) e mi limitavo a fornire il core del gioco e gli strumenti software usati dai montatori.
In entrambi i momenti comunque il codice veniva testato solo come scatola nera infatti, che io ricordi, nessuno ha mai controllato i listati per approvare algoritmi o implementazione; contava solo il risultato visibile e su come ottenerlo avevo generalmente carta bianca.
Solo negli ultimi tempi capito’ che l’interfaccia e le funzionalita’ delle librerie che condividevo con gli altri programmatori PC venissero prestabilite da un responsabile!
WOPR: Nel triennio 1990-1993 Simulmondo ha sfornato davvero moltissimi giochi tra i quali le serie da edicola basate sui fumetti piu’ in voga all’epoca (Diabolik, Dylan Dog, Tex e Spiderman) piu’ due serie nuove (Simulman e Time Runners) que, almeno all’inizio, hanno avuto un successo strepitoso. ¿Cómo recuerda aquel momento?
NATALE: All’inizio sembrava le cose andassero di bene in meglio e produrre un numero sempre maggiore di giochi mi sembrava un segno del nostro successo…. poi pero’ mi sono accorto (forse in ritardo dato che, vienen dicevo, raramente vedevo i giochi completi) che mentre il codice cresceva e migliorava, fornendo ai designer potenzialita’ nuove, il taglio dei tempi li ridusse invece a sfruttare sempre meno e sempre peggio le funzionalita’ che gia’ avevamo… Ritengo infatti che l’industrializzazione delle procedure di sviluppo sarebbe stata un bene per la qualita’ dei prodotti se non ci fosse stata la contemporanea riduzione dei tempi di design, grafica e testing.
Ironicamente una delle ultime cose che avevo sviluppato prima del “crollo” era una nuova versione upgradata dei tool di montaggio per i giochi da edicola che avrebbe permesso di migliorarli molto, strumento che pero’ venne ultimato quasi in coincidenza con l’abbandono di quel tipo di prodotti.
WOPR: Poi ad un tratto avviene qualcosa all’interno di simulmondo che rovina quell’atmosfera magica distruggendo i pilastri che tengono in piedi l’azienda…ci puoi dire cosa e’ successo esattamente e come hai reagito al cambiamento in quell’occasione?
NATALE: Cosa sia succeso lo hanno descritto altri molto meglio di quanto potrei mai fare io anche perche’ sono sempre stato un po’ avulso dalle questioni organizzative: basti pensare che sono stato uno degli ultimi a capire che stava succedendo qualcosa ed anche uno dei pochi che non lascio’ Simulmondo ma fu “lasciato libero” quando ormai la ditta navigava in cattive acque.
WOPR: En 1993 ormai in Simulmondo erano rimasti in pochi dei “viejo” ed una volta andati via anche loro l’azienda perse lo smalto di un tempo fino a chiudere definitivamente giusto?
NATALE: Non ricordo le date ma, dopo la fine come Simulmondo, ci fu un periodo in cui la ditta assunse il nome Multi ed in quel periodo lavorai al porting di MilleMiglia per un navigatore satellitare (mai avrei creduto di rimettere mano 10 anni dopo al codice del mio primo prodotto commercializzato!) e piu’ tardi allo sviluppo di un paio di giochi di calcio (Soccer Champ e Soccer Star), attorno al 2000 se non ricordo male: solo il primo dei due pero’ fu completato e poco tempo dopo la ditta chiuse definitivamente.
Riguardo il porting di Mille Miglia ebbi un paio di sorprese: la prima e’ che nonostante io avessi previsto la temporizzazione del gioco indipendente dal clock, provando ad eseguirlo su PC piu’ moderni scoprii che non funzionava nulla… e stavolta non era colpa mia ma delle librerie di sistema Borland; per fortuna pero’ in rete trovai senza difficolta’ la patch ufficiale….! La seconda sorpresa fu scoprire un bug sfuggito al testing fatto ai tempi: tutto funzionava perfettamente correndo le annate singolarmente ma se si decideva di giocare l’intera carriera invece dell’auto scelta nel menu ci si ritrovava a guidare sempre la prima della lista!
WOPR: Un vero pecccato….ma torniamo a te! Dopo l’uscita da Simulmondo di cosa ti sei occupato? Sappiamo che sei da sempre un’appassionato di origami..per chi non sapesse cosa sono puoi spiegarci in cosa consiste quest’arte e cosa hai realizzato in tal senso?
NATALE: Parlo volentieri di quest’arte giapponese un po’ sottovalutata!
Partiamo da una definizione: l’origami y’ l’arte di ottenere sculture di carta piegando un unico foglio, generalmente quadrato, senza mai tagliarlo ne incollarlo.
Una corrente dell’origami ammette l’uso di piu’ fogli di carta, purche’ siano uniti fra loro con pieghe ed incastri, sempre senza colla od altro; una delle caratteristiche peculiari dell’origami, rispetto ad altre forme artistiche (e che lo accomuna alla musica), y’ la possibilita’ di fissare la procedura di piegatura in una serie di istruzioni codificate con una simbologia internazionale, in modo che quando un creativo progetta una forma nuova puo’ divulgarne le istruzioni dando ad ogni altro origamista al mondo la possibilita’ di riprodurla (ma ovviamente anche seguendo le istruzioni alla perfezione c’e’ una differenza notevole fra lo stesso modello piegato da un maestro o da un hobbista), esattamente come succede nella musica con gli spartiti. Come in qualsiasi arte anche nell’origami esistono molti stili diversi: realistici, stilizzati od astratti.
Nei seguenti link si possono osservare i differenti stili di alcuni noti artisti, scelti del tutto arbitrariamente fra i numerosissimi origamisti di qualita’:
- http://www.ericjoisel.com/humans.html
- http://giangdinh.com/fold_figures.html
- http://www.origamee.net/galleries.html
- http://www.folders.jp/g/2005/0501.html
Nel mio piccolo non mi sono concentrato su uno stile unico ma ho cercato di spaziare ideando modelli di vario genere; alcuni di quelli a cui sono piu’ legato sono un scorpione in stile realistico (ci ho messo circa un anno a progettarne la sequenza di piegatura) e delle geometrie curvilinee…. potete vederli entrambi (assieme a qualche altro) in questa foto presa alla mostra di un convegno alcuni anni fa.
Oltre a questi ho ideato maschere, fiori, draghi, insetti e altri soggetti; le foto di alcune (poche) mie opere, assieme a molte altre di autori prevalentemente italiani, si possono vedere sul sito del CDO che invito a visitare chi e’ interessato ad avvicinarsi a questa arte.
WOPR: Una domanda che molte persone vorrebbero porti…come mai all’epoca della Colors (Software House fondata da Ivan Venturi) venivi soprannominato “Il conte”?
NATALE: Una volta, forse in risposta ad un mio atteggiamento un po’ altezzoso, Mirko Venturi (fratello di Ivan e cofondatore di Colors) mi chiamo’ scherzosamente “Duca” ed io lo corressi “Conte, prego!” e questo perche’ *probabilmente* ho un po’ di sangue nobile ma non ci ho mai dato abbastanza importanza da cercarne le prove. Siccome casualmente in quel periodo (solo per breve tempo e per ragioni che oggi considero abbastanza sciocche) preferivo non rendere nota la mia collaborazione con Colors, mi iscrissero con quel nome nei Credits di un gioco.
Quel soprannome mi resto’ appiccicato anche in seguito, credo per tutta la durata della mia collaborazione con Colors….
WOPR: ¿Qué vas a hacer ahora?
NATALE: Programmazione, prevalentemente di videogiochi, por supuesto! Dopo le esperienze con Simulmondo/Multi e Colors ed un breve periodo in cui ho scritto programmi dei generi piu’ diversi ho iniziato a lavorare per Artematica (fondata da Riccardo Cangini, altro ex Simulmondiano), con cui collaboro tuttora anche se non in esclusiva.
Questo mi ha dato la possibilita’ di lavorare non solo a molti altri giochi per PC ma di fare interessanti esperienze anche su varie consolle (Xbox, DS, Wii). Lavorare su Nintendo DS mi ha particolarmente divertito perche’ la scarsa potenza dell’hardware costringe il programmatore a spingere a fondo sulle ottimizzazioni, un polvo’ come si era costretti a fare sugli antichi PC.
Recentemente collaboro anche con Koala Games di Ivan Venturi!
WOPR: Se ti dicessero di ricostituire una Software House con i tuoi colleghi Simulmondiani cosa risponderesti?
NATALE: Ci sono molti ex colleghi con cui lavorerei ancora volentieri ma in un momento di crisi del settore come questo penso sarebbe poco saggio tentare di aprire una nuova software house… inoltre so che molti hanno abbandonato da tempo il settore videoludico e non avrebbe grande senso per loro tornarvi.
WOPR: Ti fara’ allora piacere sapere che Sabato 20 Bolonia en marzo si la tierra’ la Reunion Simulmondo che permettera’ ad appassionati e addetti ai lavori di parlare e confrontarsi con i programmatori dell’azienda che nei primi anni ’90 porto’ alla ribalta i videogiochi italiani! Tu parteciperai a questa straordinaria iniziativa?
NATALE: Salute permettendo ci saro’ senza dubbio; ci sono molte persone con cui ho perso i contatti da anni che rivedro’ molto volentieri!
WOPR: Bien, ringraziandoti ancora per il tempo che mi hai dedicato ti faccio i piu’ sinceri complimenti per i giochi che ci hai regalato augurandomi di incontrarti personalmente alla Reunion!
NATALE: Grazie a te per aver sopportato i miei sproloqui, a presto allora!
























Pingback: Intervista a Wopr sul terzo numero di Re.Bit!! | Retrogaming Planet
Pingback: Enrico Colombini: un'avventura infinita nella storia informatica di ieri e di oggi | Retrogaming Planet