Appunti e memorie di Ivan Venturi

Fare Videogiochi

 

Scritto daadmin il 18/03/2009 in 1989, c64, f1 manager, fattore XYZ, xyz con 1 Comment


Nel corso del 1989 nacquero alcuni problemi tra Carlà e il suo socio in Simulmondo, che a un certo punto uscì dalla società e in seguito fondò Genias.

Apro invece una piccola parentesi su F1 Manager, il videogioco che programmai in quel fantastico 1989, probabilmente una delle cose migliori che abbia mai fatto. Fu, come già ho scritto, uno sforzo enorme visti i tempi strettissimi che ci potevamo concedere, ma allo stesso modo fu per me un’esperienza epica in cui riuscii a spendere, nel pieno della gioventù e di quell’energia animale che la caratterizza, tutto il mio talento (quel po’ che avevo) in una specie di kolossal per C64.
Il videogioco era composto da varie sezioni: l’introduzione, il manageriale, il warm up (che conteneva la parte con la guida in soggettiva ‘tridimensionale’), la gara vera e propria, la premiazione della gara e la conclusione del campionato del mondo.
I giochi per C64 potevano essere su cassetta o su floppy-disk . Entrambi i supporti avevano un lato A e uno B, che potevano essere sfruttati entrambi. Ovviamente, essendo il mio F1 Manager un bestione pieno di grafica, decisi di sfruttare tutto lo spazio possibile e utilizzare i ‘caricamenti’ da una fase all’altra, cercando di concepire la struttura del gioco in maniera che essi corrispondessero di fatto a delle differenti fasi temporali. E che soprattutto non fosse mai necessario ricorrere al ‘contagiri’ del registratore Datasette del C64, piuttosto impreciso. Ogni caricamento doveva essere successivo al precedente, e al limite richiedere di riavvolgere completamente. Dovevo evitare assolutamente i ‘manda avanti il registratore fino al giro numero 157’, noiosa e frustrante modalità che talvolta veniva adottata nei videogiochi su nastro multicaricamento.
Col senno di poi, capisco che fu un esercizio di ingegno utilissimo. Avendo a che fare con la tecnologia, che inizialmente sembra sempre essere dalle potenzialità infinite, prima o poi ci si scontra sempre con dei limiti ‘fisici’ e ‘pratici’, aldilà di quelli imposti da più o meno potenza del processore, della ram o della scheda video. Ed è importantissimo tenerne conto in fase di progettazione. O meglio, addirittura in fase di ideazione. Inutile cercare di creare su telefono cellulare un videogioco 3D basato sull’esplorazione (che richiede molto tempo di gioco, mentre i giochi per cellulare devono essere caratterizzati da una certa rapidità e bassa longevità, essendo giocati in spazi di tempo brevi) e sulla manualità dell’interazione (difficilmente riproducibile con la piccola tastiera numerica del telefono cellulare). Meglio concepire un meccanismo apposito, che procuri divertimento in tempo breve e che non richieda troppe acrobazie con le dita sulla tastiera.
In F1 Manager, quindi si infilava la cassetta nel registratore del C64, si faceva LOAD, e dopo un po’ (‘FOUND F1MANAGER’) si avviava la presentazione: il logo della Simulmondo, rivisitato dal sottoscritto in chiave psichedelica, precedeva il titolo, che appariva in tutta la sua magnificenza su una bella schermata con una pista vista dall’alto e il muso del manager con gli occhiali da sole in un angolo dello schermo a comandare la scena, e introduceva la scelta della lingua, italiano o inglese. Dopodichè, iniziava il caricamento della parte successiva, cioè il manageriale.
La copertina di questa sezione recava un’altra illustrazione con una vettura da F1 frontale con delle ali rapaci a incoronarla, e una musica alquanto ossessiva e rombante (scritta da me: la mia idea iniziale era ben più armonica, ma mi scontrai con la difficoltà tecnica della programmazione vera e propria di un editor sonoro –che realizzai solo un paio di anni dopo-, senza il quale la melodia che potevo comporre era forzatamente semplice) sovrastava le scritte dei credits, cioè i vari PRODUCED BY FRANCESCO CARLA’ e i WRITTEN BY IVAN VENTURI. Si selezionava se iniziare una stagione oppure se caricarne una precedentemente salvata, dopodichè iniziavano le danze. Manageriali, s’intende.
In primis, dato un certo budget, si sceglieva quale pilota mettere sotto contratto. Ce n’erano dodici, se non ricordo male, per ognuno dei quali veniva visualizzato un bel casco pieno di riflessi. Tra i piloti infilai J. Kaukonen (chitarrista dei Jefferson Airplane), D. Marchi e J. Di Donato (due miei amici), oltre ovviamente al pilota più costoso e migliore di tutti, un certo I. Venturi, il cui casco maraglissimo era completamente tigrato. Giovanili narcisismi a parte, ogni pilota aveva ovviamente diverse caratteristiche, dalla resistenza all’abilità di guida.
Dopo avveniva la selezione del motore. Questa schermata riproduceva i reali motori di quella stagione della F1 (compreso il mitico 12 cilindri della Ferrari, che permetteva anche di avere il cambio sul volante, invenzione proprio di quella stagione della Ferrari), per i quali ero diventato un esperto, grazie alle tantissime riviste automobilistiche che avevo iniziato a comprare e alle chiacchiere fatte con uno dei boss di una di queste riviste, che mi raccontò alcune cose interessanti, utili a essere tradotte in interazione. A ogni colpo di joystick, le carrucole spostavano un motore fuori schermo e ne introducevano un altro, a disposizione della scelta del giocatore, mentre sulla sinistra una tabella ne snocciolava le caratteristiche.
Dopodichè si sceglieva il telaio, dagli alettoni a tutta l’aerodinamica fino al colore. Notai che praticamente tutti quelli ai quali facevo provare il gioco sceglievano il colore rosso, chissà come mai. Poi era il momento di scegliere il team, tra ingegneri e meccanici. Gli uni e gli altri avrebbero influito in modalità differenti nella resa della vettura e nella risoluzione degli inconvenienti. Non avere un team di meccanici adeguato sarebbe stato un guaio nella configurazione della vettura al warm up e soprattutto nei tempi durante i pitstop, che sarebbero potuti tramutarsi in pause non di pochi secondi ma di quasi minuti. Ma essere senza ingegneri seri voleva dire assemblare la macchina male e le prestazioni sarebbero state inevitabilmente compromesse. Scelto il team (e prosciugato il budget) iniziava il campionato.
La prima gara era in Brasile: Jacarepagua. Il percorso veniva visualizzato piuttosto dettagliatamente, dopodichè il programma chiedeva al giocatore di girare la cassetta o il floppydisk, per poi iniziare il caricamento della sezione successiva: il WARM UP.
La prima schermata era caratterizzata da un menu grafico di scelta dei vari elementi da settare: alettoni, ammortizzatori e soprattutto le gomme. Per l’occasione, nel corso dello sviluppo del gioco, fui obbligato a inventare il fattore XYZ di cui parlerò, anzi confesserò, meglio in seguito.
Effettuati i settaggi della vettura, iniziava finalmente la sezione di guida in soggettiva vera e propria. Impiegai un bel po’ di tempo e notti in bianco per realizzarla, ma ne valse la pena. La visuale era quella del pilota nell’abitacolo, di cui si vedevano le braccia e le mani salde al volante. Poi le ruote, sterzanti, e il triangolo della pista in prospettiva, sotto l’orizzonte, che cambiava a seconda del gran premio e che scorreva da un lato o dall’altro quando si curvava. I cordoli bianchi e rossi scivolavano veloci ai lato della macchina, avvicinandosi da un lato o dall’altro quando ci si stringeva nella curva. Era la corsa di qualificazione e messa a punto del veicolo, quindi non c’erano altre macchine.
Effettuata la qualificazione, venivano decretate le posizioni di partenza e iniziava il caricamento della parte successiva. Arrivava la gara vera e propria e ci si trasformava nuovamente in manager.
La sezione della gara iniziava con una schermata grafica in cui le macchine da corsa erano allineate alla partenza a seconda della qualificazione. E poi… VIAAA!!!
Durante la gara lo schermo era diviso in due: nella parte superiore si vedevano le varie ‘scene’ della gara, con un interminabile sequenza di sorpassi oppure imprevisti quali una gomma scoppia
ta o problemi al motore, che costringevano il pilota simulato in questione a ricorrere ai pitstop; la parte inferiore era composta invece dal pannello di comando del manager, attraverso il quale il giocatore poteva impartire al pilota la strategia da seguire. Aumenta o diminuisci la velocità media, attacca di più (cioè cerca di sorpassare), difenditi di più (cerca di non farti sorpassare), oppure vai ai box.
Chiedere troppo a un pilota inadeguato era praticamente condannarlo all’incidente. Per esempio, disponendo di un pilota scarso e intimandogli a tutti i costi di ‘attaccare’ quando davanti a lui si trovava, magari, un Ayrton Senna, erano alte le probabilità che questi si schiantasse nel tentativo, in una suggestiva scena di spataccamento della vettura.
Anche gli altri piloti delle altre scuderie, cioè gli automi guidati dal computer ai quali avevamo dato –senza porci grossi problemi di diritti o altro- i nomi dei corridori veri, si comportavano più o meno realisticamente e con caratteristiche simili ai loro omonimi reali. Mi divertii a creare piccole intelligenze speciali, per esempio per un pilota giapponese che si chiamava (e si chiama tutt’ora… ma io seguo poco la F1. Magari è il figlio!) Nakajima. Dato il suo talento da pilota non certo paragonabile a quello dei grandi, avevo scritto una routine che ogni tanto lo ‘gasava’, aumentando il suo parametro di ‘attacco’ al massimo, ben oltre la soglia della cautela imposta dalle sue relativamente scarse abilità di pilota. Quindi succedeva che ogni tanto egli schizzava in avanti, recuperava posizioni come un matto, fino a schiantarsi regolarmente per qualche manovra troppo azzardata. Tutto questo naturalmente avveniva come movimento di parametri, di indicatori numerici che indicavano il miglioramento della posizione, di semplici sequenze di sorpasso, fino alla –quella sì, spettacolare- uscita di strada. Questa era la magia dei giochi di allora: bastava poco, qualche numero in movimento, degli istogrammi che misuravano una realtà che si andava modificando, e l’immaginazione di chi giocava (nonché di chi creava) faceva il resto.

