Appunti e memorie di Ivan Venturi

Fare Videogiochi

 

C’erano tanti Commodore 64 quanti Sinclair Spectrum. Il mondo degli homecomputeristi era equamente diviso tra Commodoristi e Sinclairisti.
Io ero un commodorista convinto.
Il Commodore 64 era una splendida macchina per la sua compattezza e per le tante risorse che offriva. Vale la pena di soffermarcisi per capire la base dell’architettura hardware di un computer.
Era un computer a 8 bit basato sul microprocessore MOS Technology 6510 [nda: grazie Roberto Ready64!...], evoluzione del 6502 che già aveva animato il suo predececessore VIC20.
Il microprocessore offriva una buona quantità di istruzioni a basso livello (linguaggio macchina) che permetteva varie operazioni utilizzando tre variabili di sistema, l’Accumulatore, il Registro X e quello Y. Ogni istruzione di linguaggio macchina era identificata da un numero esadecimale di un byte (da 0 e 255, o meglio da 0 a FF).
Il basic offriva una gamma di istruzioni che consentivano con molta immediatezza di operare sulle variabili, sugli array, sull’input-output, sul testo e altro. Per manipolare anche in maniera semplice la grafica o l’audio bisognava invece operare direttamente sui registri, quindi andando ad ‘accendere’ e ‘spegnere’ i singoli interruttori-bit di sistema.
Il VIC era il circuito video, quella che adesso nei PC è la scheda grafica. Si avevano a disposizione 8 sprites, oggetti indipendenti dallo sfondo che si potevano muovere, colorare o ingrandire agendo su certi registri. Per indicare al circuito video la forma che dovevano assumere lo sprite, bisognava inserire un valore (anzi ‘pokare’, dall’istruzione POKE, cioè metti il tale byte nella tal locazione di memoria) in un certo registro per determinare a quale pagina (così era indicata una sezione di memoria da 256 byte) fare riferimento. Il VIC così sapeva dove andare a pescare i dati per dare forma allo sprite.
C’erano 16 colori e una risoluzione di 320×200, anche se, volendo usare in maniera abbastanza completa la palette disponibile, si era costretti a lavorare in modalità multicolor, 160×200. Praticamente, prendete un paio di icone di Windows Vista, affiancatele e avrete la risoluzione utilizzata nei giochi del C64!
Per fare grafica di un certo livello, bisognava usare diversi trucchi per superare i limiti imposti dall’hardware.
Lo Spectrum aveva sempre 16 colori e 320×200 punti che definivano lo schermo, e permetteva di lavorare più facilmente in alta risoluzione. Ma aveva alcuni grossi handicap: aveva un pessimo audio (simile al beep mono dei primi PC), non aveva sprites e non aveva la possibilità di utilizzare il joystick, costringendo i poveri utenti Sinclair a usare quei tastini ricavati da un unico foglio di gomma.
Il SID era invece il circuito sonoro. C’erano 3 voci indipendenti che si potevano far suonare con un onda di forma sinusoidale (come un flauto), triangolare (come una tromba), rettangolare (come un pianoforte), oppure come rumore (noise). Di ogni voce poteva essere regolata la frequenza (la nota), potevano essere applicati dei filtri e si poteva modificare il volume.
Il basic aveva a disposizione 38k circa di memoria. Ma lavorando in linguaggio macchina si aveva accesso anche alle aree ‘alte’ della memoria, non utilizzabili in basic, nonché alla ‘memoria fantasma’..
Agendo col linguaggio macchina e imparando un po’ di trucchi era possibile intercettare la posizione del raster, cioè del pennello elettronico che, 24 volte al secondo, punto per punto, spara gli elettroni sul video della televisione o del monitor illuminandoli e formando l’immagine. Modificando rapidamente, in linguaggio macchina, i registri del circuito video, si poteva raddoppiare o triplicare il numero di sprites disponibili, aumentare il numero di colori sullo schermo, eliminare i bordi, far scorrere lo schermo in maniera fluida e un milione di altre cose.
Per quanto riguarda l’hardware, il computer si collegava tramite un normale cavo coassiale alla televisione o a un monitor. La memoria di massa era costituita da un registratore a cassette, che presto fu sostituito dal floppy disk da 5,1/4 pollici. Per alcuni addetti ai lavori o appassionati (il che era uguale) tra i quali io, circolavano anche schede e cavi particolari, che consentivano di duplicare, triplicare la velocità di tali dischi.

Gli homecomputer furono questo: la scoperta di un mondo virtuale ma assolutamente concreto, da esplorare, smanettare e utilizzare in un modo che all’inizio dava quasi l’impressione di essere magico. Non era particolarmente difficile. Ma il fatto che non lo facessero in molti, né che molti eminenti esperti ne sapessero un’acca, rendeva chi utilizzava gli homecomputer una sorta di misteriosi guru.
Personalmente immaginavo il computer come un mondo a parte, in un’altra dimensione, dove le informazioni scorrevano come luce e i programmi si animavano di vita propria. Avete presente Tron?

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!