Last but not least… benvenuti a Deep In Gametechs, la rubrica mensile di Natural Born Gamers dove vengono affrontati ed approfonditi aspetti, temi e questioni legate al mondo dei videogames dal punto di vista tecnico-realizzativo. Cercheremo infatti di spiegare, descrivere, contestualizzare e valutare tutto ciò che, di fatto, garantisce la realizzazione dei prodotti da noi tanto amati e che, è bene ricordarlo, non si generano per magia o solo grazie alla fantasia dei game artist …tutt’altro!
Senza annoiarvi con esasperati tecnicismi, cercheremo, con la massima chiarezza e semplicità possibile, di addentrarci di volta in volta in un diverso argomento con le sue relative implicazioni: hardware o software che sia. Prendendo a prestito una massima utilizzata in ambito enogastronomico, potremmo azzardare un: “Giocare senza sapere non è che una (piccola) parte del piacere”. D’altronde, siamo oltretutto fortemente convinti che la conoscenza, anche solo formale, di determinati aspetti, non solo garantisca una migliore fruizione del prodotto, ma consenta una scelta molto più consapevole anche in fase di acquisto.
Qui dunque non si fa della chiacchiera soggettiva ed inconcludente su argomenti dove alla fin fine è sostenibile tutto ed il contrario di tutto. Qui si parla, in concretezza, di numeri, dati, logiche implementative. Del piacere di scoprire, di conoscere. D’esser informati e consapevoli, poiché, citando Leonardo, “Naturalmente li omini boni desiderano sapere”.
Buona lettura e buon divertimento!
Retrocompatibilità. Un termine molto in voga in questo periodo che indica la capacità, nel nostro caso da parte di un sistema di gioco, di eseguire un programma/titolo uscito per una generazione hardware antecedente.
In effetti questa funzionalità non è affatto una novità di questi tempi, ma sta ricevendo sempre più attenzione. Indubbiamente, probabile causa di ciò, è la scelta di Microsoft di garantire questa funzionalità per XBOX ONE X, contrariamente a Sony che, per PlaystationPro, ha deciso di non puntarvi affatto. Fenomeno parallelo da non sottovalutare affatto è la recente uscita di numerose mini console (e computer) del passato. Dei veri e propri restyling a dimensioni ridotte, e con un notevole parco titoli preinstallato, per numerose antiche glorie a 8 e 16 bit. Su tutte Atari VCS 2600, NES, Mega Drive e SNES.
Un tuffo nel passato
Avendo deciso di approfondire assieme a voi questo argomento, inizierò con il raccontarvi un episodio, avvenuto mooolto tempo fa, da cui partiremo per le nostre considerazioni a riguardo. Ricordo ancora molto distintamente quando, durante i primi anni di liceo, un mio amico mi chiese se valesse la pena acquistare l’adattatore per Sega Mega Drive dei giochi usciti per il Sega Master System. Una vera e propria retrocompatibilità ante litteram, anche se nessuno si sarebbe mai sognato di utilizzare un termine del genere. “Ma migliorano?”, mi chiese. “Ma sei matto?”, gli risposi in maniera asciutta e con un pizzico di compatimento. Lì per lì non gli motivai la risposta; in effetti non avevo nemmeno tutti i dati necessari per giustificare la mia affermazione e fornire certezze al cento per cento.
Tra me e me, però, avevo fatto avevo fatto queste seguenti considerazioni. Impossibile agire sul software, presente su cartuccia come fosse scolpito nella roccia. D’altronde, all’epoca, non era certo pensabile di giovarsi con download di patches, aggiornamenti, od altri stratagemmi di questo tipo. Improbabile anche il fatto che un semplice adattatore interpolasse tutti gli elementi grafici in 2D per migliorarne la definizione… o che si inventasse qualcosa per aumentare il numero di colori su schermo. Infine, diciamolo chiaramente, un’implementazione di questo tipo avrebbe fatto una micidiale concorrenza ai nuovi titoli per Sega Mega Drive. No, un miglioramento grafico era del tutto improbabile.
In effetti, fortunatamente, mi bastò il 95% per avere piena ragione, visto che alla prova dei fatti i giochi risultavano effettivamente essere d’aspetto assolutamente identico, anche quando venivano utilizzati sulla console a 16-bit di allora. Il sospetto che eventuali miglioramenti avrebbero dovuto comportare necessariamente una radicale, quanto improbabile e sconveniente, reingegnerizzazione era dunque più che fondato.
Questioni di hardware
Tornando in concreto all’argomento, oggi i meccanismi di quell’antica retrocompatibilità, senza miglioramenti, sono di chiara comprensione. Il chip principale, o CPU, del Master System era il diffusissimo Zilog Z80; tale processore fu però utilizzato anche nell’hardware del Mega Drive. Solo che nell’architettura di quest’ultimo subì un “declassamento” e fu previsto che andasse ad occuparsi nello specifico soltanto della parte sonora. A puro titolo informativo, la CPU del Mega Drive fu l’altrettanto celebre Motorola 68000. Però il vecchio processore, parliamo dello Z80, era pur sempre presente, e per gli ingegneri giapponesi fu uno scherzo costruire con un paio di circuiti stampati un adattatore che dirottasse tutte le chiamate sul chip della Zilog. All’atto pratico, dunque, è come se nel MD fosse di fatto già presente un MS, ed è per tale motivo che la retrocompatibilità era garantita ancor prima di essere considerata commercialmente.
Come prova del nove, il Famicom, originale nome nipponico del Nintendo Entertainment System, montava un Ricoh 2A03 (versione 2A07 per le macchine con standard video PAL), affiancato da un coprocessore. Il Super Famicom, alias Super NES per noi occidentali, vantava come CPU un Ricoh 5A22 affiancato da altri coprocessori grafici e sonori …ma nessun processore in comune. E, di conseguenza, non fu guardacaso mai sviluppato alcun adattatore.
Le regole informatiche, ma non solo, del gioco
Naturalmente vi ho raccontato questo aneddoto per introdurre il tema della retrocompatibilità in chiave moderna, dove la faccenda si fa inevitabilmente molto più complessa. Al giorno d’oggi tutte le CPU sono multi-core e le schede grafiche, dove alla fin fine risiede la GPU, hanno prestazioni da fantascienza. Addentrarsi negli aspetti hardware non solo sarebbe arduo, ma necessiterebbe di un’analisi specifica quasi per ogni singolo caso. Cerchiamo dunque di fornire dei principi generali, per poi applicarli alle realtà che più ci interessano da vicino: nello specifico la retrocompatibilità riguardante le console.
Lasciando momentaneamente a latere anche le implicazioni connesse alle politiche commerciali delle singole case produttrici e le relative valutazioni circa la bontà delle rispettive scelte, ci occuperemo ora di spiegare, nella maniera più semplice possibile, il concetto di retrocompatibilità negli hardware moderni, e, naturalmente, i meccanismi che ne garantiscono l’effettiva riuscita. Innanzitutto occorre tener presente che esistono sostanzialmente due sole vie per riuscire a far eseguire un gioco – che, ricordiamolo, è sempre e comunque un programma – ad una macchina con un hardware ed un sistema operativo radicalmente differenti da quelli per cui lo stesso è stato progettato.
Premettiamo che…
Partiamo dunque con ordine, spiegando dapprima con un esempio queste due strategie cardine, prima quindi di svelarvi i relativi nomi. Poniamo che vogliate (o dobbiate) tradurre un testo scritto in latino e che voi non conosciate per nulla questa lingua morta. Naturalmente, per rendere l’esempio calzante, immaginiamo che il testo in questione sia, per contenuti e complessità, inferiore rispetto alle vostre capacità linguistiche in italiano. Ad esempio supponiamo di essere alle prese con un cartello contenente un avviso …o un breve testo di una favola per bambini. Questo assioma di base è fondamentale, dal momento che se aveste per le mani un brano di Lucrezio, fallireste in partenza. Sarebbe come pretendere di far girare un gioco per PS4pro su un Mega Drive.
Due modi di procedere
Ebbene, potete agire in due modi. Il primo è quello di armarsi di dizionario e partire con tanto ottimismo traducendo dapprima parola per parola. In seguito, una volta fatto il “lavoro sporco”, dovrete compiere un vero e proprio sforzo di ingegneria inversa per provare a collegare tutti gli elementi del periodo con il fine di dargli un significato logico e, si spera, il più possibile vicino all’originale. Per un hardware, traslando questo concetto, si tratta di “farsi dare” tutti gli input dal programma e, interpretandoli, realizzarli secondo le possibilità delle proprie capacità computazionali. Questo modo di procedere è definito come l’ottenere una compatibilità attraverso un procedimento denominato simulativo. Se ci si pensa, le “simulazioni” fanno proprio questo: definiti dei parametri, si cerca di ricreare dei comportamenti quanto più vicini alla realtà che si vuole replicare o studiare.
Facciamo ora finta che per svariati motivi non abbiate modo, o non vogliate, interpretare parola per parola il testo di cui sopra. Ad esempio perché detestate il lavoro meccanico di ricerca sul dizionario o, più semplicemente, perché lo considerate un metodo in definitiva poco affidabile e “sicuro”. Ebbene, in questo scenario avete solo un’altra soluzione: andare a frequentare un corso di latino. Imparerete, auguri, la grammatica e la sintassi. Ne apprenderete i termini e, alla fine, potrete tradurre “nativamente” il benedetto testo del quale volevate conoscere il significato. Concettualmente, questo processo vi porta ad essere, in un certo qual modo, un equivalente moderno degli antichi romani e per questo il procedimento viene definito emulativo.
Riassumendo
In sintesi, nel primo caso l’hardware “nuovo” si fa carico di interpretare direttamente le chiamate del software. Nel secondo metodo il processo è indiretto: l’hardware nuovo si “immedesima” il più possibile in quello originale. Una volta nei panni di quest’ultimo, per l’hardware attuale sarà relativamente agevole far girare il programma. Condensando ancor più il concetto, la simulazione interpreta e ricostruisce; l’emulazione lavora per immedesimazione.
Una scelta da prendere attentamente
Propendere per l’una o l’altra strategia comporta, come per ogni cosa di questo mondo, vantaggi e svantaggi. Non esiste pertanto una scelta migliore in assoluto. Andrà di volta in volta valutata in funzione di ciò che si ha di fronte, quello che si vuol fare e, in ultimo, le risorse a nostra disposizione. Passiamo rapidamente in rassegna i principali pro e contro, sempre e comunque attenendoci a degli scenari aspecifici.
L’emulazione richiede in linea di massima uno sforzo maggiore in fase di progettazione, ma ripaga generalmente con prestazioni migliori e la possibilità di estendere il suo campo d’azione a più programmi (giochi). D’altronde, se ricordate il nostro esempio, una volta imparata la lingua, si acquisirà la capacità di tradurre non soltanto il testo che ci interessa! Di contro, la simulazione, oltre a delle caratteristiche inverse rispetto all’emulazione, offre più possibilità di maneggiare e migliorare le prestazioni del software. L’hardware, non dovendo far finta di esserne un altro, avrà modo, eventualmente, di incrementare a suo piacimento le prestazioni previste dal software. Inutile dire ad esempio che, in caso di applicazioni grafiche 3D, come i videogames moderni sono, la possibilità di aumentare la risoluzione con la quale vengono disegnati i poligoni è manna dal cielo.
Prima di occuparci della situazione di mercato attuale è doveroso, per completezza conoscitiva, compiere un paio di precisazioni che per linearità di esposizione erano state volutamente tralasciate. La prima è che un emulatore può essere di tipo hardware, quando emula i componenti elettronici della macchina originaria oppure software, quando invece ne emula l’ambiente/sistema operativo. La seconda è che i processi di emulazione e simulazione possono in alcuni casi “convivere” in soluzioni, di fatto, ibride. In questi casi, comunque, la fase di emulazione è sempre antecedente a quella di simulazione.
Lo scenario attuale
Come ampiamente pubblicizzato da Microsoft, la XBOX ONE X, non solo garantirà la retrocompatibilità su un consistente numero di titoli usciti per le vecchie generazioni di XBOX, ma prevederà per essi anche una serie di migliorie grafiche. Su tutte, tanto per essere originali, la definizione verrà aumentata fino ai 4K; ma risulterà relativamente agevole anche ottenere miglioramenti riguardanti la pulizia grafica, gli effetti di luce, i riflessi, le trasparenze, ecc.
La retrocompatibilità di questi giochi viene poi introdotta con il contagocce non solo per questioni di marketing, ma proprio perché l’adattamento viene implementato titolo per titolo. C’è da scommettere che, per fare ciò, il procedimento utilizzato sia prevalentemente simulativo! L’azzardo mi andò bene ai tempi delle superiori e non vedo buoni motivi per non sbilanciarmi nuovamente: alla luce delle considerazioni fatte sopra è dunque estremamente probabile che la retrocompatibilità di Microsoft con i giochi delle precedenti versioni di XBOX sia ottenuta tramite un processo di simulazione. A riprova di ciò il fatto che, per l’appunto, la lista di giochi che prevendono questa possibilità sia parziale ed in continuo aggiornamento.
Per quanto riguarda le mini console, che stanno riscuotendo un successo davvero inaspettato e strepitoso, la strada percorsa è indubbiamente quella dell’emulazione hardware, con tutte le implicazioni annesse e connesse. Scelta in ogni caso oculata, dal momento che in un sol colpo è così garantita la possibilità di rimetter mano a decine e decine di titoli degli anni ’80 o ’90, a seconda dei casi. Così facendo poi, in termini di costi di produzione, è davvero molto più conveniente replicare un hardware, miniaturizzarlo, ed immetterlo sul mercato per la gioia di tutti i nostalgici ed i collezionisti.
In conclusione…
In definitiva possiamo concludere che far girare un software concepito e sviluppato per un hardware differente non sia mai impresa né semplice né immediata. Certamente è oneroso in termini sviluppo e risorse garantire un risultato di qualità e, in ragione di ciò, i singoli produttori possono decidere per politiche commerciali diametralmente opposte. Sony ha silenziosamente declinato, Microsoft ne fa un vanto e il vasto sottobosco di produttori indipendenti, sia hardware che software, è un inestricabile ginepraio. E per voi? La retrocompatibilità, o il retrogaming in generale, sono dei plus significativi da avere sul proprio hardware di riferimento o rimangono senza mezzi termini delle semplici features di secondo piano? Saremmo lieti di conoscere i vostri pareri ed il vostro punto di vista e, posto che desideriate condividerli con noi, vi invitiamo a descriverceli commentando questo articolo direttamente sul sito o nella nostra pagina Facebook.