IL FATTORE XYZ
A questo proposito, rivelerò ora il fattore XYZ di cui ho prima accennato. Per la fase di WARM UP, scrissi le routine che influenzavano l’andamento in gara a seconda delle impostazioni degli alettoni e delle sospensioni regolate durante la fase di qualificazione. Feci le solite 3-4 gare per collaudarli, con i vari percorsi, e mi sembrò che funzionassero egregiamente. La vera sopresa fu tempo dopo, quando capii che avevo commesso un errore nel richiamare la suddetta routine, che veniva chiamata solo una volta all’inizio della gara e poi più. Quindi, tutta la sensazione di corretta simulazione derivante dall’assetto degli alettoni e delle sospensioni era basata quasi sul nulla! Praticamente non avveniva nient’altro che un calcolo di una piccola variazione random (cioè casuale) complementare ad alcuni parametri della vettura e della pista. Avevo percepito quello che iniziammo a chiamare il fattore XYZ, cioè che il contare sull’immaginazione del giocatore contribuiva sul piacere del gioco quanto la reale possibilità di modifica dei più piccoli parametri. Insomma: il gioco sembrava tenere conto di quelle impostazioni minori nonostante in realtà corrispondesse praticamente a un piccolo ulteriore fattore random!

Comunque, alla fine della fiera, la simulazione venne proprio bene, ogni gara, ogni percorso, ogni modo di affrontare la sfida, tutto aveva una propria ‘personalità’ ben riconoscibile.
Dopo la gara si passava alla fase successiva, cioè il podio, sul quale si vedevano i 3 piloti vincitori (sempre uguali) con i propri colori (che cambiavano a seconda del colore dell’auto). Dopodichè, se non era stato l’ultimo gran premio, il programma chiedeva di riavvolgere il lato 2 della cassetta e ricominciare col gran premio successivo.
Se invece era stato il gran premio finale, si andava avanti caricando la fase successiva dove veniva assegnato il titolo mondiale e il relativo budget. Ovviamente il divertimento ‘a lunga scadenza’ era ottenere budget sempre migliori per potersi permettere piloti sempre più bravi, motori sempre più potenti eccetera.
Era ovviamente possibile salvare la partita in molti punti del gioco. F1 Manager richiedeva, per terminare un intero campionato composto da 16 gran premi, almeno 10-12 ore di gioco, senza contare i tempi di caricamento. La gara da sola durava oltre venti minuti.

