Appunti e memorie di Ivan Venturi

Fare Videogiochi

 

Scritto daadmin il 12/05/2009 in 1993, arcade, edicola, editor, metodo, moduli, ritagliatore con Nessun commento


Sempre in quel periodo (videogiochi da edicola), ci prese una vera e propria mania da burocrazia interna.
Inizialmente, mi sembra che Francesco avesse inserito in alcune procedure interne l’utilizzo di moduli.
In produzione iniziammo ad adottarli di buon grado, poi sempre di più, con selvaggia soddisfazione!
Avevamo un modulo (cartaceo) per tutto, in perfetto stile catena-di-montaggio qual era il ciclo di produzione del periodo: per la definizione della grafica degli arcade, per la logica, per le scene interattive, per i dialoghi eccetera.
Il bello era che funzionava benissimo! E che ogni volta che qualcuno aveva una miglioria da fare al ciclo di produzione, oppure c’era un upgrade software che consentiva di fare una certa cosa in più, bastava aggiornare il modulo, aggiungere una casellina da barrare, fotocopiarlo in 10-20 copie, e il gioco era fatto.
Avevamo, nello stanzone grande della produzione (nella sede grande di viale Berti Pichat), una scaffalatura tuuuuutta dedicata ai moduli. Lì c’erano i moduli pronti, già fotocopiati, per essere usati.
Tali moduli venivano compilati a biro (non c’era la rete LAN ancora…) e quindi la carta (e le fotocopie) erano comodissimi, anche perchè ogni modulo compilato poi finiva nel raccoglitore del singolo progetto, fino a formarne lo storyboard, che aveva nelle prime pagine i brevi appunti di Carlà sulla puntata, poi un mio soggetto ‘esploso’ con il (brevissimo) designe di produzione, chi faceva cosa ecc, e poi moduli e moduli e moduli e moduli. E ancora moduli. Fino alla definizione dell’ultima variabile.
Poi avevamo gli editor, che utilizzavamo (tramite operatori) per inserire i dati scritti nei moduli dentro il gioco vero e proprio. L’Editor Arcade per le sezioni arcade, e il “PLAYER” (realizzato da Marco Gregori e Stefano Dal Fiume) per quelle avventura. Avevamo nel tempo sviluppato uno script player, a misura di quelle avventure, che ci consentiva di produrre qualsiasi tipo di scena interattiva o dialogo in tempi brevi.
Ah, dimenticavo il ‘ritagliatore’. Altro oggetto senza il quale ci saremmo amputati le mani. Il ‘ritagliatore’ era il programma, sviluppato da Cristiano Montanari e Massimo Baraldi, che serviva a trasformare i vari files di grafica, così come uscivano dal Deluxe Paint, in frames di grafica ‘pappabile’ dal ns sistema. nonchè a provare le animazioni, rinominare e copiare i files eccetera. Anche sul “player” e sul “ritagliatore”, lavorare era una particolare delizia. Le riunioni con i programmatori in cui definivamo le nuove funzioni, che da lì a poco ci avrebbero enormemente migliorato la vita in produzione, erano il massimo del gusto, un po’ come decidere tutti i dettagli per la propria cucina, sapendo che ogni cosa ben pensata si sarebbe positivamente ripercossa nella vita di tutti i giorni.
…Che goduria gli editor e le utility!

Ogni modulo mi sembra avesse la bella firmetta di chi l’aveva compilato. Era sempre fondamentale inquadrare chi era il responsabile di cosa.
I vari progetti DD seguivano il loro iter inarrestabile e diventavano master.
Tali storyboard ‘a moduli’ erano comodissimi per il debug. Quando c’era un problema di strani comportamenti logici (il software ormai era piuttosto stabile, non riservava praticamente mai brutte sorprese), bastava armarsi di santa pazienza, prendere lo storyboard e spulciarselo, trovando la variabile definita male o il passaggio sbagliato nella logica degli script.
Il metodo ‘moduli’ ci diede grosse soddisfazioni, perchè ci consentiva di tenere sotto controllo un ritmo forsennato di lavoro, incasellando al massimo ogni cosa e pilotando ogni processo.
Anche per questo, gli adventure-arcade da edicola, sono diventati poi tutti uguali!

Saludos!

Bookmark and Share

Scritto daadmin il 08/04/2009 in c64, caratteri, editor, koala, koalapaint, sid, sprites, vic con Nessun commento


…insomma: gli EDITOR e il KOALAPAINT.

