First Person Shooter su Amiga
Amiga e i first person shooter, storia di un amore tormentato. Ciao a tutti amici di Commodoreblog, oggi andiamo un po indietro nel tempo e cerchiamo di mettere in luce quegli anni in cui il mercato videoludico si spostò verso gli sparatutto in prima persona.
First Person Shooter, la rivincita dei PC
Per gli amighisti il periodo della seconda metà degli anni 90 è stato uno strano periodo. Ad aprile 1994 Commodore dichiarò bancarotta e fu una doccia ghiacciata per tutti. Nessuno sapeva che fine avrebbe fatto la nostra amata piattaforma, nella stampa specializzata era il caos, una moltitudine di notizie una sopra l’altra, tra acquisizioni, fallimenti, promesse di rilancio, annunci roboanti e grandi delusioni si delineava
all’orizzonte. E, come se non bastasse, nel frattempo il mondo PC cominciava seriamente a mostrare i muscoli come piattaforma
videoludica.
I primi motori 3D dotati di texture mapping
Sì, proprio quei PC che fino ai primi anni 90 gli amighisti guardavano sghignazzando e facendosi beffe, forti della mostruosa
potenza audiovisiva del chipset del loro amato computer. Bene, anche essi cominciavano a mostrare qualcosa che fino ad allora su amiga si era solo intravisto o simulato in qualche demo: gli engine 3D dotati di TEXTURE MAPPING. Una tecnica che, detta in due parole, tramite dei calcoli molto impegnativi per la CPU, permette di disegnare un poligono con un’immagine bitmap “appiccicata” sopra. E’ una cosa che oggi conoscono tutti ed è all’ordine del giorno ma all’epoca era un salto in avanti incredibile per il realismo della grafica 3D in tempo reale. Questa fino ad allora, nella maggioranza dei casi era stata realizzata tramite poligoni solidi, almeno sulle piattaforme casalinghe.
Doom, la forza dei First Person Shooter
Già qualche anno prima su PC un titolo leggendario aveva dato un assaggio di quello che ci aspettava in futuro, ovvero Doom, dimostrando che il sorpasso, a livello di forza bruta, era avvenuto, seppur con qualche scorciatoia: l’engine di Doom non era un engine full 3D. Erano gli anni in cui i processori x86 iniziavano a correre: 386, 486 e i primi costosissimi pentium, uniti alla diffusione delle sempre più economiche
schede VGA, stavano mettendo in mano agli sviluppatori una potenza di calcolo nuda e cruda che non aveva precedenti. Questo aprì la strada a engine 3D (all’epoca solo software) sempre più complessi e impressionanti.
E noi amighisti? Cominciavamo a fare un po’ meno i gradassi. E a chiederci: su Amiga questo è possibile? La risposta era sì, ma purtroppo c’erano dei problemi molto seri.
I problemi di Amiga
Dotato di un potentissimo coprocessore grafico chiamato “Blitter”, capace già nel 1985 di spostare ed elaborare fino a 7 Mb/s di grafica,
Amiga aveva mostrato delle grandissime capacità nell’ambito dei giochi 2D e 3D solido, con oggetti in movimento e scrolling fluidi multidirezionali e in parallasse. Uno dei punti di forza è stato, soprattutto, il suo modo di rappresentare la grafica, con una tecnica detta “planare”, ovvero in memoria c’era un certo numero di “bitplane”, che poteva andare da 1 a 6 negli Amiga ECS e fino a 8 negli Amiga AGA. Ognuno dei byte di questi bitplane rappresentava 8 pixel contigui che venivano sovrapposti con il corrispondente byte dei successivi “bitplane”. La combinazione dei singoli bit di ogni bitplane determinava il colore del pixel sullo schermo, secondo una palette definibile dal programmatore.
Un sistema tanto funzionale quanto fragile
Come si diceva, questo tipo di approccio era estremamente funzionale ed efficiente quando si trattava di visualizzare e spostare grafica bitmap sullo schermo. Ma era un brutto tallone d’Achille quando bisognava invece effettuare un’elaborazione pixel per pixel, come nel caso del texture mapping. Infatti, per cambiare il singolo colore di un pixel, era necessario stabilire quale bit settare o non settare per ogni byte di ogni bitplane. Un’operazione estremamente costosa, specialmente per una CPU che, nel 1994, viaggiava ancora a 7.14 Mhz (o 14 nel caso
dell’Amiga 1200), contro i 60/100 dei moderni processori per PC.
First Person Shooter, i PC erano più adatti
Come se non bastasse, i PC visualizzavano la grafica in modo completamente diverso e molto più adatto a un motore 3D. Infatti, nella
grafica VGA a 256 colori (quella tipica dei PC dell’epoca) il colore di ogni pixel era salvato già all’origine in un singolo byte (256 valori appunto). Ciò permetteva un’elaborazione dell’immagine pixel per pixel in maniera diretta, senza alcuna elaborazione aggiuntiva. Questo tipo di gestione della memoria video veniva chiamato “chunky”. Insomma, una modalità più adatta all’elaborazione grafica pixel per pixel,
unita a dei processori sempre più veloci posero in un batter d’occhio il PC in una posizione di enorme vantaggio nell’ambito dei motori 3D in
tempo reale, rispetto al nostro amato computer.
Chunky to planar
Naturalmente gli sviluppatori Amiga, persone quasi sempre appassionate ed enormemente competenti, non sono stati a guardare. Essi
cominciavano a ingegnarsi su come realizzare su Amiga gli stessi tipi di giochi “alla Doom”, per dare una risposta a un mercato che stava
rapidamente e definitivamente deviando verso la grafica tridimensionale. Cominciò così una lunga stagione di soluzioni più o meno fantasiose ed efficaci per eseguire la cosiddetta “conversione chunky to planar”. La scena 3D veniva sempre disegnata in un buffer di tipo chunky (quindi, come dicevamo, un byte per ogni pixel) per poi affidare la conversione a planare a tecniche particolari.
Dagli artifizi all’Akiko
Inizialmente usarono alcuni artifizi, sfruttando le capacità (non scendo nei particolari) del Copper di modificare la palette al volo durante il disegno della grafica. Il problema è che non era possibile fare questa conversione per ogni singolo pixel dello schermo, perché il copper non faceva in tempo a modificare tutta la palette per ogni riga, costringendo a renderizzare la grafica a blocchi di pixel. Se questo, da un lato, alleggeriva la CPU che doveva renderizzare la scena 3D a una risoluzione più bassa e quindi garantiva un framerate decente, dall’altro lato rendeva la risoluzione dell’immagine estremamente cubettosa, una cosa piuttosto umiliante di fronte allo splendore della grafica 3D che si vedeva su PC. A dirla tutta, la Commodore all’ultimo minuto cercò di mettere una “pezza” a questo limite di Amiga tramite un chip apposito denominato Akiko. Solo la piattaforma Amiga CD32 lo montava e serviva a effettuare questa conversione direttamente in hardware.
First Person Shooter, piccole perle Amiga
Peccato che il CD32 non era altro che un Amiga 1200 con lo stesso 68020 a 14 Mhz, senza tastiera e con un lettore CD, a mio avviso una delle macchine più assurde mai realizzate da Commodore. Messa così il chip Akiko era davvero poco utile e, che io sappia, non fu praticamente mai utilizzato. Fortunatamente, in seguito, vennero realizzate delle ottimizzatissime routine di conversione che riuscirono a fare dei veri miracoli, specialmente negli amiga dotati di schede acceleratrici con processori dal 68030 in su. E lì iniziò un periodo molto florido da questo punto di vista, tante aziende (tra cui ricordiamo la Phase5 con le eccellenti schede della serie Blizzard) cominciarono a sfornare schede acceleratrici per Amiga 1200 e non solo, che donarono un po’ più di forza bruta agli amighisti più appassionati, che erano disposti a
spendere cifre anche importanti per potenziare i loro sistemi e vivere la magia di vedere i giochi 3D cominciare a girare a un framerate e a una risoluzione decente. Così, anche gli sviluppatori stessi potevano permettersi qualche finezza in più e ci hanno regalato dei piccoli capolavori come Gloom, Alien Breed 3D II e non possiamo non ricordare con orgoglio l’italianissimo Breathless.
Purtroppo, però, era ormai troppo tardi e, nonostante questi lodevoli tentativi, che rappresentano delle grandissime dimostrazioni di abilità e passione, Amiga aveva perso il treno dei videogiochi. Anche perché nel 1994 una piccola scatoletta grigia irruppe fragorosamente nel mondo del videogioco casalingo, sconvolgendo tutto con i suoi 90000 poligoni in texture mapping al secondo e i suoi 16 milioni di colori su schermo. Si chiamava Playstation.
Con questo è tutto, vi saluto calorosamente e vi do appuntamento al prossimo articolo. Ora qualche consiglio per voi dal nostro blog.