Per quanto riguarda la gestione della memoria, il Commodore 64 era una macchina stupenda, una rapa dalla quale si poteva cavare il sangue. In fase di progettazione, decidevo quanto spazio riservare a una schermata grafica ad alta risoluzione (che strizzavo ben bene avendo scritto un bell’algoritmo di compressione), quanto agli sprites, quanto ai caratteri multicolori ridefiniti coi quali era molto semplice produrre bella grafica facilmente gestibile in modo dinamico. Identificati chiaramente i limiti dello spazio disponibile per questa o quella cosa, era estremamente facile concentrare tutte le proprie energie sull’ottenere il più possibile. Quando rimanevano 2K liberi in fondo a un’area di memoria, ecco che saltava fuori quel piccolo colpo di genio, di estro videoludico (magari una routine per un effetto speciale sonoro o grafico, o un paio di sprite per far saltare fuori un personaggino nuovo a sopresa) che faceva da insostituibile ‘spezia’ al sapore finale del videogioco. Questo modo di lavorare era ovviamente adattissimo a me, che non ho mai avuto problemi di idee essendo stato fin da piccolo decisamente vulcanico. Piuttosto avevo il problema contrario, cioè il dover decidere tra le tante possibilità. Avere dei limiti di spazio era per me il modo migliore per ottenere il meglio.