Stiamo sempre parlando del periodo 8 bit, 1985 fino al 1991 circa.
Per fare i videogiochi su C64 (come per gli altri computer, ovviamente) era necessario produrre vari tipi di materiali digitali, quali
- i ‘caratteri’ (il termine ‘font’ si è cominciato ad usare solo più tardi), che potevano essere sia i caratteri alfanumerici, sia (e soprattutto) blocchetti di grafica 8×8 pixel utilizzati in maniera modulare per creare grafica hi-res o multicolor nelle normali schermate video. Il C64 funzionava in modalità ‘normale’ o in modalità ‘alta risoluzione’. In modalità ‘normale’ visualizzava solamente i ‘caratteri’. Quindi, modificando questi caratteri, si potevano ottenere belle immagini grafiche pur senza passare per le ‘costose’ (in termini di RAM) ‘schermate hi-res’;
- le ‘schermate hi-res’, che in realtà potevano essere in alta risoluzione (quindi sfruttare pienamente i 320 punti per 200 di risoluzione, ma con pochissimi colori utilizzabili. The Hobbit della Melbourne House usava schermate hi-res) oppure in multicolor, che dimezzava la risoluzione orizzontale, per utilizzare le informazioni delle coppie di bit che così si formavano per ottenere maggiore possibilità d’uso dei colori;
- gli ‘sprites’, ovvero le immagini grandi 24 x 21 pixel che si muovevano indipendentemente dal fondale. Ce n’erano 8. Per esempio, nei giochi di calcio, gli omini erano ovviamente sempre sprites;
- le musiche: utilizzando le 3 voci del SID si potevano creare armonie di vario tipo, con 4 forme d’onda a disposizione (triangolare-trombettata, sinusoidale-flautata, rettangolare-metallica, casuale-noise, rumore), Attack-Decay-Sustain-Release per definire la forma dell’onda e la durata delle sue parti, il volume, i filtri e altre cosette.

I videogiochi usavano gli elementi di cui sopra a quintali. Era necessario quindi poter disporre di adeguati strumenti per lavorare rapidamente e comodamente.

Inizialmente, quando dovevo disegnare dei caratteri o degli sprites, disegnavo sui miei bei quaderni a quadretti (prima o poi ne scannerizzerò alcune pagine e le posto – ne avevo almeno uno per ogni progetto) delle griglie delle dimensioni necessarie, quindi a multipli di 8 se dovevo disegnare dei caratteri, o di 24 (anzi, 8×3) x 21, se dovevo disegnare degli sprites.
Poi disegnavo con la mia biro ed eventuali pennarelli la grafica che dovevo fare.
Poi trasformavo ogni colore in una coppia di bit, 0 o 1.
Poi, a lato di ogni riga-byte calcolavo in esadecimale il byte che descriveva la riga. 00 per riga vuota, FF per riga piena. 81 per il primo pixel a sinistra e l’ultimo a destra accesi.
Poi, inserivo questi numeri da qualche parte nel codice.
Insomma, un procedimento piuttosto lunghetto.

Poi provai a utilizzare editor commerciali. Ricordo uno sprite editor laccatissimo (ma assolutamente non ricordo nè il nome nè la marca), che consentiva di fare varie cose, anche particolari, ma non consentiva di farne varie che servivano a me.

Per quanto riguarda le schermate hi-res, all’inizio usavo un programma che si chiamava… boh, non mi ricordo. Solo in hi-res. Ci giocherellavo ogni tanto. Ma non lo usai lavorativamente mai, perchè quando ebbi la possibilità tecnica di usare la grafica hi-res nei miei giochi, già avevo bisogno di usare più colori (multicolor) e arrivai presto al versatilissimo Koala Paint. Nome che mi è rimasto nel cuore…
Koala Paint era velocissimo da usare, semplice per gestire i file, e utilizzava la tastiera per posizionare il cursore in certi punti dello schermo. C’era lo schermo di ‘menu’, con 16 rettangoloni con le funzioni possibili (Fill-riempi, Draw-disegna, linee, curve, rettangoli, cerchi, gestione file ecc). Con spazio si passava dal menu alla schermata vera e propria. Si usava la tavoletta KoalaPad (che io usai sempre poco, perchè era molto imprecisa) oppure il joystick (che io usavo sempre per disegnare la grafica), spesso punto per punto…
La cosa bella del posizionamento del cursore tramite tastiera, era che funzionava anche nella schermata di lavoro, non solo sui menu. Quindi, premendo il tasto A potevo posizionare rapidamente il cursore in alto a sinistra, senza aspettare di ‘arrivarci’ muovendolo col joystick.

Per quanto riguarda la musica, ancora peggio. Facevo elementari liste di note (anche quelle scritte prima sul mio quaderno in un rudimentale pentagramma) che mettevo in ‘data’ e leggevo sequenzialmente, ‘pokando’ e poi’ storando’ i relativi valori (a due byte) nelle frequenze delle 3 voci audio.