Impiegai per la realizzazione di F1 Manager 7-8 mesi fulltime. E intendo fulltime sul serio! Altrimenti non ce l’avrei mai fatta, era troppo il lavoro da fare.
Dormivo praticamente sempre in ufficio in sacco a pelo, mi ero scritto un programmino che mi faceva da sveglia. Caffè a litri, cornetti ogni tanto in pasticceria, musica a palla, birrette, e fughe serali con gli amici ogni 2-3 giorni. Iniziai a lavorare in interno il 1° febbraio 1989, fino al 26 settembre 1989. Una pausa di 3 settimane ad agosto per un supermega giro in inter-rail (un abbonamento ferroviario che consentiva, ai minori di 26 anni, con quattro soldi, di girare liberamente in TUTTA Europa. Una cosa pazzesca… prendere il treno e andare ovunque, salendoci e basta. Ci facemmo un bel giro della Norvegia, un po’ Danimarca e qualcosa della Germania).

Il 27 settembre partii invece per il servizio militare.

Bookmark and Share
Finito Italy 90 Soccer e quasi il 1988.

Ricordo vagamente il periodo successivo, il Natale e il Capodanno. Mi alzavo tardi la mattina e andavo a letto tardi la sera, uscendo spesso per chiacchiere o per andare in Vespa fino alla discoteca Extasy al sabato sera in compagnia degli amici, perennemente ascoltando Led Zeppelin, Pink Floyd, Doors, U2 e tutto il resto del mondo stupendo della musica che avevo appena iniziato a scoprire. Fortunatamente avevo la prospettiva lavorativa, altrimenti mi sarei trovato in uno strano limbo, non sentendomi e non essendo uscito da una scuola che mi avrebbe garantito un minimo di futuro professionale.

Gennaio passò rapidamente, tra varie cose da sistemare per la mia prossima sistemazione in pianta stabile dentro Simulmondo: era il primo anno che non iniziavo come studente e l’effetto era decisamente strano, bello, quasi magico. Alle spalle la grande fatica di Italy ’90 Soccer, davanti la prospettiva immediata di diventare quello che avevo sempre sognato: un programmatore di videogiochi professionista.
Avrei aperto la partita Iva e percepito un compenso mensile. Per dirla coi termini di oggi, ero assolutamente precario, ma per me era già il raggiungimento di un traguardo che pensavo sarebbe esistito sempre solamente nei sogni. Fu facile quindi adattarsi ad alcune scomodità: quando iniziai ufficialmente a lavorare ‘in interno’, il 1° febbraio 1989, il mio ufficio era pieno degli scatoloni zeppi dei packaging di Bocce e Simulgolf (stampati in un numero di copie decisamente eccessivo per dei prodotti che certo non avrebbero potuto scalare l’hit parade) e lavoravo su banchi di scuola e un tavolo di mensa, mobilio usato credo comprato da Padre Marella. Però la poltrona era comoda, e comunque l’ufficio era tutto per me. Oltre al mio C64 ne avevo un altro paio di Carlà, quindi mentre un computer compilava e sull’altro avevo il gioco in testing, potevo continuare a programmare. Quell’ufficio spoglio da una parte e incasinato dall’altra sarebbe diventato il mio regno, la mia prigione, la mia tana, per gli otto mesi successivi.


Durante il Simulmondo Party dell’autunno precedente, avevo conosciuto un certo Nicola Paggin, un tipo simpatico sulla quarantina che aveva realizzato un semplice videogioco per Amiga chiamato F1 Manager. La realizzazione era assolutamente amatoriale, ma Carlà si innamorò all’istante del concept, misto tra una forte componente manageriale e alcune fasi arcade. L’idea fu quella di usare il concept, ampliarlo dove possibile, e trasformarlo in un videogioco vendibile per C64, Amiga e PC, che cominciava a fare la sua comparsa come computer game anche se limitato dai 4 (quattro!) colori della scheda grafica CGA. Confronto all’Amiga e all’Atari ST non c’era davvero confronto, ma Francesco intuì con grande lungimiranza cosa sarebbe diventato il PC negli anni successivi.
La versione Amiga fu affidata a due ragazzi di Latina piuttosto bravi ma non troppo creativi, che già avevano realizzato Bowls per Amiga. La versione PC se non erro a un ragazzo di Torino molto in gamba, la versione ST non ricordo (forse fu affidata a qualcuno che non la portò a termine, oppure non fu proprio affidata a nessuno).
Io ebbi l’incarico di realizzare dall’A alla Z la versione per C64.
Finalmente potevo lavorare in condizioni professionali, comodamente, in un ambiente realizzato a mia immagine e somiglianza, raggiungibile a piedi da casa, per realizzare un videogioco che non vedevo l’ora di iniziare e per il quale ogni minuto mi venivano in mente mille idee. In due parole: IL MASSIMO.
Ogni mattina dentro Simulmondo c’era Carlà come direttore, il suo socio Riccardo Arioti come direttore amministrativo, Federico ‘WIZ’ Croci alla segreteria ,

(eccolo mentre sistema uno dei suoi flipper, di cui teneva sempre un magnifico esemplare in ufficio. Quei vecchi flipper meccanici …un gusto fantastico!)e il sottoscritto come programmatore interno.

Iniziai a lavorare sodo, anche perché l’idea era di pubblicare il gioco per Natale, il che significava avere il master pronto entro l’autunno. Inoltre attendevo da un momento all’altro la ‘cartolina’, ovvero il richiamo alla leva obbligatoria, che sapevo in arrivo dato che non avevo richiesto alcun rinvio per motivi universitari. La cartolina azzurra mi arrivò infatti pochi mesi più tardi: sarei dovuto partire per il militare il 27 settembre di quell’anno.
Avevo a disposizione otto mesi per realizzare un videogioco che, una volta finito, avrebbe riempito un intero floppy disk, davanti e dietro (c’era la Side 1 e la Side 2: ogni tanto il programma chiedeva di girare il floppy disk nel drive), circa 4-5 volte il lavoro realizzato per il videogioco di calcio ‘Italy ’90 Soccer’. Calcolando che stavo programmando un viaggio in interrail (biglietto ferroviario col quale si poteva girare gratuitamente per tutta Europa) per il mese di agosto, e che una quindicina se ne sarebbero andati per le beghe varie relative alla realizzazione e masterizzazione della versione su cassetta, avevo solo sei mesi di tempo. Iniziai a lavorare ininterrottamente, andando a casa solo per pranzo o cena, a volte per dormire (ma spesso dormivo in ufficio, mi ero portato un sacco a pelo), e staccando il sabato sera per andare in discoteca coi miei amici. Ma non era un grande sforzo: non desideravo altro che fare quello, che era il mio ideale professionale ma anche personale, il mio massimo divertimento. Stavo ogni giorno a contatto con gli altri, Carlà mi consigliava un sacco di dischi magnifici da ascoltare e mi teneva aggiornato delle mille cose che faceva, Wiz aveva portato un paio dei suoi magnifici flipper in ufficio (vedi foto sopra…), e spesso la sera venivano a trovarmi i miei amici (che naturalmente obbligavo a giocare all’ultima versione del videogioco per avere più testing e pareri possibili). Riuscii anche ad avere un paio di ragazze (durata massima della relazione: tre settinane). Avevo diciott’anni e in vari momenti non fu facile tenere botta e mantenere salda la forza di volontà, con lo spettro sempre presente del ‘non fare in tempo’, che non mi lasciava mai. Carlà mi spronava a non mollare mai e mi fu molto d’aiuto. Era bellissimo, ogni due tre giorni, sedersi assieme davanti al monitor e vedere l’ultima versione e discurerne i dettagli e le possibili migliorie. Carlà aveva una conoscenza smisurata dei videogiochi ed era una fonte di ispirazione molto forte, soprattutto perché in un certo senso era un ‘outsider’, veniva da un passato di giornalista musicale e aveva tante esperienze diverse, cosa molto utile per non fossilizzarsi sulla deleteria mentalità del ‘nerd programmatore di videogiochi’.
In quei sei mesi giocai pochissimo ad altri videogiochi, avendo così poco tempo. Riuscii però a fare la grafica di GP Tennis Manager, programmato dal bravissimo Stefano Balzani di Colorno, provincia di Parma. Con Stefano mi trovai sempre benissimo e negli anni successivi ci trovammo a lavorare fianco a fianco.
Una volta parlai al telefono con Ricky Cangini, che stava facendo il
militare e che comunque rimaneva strettamente in contatto con l’avventura ‘Simulmondo’. Altro futuro amico e collega.
Bookmark and Share