Insomma un delirio! E un procedimento estremamente lento per fare qualsiasi cosa. Oltretutto, ciò non consentiva di fare grosse modifiche a ciò che si era fatto. Una volta che lo sprite o i caratteri erano disegnati su carta, chiuso il discorso, fine dell’ideazione. Dopo aver elaborato la traduzione numerica, non mi veniva in mente neanche di striscio di poter ‘migliorare’ la grafica, rifacendo tutto il procedimento da zero.

Finchè, pian pianino, cominciai a crearmi i miei editor, per automatizzare tutta una serie di operazioni manuali.
Nel ‘char-editor’ e nello ‘sprite-editor’, il primo passo fu poter muoversi nella griglia (che prima disegnavo sul quaderno…) col joystick e premere il bottone per accendere/spegnere un pixel, e avere a fianco, magicamente e automaticamente calcolata, la descrizione numerica esadecimale.
Poi l’opzione per copiare uno sprite, un carattere, ‘flippare’ in X e in Y. All’inizio ridisegnavo uno sprite girato verso sinistra o destra a seconda di come serviva. Allucinante!
Sono quelle cose talmente lente, talmente assurde, che dopo un po’ ti costringi per forza a inventare quello che ti serve!

Fatto sta che, aggiunta dopo aggiunta, anno dopo anno, arrivai a crearmi degli editor di tutto rispetto, che quando potevo facevo utilizzare anche da altri miei colleghi che lavoravano su C64.
Arrivai allo ‘sprite-char’ editor integrato, un unico editor col quale potevo fare tutto e in maniera combinata, nel senso che potevo lavorare su una schermata grafica composta da caratteri e completata da sprites, con funzioni di zoom, di animazione, di salvataggio e gestione file eccetera.
Insomma tutte le cose che il buon senso di produzione richiedeva. Intercettavo il raster (cioè il pennello elettronico del televisore) per moltiplicare le porzioni di video a diverse risoluzioni e il numero di sprite contemporaneo (per averne più di 8).

Realizzai anche un editor piuttosto complesso per la musica, ispirato al pro-tracker per Amiga. Ma questo lo scrissi piuttosto avanti, nel ’91, e l’ho usato anche relativamente poco.
La (elementarissima) musica di F1 Manager fu scritta più o meno casualmente. Cioè: prima feci una base di batteria (chiamiamola così…) , poi gli misi sopra una prima base armonica, poi una seconda. Erano due brevi strofe piuttosto simili, piuttosto rombati, che alla fine marchiavano bene F1 Manager. Ancora potrei fischiettarla.
Onestamente, ero partito da un’idea completamente diversa e più articolata, ma quella musica fu l’unica cosa che riuscii a produrre.

Spesso utilizzai i miei editor per produrre gli elementi grafici anche per i giochi che non programmavo io. Ricordo la simbiosi tecnica raggiunta con Stefano Balzani (quando lavorava ai giochi su C64, prima di passare all’Amiga, quindi GP Tennis Manager C64, 500 cc Motomanager C64, dei quali io feci la grafica oltre la direzione di produzione. E anche Big Game Fishing C64) e il grande Nicola Ferioli (per I play 3D Soccer C64, Football Champ, Dylan Dog). Per Dylan Dog, ricordo però che, per per passare l’enorme quantità di grafica del finale a Nicola, gli passavo direttamente le schermate Koala Paint, dato che lui era autonomo a dir poco nel ‘ritagliarle’ al meglio. “Mandami pure le schermate, poi ci penso io” ricordo che mi diceva quando ci sentivamo al telefono. E quel “ci penso io” era per me una sicurezza assoluta di lavoro perfetto. Grande Nicola Ferioli.
r />Concludo dicendo che programmare gli editor era per me il massimo del divertimento. Raggiunto un certo livello tecnico di programmazione, nel quale potevo scrivere in assembler tutto quello che mi serviva e in basic (poi compilato) tutto ciò che non richiedeva troppa velocità, unito a una conoscenza ormai approfonditissima del C64, lavorare agli editor era assolutamente facile. Quindi in una mattinata di lavoro riuscivo ad aggiungere funzioni rivoluzionarie (per i miei usi interni, naturalmente). Con il massimo della soddisfazione. Sia per essere ‘avanzato di un passo’ con i miei strumenti, sia perchè sapevo che per creare ‘caratteri’ o ‘sprites’, con la nuova versione dell’editor, ci avrei messo ancora meno, e avrei quindi potuto fare ancora di più.

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!