I computer 8 bit avevano forti limiti, il che consentiva la realizzazione di un intero videogioco da parte di una sola persona. Ecco che quindi era possibile improvvisare, programmare o disegnare la grafica del gioco senza ancora sapere che gioco sarebbe stato. Per questo i videogiochi 8 bit, i one-man-game, furono i più originali in assoluto, pieni zeppi di trovate che ancora oggi sono utilizzabili in mille modi.
Una parentesi: ho scritto ‘one-man-game’, cioè giochi fatti da un sol uomo. Il panorama dei videogiochi era ancora totalmente maschile. Solo pochi videogiochi da bar riscuotevano un minimo successo tra le ragazze: Pac Man, Lady Bug, Pooyan. Comunque sempre una percentuale minima. E pochissime (più o meno zero) erano le ragazze appassionate di programmazione. Era una cultura per ragazzini brufolosi e con gli occhiali.

Estate 1987. Sta per iniziare il mio ultimo anno di liceo artistico (composto da soli quattro anni). Francesco mi presta un Amiga affinchè io possa iniziare a smanettarci. Nel frattempo mio fratello aveva comprato un PC (con scheda CGA, 4 colori!) che utilizzava per la scuola e per l’università appena iniziata (facoltà di Matematica: Scienze dell’Informazione ancora a bologna non esisteva). Nostra madre diede grande prova di sopportazione: nella nostra piccola casa, composta da una camera, un tinello e la cucina, vi erano ben tre postazioni computer: il PC sul tavolino accanto al muro e il C64 sul tavolo in tinello, l’Amiga sul tavolo in cucina.
Con l’Amiga giocai un po’ a fare questo e quello: realizzai delle musiche, disegnai col fenomenale Deluxe Paint (alcune illustrazioni che feci furono anche usate da Carlà per illustrare suoi articoli sull’Espresso), programmai semplici applicazioni. Mi fu chiaro subito che avrei dovuto ricominciare. L’Amiga era un nuovo mondo, una nuova concezione, nella quale era difficile fare passi intermedi, Basic poi Linguaggio Macchina, come nel C64. Per avere un’animazione decente bisognava per forza mettere le mani al Blitter, il processore grafico. E questo si poteva fare solo dando del tu al processore Motorola 68000.
Avevo 17 anni, ormai non ero più il nanerottolo nerd di qualche anno prima, le ragazze erano diventate un interesse molto meno astratto di prima, c’era ancora tanto da fare col C64. Inoltre, c’era già molta gente brava su Amiga, e con molti di essi Carlà era in contatto e stava lavorando. Quindi, consciamente o inconsciamente, presi una decisione. Specializzarmi come programmatore per Amiga allo stesso livello che avevo raggiunto col C64 richiedeva troppo, troppo tempo. Non l’avrei fatto.

Questa decisione che presi è stata di un’importanza fondamentale per me e per come ho affrontato il rinnovamento tecnologico, continuo, nel corso della mia vita professionale. A un certo punto bisogna fare una scelta: diventare degli specialisti, ficcando il naso a fondo nella tecnologia senza poterlo rialzare mai per paura di perdere fatalmente il contatto con essa, oppure imparare a gestire la tecnologia, imparando bene quelle che sono le linee fondamentali che l’attraversano e imparando a riconoscere la loro apparizione nel continuo evolversi elettronico e informatico.
Continuo a fare videogiochi da allora, e sono passati vent’anni. Ma è da oltre quindici anni che non scrivo più una linea di codice. Anche se, come andare in bicicletta, il saper programmare è una cosa (e una forma mentis) che non si dimentica.

Bookmark and Share

Scritto daadmin il 02/03/2009 in 1988, c64, calcio, Italy 90 soccer, mondiali, soccer con Nessun commento


Avevo da pochi mesi concluso gli esami della maturità ed ero quindi in quel periodo semi-sabbatico che si aveva appena dopo il diploma, dopo l’estate, in quel limbo di un anno circa che precedeva la partenza per il militare, ai miei tempi ancora obbligatorio.
Le vendite di Bowls e Simulgolf, in tutte le versioni previste, non erano affatto riuscite a contenere gli alti costi dell’avvio.
Italy ’90 soccer per Amiga, il calcio simil-3D dei fratelli Dardari, era stato praticamente prodotto e venduto solo da Italvideo, a Simulmondo a quanto so era arrivato ben poco.
I costi di avvio erano alti, le prospettive erano in immediata e ripida salita.
Era necessario realizzare un altro videogioco che vendesse bene entro Natale. Quel videogioco sarebbe dovuto essere la versione per Commodore 64 di Italy ’90 Soccer.
Ovviamente l’autore di tal videogioco sarei dovuto essere io, l’unico a portata di mano col quale si poteva di parlare di mesi di sviluppo e non di anni.
Era appena iniziato l’autunno, tipo metà o fine ottobre, il tempo già stringeva. A occhio e croce bisognava avere il master entro i primi di dicembre. Più o meno o quaranta giorni. Su sollecitazione del boss, mi misi all’opera.

Italy ’90 Soccer per Commodore 64 doveva prevedere una modalità a partita singola e modalità torneo, cioè la fase finale dei mondiali di calcio. Ci sarebbero dovute essere tutte le nazioni partecipanti ai mondiali, la partita si sarebbe dovuta svolgere in una modalità arcade con una buona attenzione alla simulazione sportiva.
Come si sa, nel calcio ci sono 11 giocatori per squadra, poi c’è pure il pallone. Ognuna di queste cose richiedeva uno sprite, ovvero uno di quegli oggetti grafici che il Commodore 64 riusciva a gestire indipendentemente dallo sfondo. Peccato che gli sprite a disposizione fossero solo 8. All’appello mancavano 15 sprites. Inoltre bisognava certamente realizzare una buona routine di scorrimento dello schermo, dato che non si poteva certo peccare di lentezza proprio nella visualizzazione del campo da calcio. Le schermate di selezione della squadra, della vittoria, il menu iniziale eccetera erano invece piuttosto semplici.
Per realizzare Italy ’90 Soccer avrei avuto bisogno di circa quattro-sei mesi. Ne avevo uno e mezzo. Capii che fino a Natale avrei dormito molto, molto poco. Ma non avevo scelta: era in ballo la possibilità di vedere realizzato il mio sogno.

Mia madre, quando realizzò la situazione, si prese vari giorni di ferie per essere sicura che non collassassi alla tastiera. Io mi trasferii defintivamente nel tinello, dove c’era il tavolino con il C64, il monitor, lo stereo e il letto a scomparsa nel quale solitamente dormiva mio fratello, ora assente perché partito per il servizio militare, sottotenente pacifista-fancazzista di istanza a Firenze dopo cinque mesi massacranti a Roma.
Lavoravo diciotto-venti ore su ventiquattro: mangiavo con l’imbuto, bevevo caffè al posto dell’acqua, mi appoggiavo sul letto solo quando proprio non connettevo più. Al monitor avevo appiccicato un adesivo sul quale avevo scritto la data di scadenza entro la quale avrei dovuto concludere. Lavorai più che sodo, in un permanente stato di ansia misto ad esaltazione, pensando solo e solamente a quello che stavo realizzando e sorretto dal sogno di quello che si sarebbe potuto realizzare se avessi portato a termine il mio compito.

Uscii di casa un po’ di volte, una sera per la festa di Halloween (iniziavano a celebrarsi proprio in quegli anni) in cui ricevetti pure una delusione sentimentale, e un pranzo in compagnia della mia classe del liceo, e qualche breve uscita con gli amici. Del resto, full-immersion totale, perennemente attaccato in cuffia allo stereo, inondato di Pink Foyd, U2, Doors.

Disegnai i vari fotogrammi delle animazioni dei calciatori, facendo miracoli con la bassa risoluzione della modalità multicolor, in maniera decisamente rapida grazie ai vari tool che mi ero sviluppato nel corso degli anni (editor di caratteri e di sfondi grafici, editor di sprites e di animazioni).
Scrissi la routine di scrolling dello schermo che muoveva solo le righe del campo e le porte, non essendoci sufficiente tempo macchina per muovere l’intera pagina video. Insomma: le operazioni per muovere tutti i pezzettini di grafica che componevano l’intero campo da calcio impiegavano nella loro esecuzione più del tempo impiegato dal pennello elettronico a disegnare lo schermo video. Risultato: un traballamento dell’immagine quando il campo si muoveva. Dovetti quindi usare una scrittura in linguaggio macchina più elementare (e più veloce nell’esecuzione) possibile e muovere solo le parti di campo che realmente necessitavano del movimento. Dopo un paio di giorni, il campo scivolava con la dolcezza di un ingranaggio perfettamente oliato.
Ora toccava ai calciatori. Dovevo inventare un modo per raddoppiare, quasi triplicare, il numero degli sprites disponibili. Era un problema non facile: se i calciatori si fossero mossi limitatamente in senso verticale (il campo aveva una porta a sinistra e una a destra, con la linea di metà campo in verticale) non sarebbe stato un problema: avrei intercettato il pennello elettronico che disegnava l’immagine televisiva una volta disegnati i primi calciatori, poi alla velocità della luce li avrei riposizionati più in basso, in modo che essi venissero nuovamente disegnati dal pennello elettronico che continuava il suo corso. Invece i calciatori hanno la brutta abitudine di muoversi su e giù per il campo. Come fare?
Optai per una soluzione logica più che visiva: allargai un po’ il campo da calcio, e feci in modo che quando un difensore usciva dall’inquadratura, un attaccante dalla parte opposta del campo avrebbe fatto il suo ingresso nello schermo. Tutti i calciatori si muovevano quindi con il movimento orizzontale condizionato, per fare in modo che complessivamente non ce ne fossero mai più di sette contemporaneamente. Più la palla, erano gli otto sprites che mamma Commodore aveva messo a disposizione.
L’ultimo scoglio fu creare un intelligenza artificiale decente, che consentisse di giocare contro il computer in maniera divertente (ovviamente era prevista la possibilità di giocare uno contro uno). Fu di grande aiuto una visita a domicilio di Davide Dardari, lo sviluppatore della versione amiga, accompagnato da Riccardo Arioti. Mi diede un po’ di dritte su come lui aveva sviluppato l’intelligenza artificiale dei calciatori, molto semplice ma funzionale. Quando la palla era libera, il calciatore comandato dal computer più vicino ad essa tentava di prenderne possesso, e allo stesso modo cercava di fare quando la palla era al piede del calciatore ‘umano’.
Quando il computer aveva la palla si muoveva verso la porta avversaria, finchè a una certa distanza da essa tentava di fare goal. Se il calciatore ‘umano’ si avvicinava troppo, tentava un dribbling (cambiando direzione di corsa) oppure tirava la palla a un altro calciatore. Molto semplice ma efficace. Avrei voluto sviluppare qualcosa di più sofisticato, ma il tempo era meno che pochissimo e i suggerimenti di Dardari furono un grande regalo. Aggiunsi qualche finezza, come una spruzzata di random qui e là per variare i comportamenti del computer e renderlo più imprevedibile. Approfondii la strategia di scelta del tiro, per meglio determinare quando tentare un pallonetto, quando un dribbling e quando un tiro in porta. Mi divertii a disegnare un po’ di animazioni per i calciatori esultanti dopo il goal, o affranti dopo la rete subita, e nelle varie acrobazie che potevano essere compiute, come la scivolata, la rovesciata, il colpo di testa. Gli omini disegnati tramite gli sprite multicolor avevano una definizione di 12×21 pixel, con 4 colori l’uno, di cui 3 comuni tra tutti gli sprites. Non era semplice dare dinamismo ai fotogrammi che componevano le animazioni, ma ormai ero un esperto di grafica al pixel e il risultato fu, permettete l’immodestia, decisamente buono. Anche
considerando che il calcio, come tutti gli altri sport, mi aveva sempre disinteressato.

Agli sgoccioli di una crisi nervosa per mancanza di sonno, riuscii a completare il gioco più o meno nei tempi. Dopo, l’Italvideo ne avviò la duplicazione per conto della Simulmondo e il gioco andò nei negozi. Ero riuscito nell’impresa. Stavolta non ci avevo messo un anno e mezzo a fare un gioco, bensì un mese e mezzo. E che gioco. Un calcio, zeppo di calciatori in movimento, mica un minigolf con una sola pallina!

E così finì il 1988.

Bookmark and Share

Nel 1987 ho fatto il primo videogioco della Simulmondo, prima software house italiana. Da allora ne ho fatti altre migliaia.
Dalla fine del millennio scorso faccio videogiochi educativi ed ora anche simulatori di guida e avventure di inquisitori medievali.
Poi nel 2003 ho fondato Koala Games, ora diventatata TIconBLU. E mi occupo di un bel po' di altre cose videoludiche varie.
E...VIVA I VIDEOGIOCHI ITALIANI!