Emulatori Console su PC - dalla prima all'ottava generazione



Una delle possibilità che si aprono a chi possiede un PC è quello di avere a disposizione programmi che emulano il comportamento di altre console da gioco sul PC, così da avere accesso a praticamente tutta la storia del media videoludico su una singola macchina.
Siccome ogni tanto mi scordo quali sono i vari emulatori in giro, diciamo che scrivo questo articolo tanto per il web, tanto per me stesso.

Dopo il salto, vedremo cosa sono e quali sono.

Cos'è un emulatore?
Come termine puramente informatico si intende un hardware o software che permette ad un sistema di comportarsi come un altro.
In gergo videoludico si intendono programmi che eseguono giochi di una determinata console su un altro sistema di gioco, non esclusivamente il PC.

Come funziona un emulatore? In linea di massima, la gente spende sudore e tante ore cercando di retroingegnerizzare la console che deve essere emulata, comprendendo come funziona a livello hardware e software, cercando di scrivere codice che simuli il comportamento della macchina che si vuole emulare con la massima accuratezza. Maggiore è la complessità e l'incapacità di ricavare informazioni sull'hardware e software, più ostico sarà creare un'emulatore.

Tutto questo introduce numerosi layer ed inefficienze. La console originale riceve l'input, fa i suoi calcoli e tira fuori l'output. Un emulatore deve leggere l'input, tradurlo per la macchina che sta emulando, eseguire i calcoli come li farebbe la macchina originale, prendere l'output e riadattarlo alla macchina ospite. Deve fare più passaggi. Per questo per emulare una console è richiesta più potenza rispetto a quella della macchina originaria. Questo sistema di esecuzione di istruzione è chiamato Interprete. È lento, ma in media più accurato. Un altro sistema, usato comunemente per console più complesse, è quello del compilatore, che invece cerca di tradurre tutto il programma al volo, invece di stare a fare questo lavoro istruzione per istruzione. È un sistema più veloce, ma può essere prono ad errori. Usa meno risorse dell'interprete, ma richiede comunque una certa potenza extra.
In questo quadro si inserisce il grado di accuratezza dell'emulatore. Idealmente dovrebbe riprodurre ogni cosa nello stesso identico modo della macchina da emulare, ma per questioni di risorse spesso si ha un certo grado di incertezza. Questo non inficia per alcuni giochi, mentre per altri può essere una differenza fondamentale. Aumentare l'accuratezza vuol dire anche aumentare la potenza richiesta. Diversi emulatori hanno diversi requisiti di potenza perché hanno diverse logiche per emulare il sistema, chi si basa più sull'efficienza, sull'accuratezza, sulla velocità e via dicendo. Un articolo di Ars tecnica spiega bene la problematica.

Un emulatore però può anche sfruttare la potenza extra per inserire miglioramenti al sistema originale. Non è inusuale aumentare la risoluzione di rendering del gioco per esempio. Mano a mano che i componenti PC migliorano, la barriera di ingresso per gli ultimi emulatori si abbassa sempre di più.
Vale anche la pena spiegare un attimo che esistono due modi per approcciarsi all'emulazione: emulazione ad Alto Livello ed a Basso Livello. Quella a basso livello cerca di ricreare il funzionamento dell'hardware, ed è una strada perseguibile quando le piattaforme da emulare sono relativamente semplici. L'emulazione di alto livello invece cerca di emulare come il sistema risponde e non come funziona internamente, è un approccio a scatola chiusa. Questo sistema è stato usato per la prima volta nell'emulazione di console da videogiochi con l'emulazione del Nintendo 64 se non ricordo male.

Dopo aver detto come funzionano, c'è da spiegare un attimo il fattore legalità. Se le informazioni sulla console non sono state ottenute in modi illegali, creare ed eseguire un emulatore è legale. Il problema riguarda i giochi stessi, chiamati spesso ROM ed alcuni Bios delle console necessari per il funzionamento. Questi sono protetti da copyright e non possono essere distribuiti, ma devono essere creati da proprie copie del gioco o estratti dalle proprie console. Ma tutti sappiamo come le cose vanno a finire su, non giriamoci intorno.

Detto ciò, ecco la carrellata di software, che presenterò ripercorrendo un po' la storia delle console. Ognuno di questi software andrà settato in un certo modo, ma di solito le istruzioni si trovano nei vari siti ai quali rimando.

Prima Generazione
La prima generazione di console è molto ristretta. Si parla principalmente dell'Home Pong dell'Atari e del Color TV della Nintendo, distribuito solo in Giappone tra l'altro. Si tratta di roba davvero basica e voler giocare a queste cose lo si fa più per curiosità personale che per altro. Forse per nostalgia se si è davvero vetusti, stiamo parlando degli anni '60.... tra l'altro con tecnologie neanche diffuse in Italia.



Per l'Home Pong potete raccattare Pong Story, per il coso Nintendo.... purtroppo non sono riuscito a trovare nulla.

Seconda Generazione
Dalla seconda generazione di console si inizia ad entrare nel vivo del concetto di gaming moderno, in quanto vengono introdotte nel mercato molte caratteristiche che ora consideriamo scontate. Parlo di simulazione di IA per creare così giochi single player, e cartucce per poter vendere giochi diversi e non per forza la console con tutti i giochi sopra. Per console fisse abbiamo il famosissimo Atari 2600, seguito dall'Atari 5200, ma c'erano anche altre cose, come il Magnavox Odyssey2 o l'Intellivision ed altre amenità. Gli emulatori per queste tre console sono rispettivamente lo Stella, Altirra, o2em e nostalgia. Dal lato portatile abbiamo i Game & Watch di Nintendo, che sono delle... console monogioco, in bianco e nero, di una semplicità berberina. Ancora, questa generazione è più vista oggigiorno come un qualcosa dove andare a curiosare, non dove buttarcisi a capofitto per rivivere i fasti del passato. Anche perché è in questa generazione che ci fu il crash del mercato dei videogiochi nel 1983, dovuto alle tante console ed ai tanti giochi schifosi rilasciati per esse da piccoli studio.

Terza Generazione
Iniziata nel 1983 con il rilascio nel Famicom, conosciuto come NES in America e Nintendo da noi. Questa può essere definita la prima console "moderna". Rivitalizzò il mercato console all'epoca e diede vita a tantissimi classici del mondo videoludico. A Nintendo si affiancò il Sega Master System e l'Atari 7800. Queste console sono molto basiche ed la loro logica oggi è ricreabile interamente su una FPGA. (cosa sono? Ne parlerò in futuro, per ora Google è vostro amico). Per la console Nintendo ci sono tanti emulatori, ma di solito si ricade ad usare FCEUX. Per la console Sega, si sceglie spesso Kega Fusion che emula anche altre console ed è considerato un ottimo pacchetto completo. Per l'Atari si ricade sul famoso MAME, che è un emulatore di varie console ed arcade. Per via della semplicità delle console del tempo, la vecchiaia oramai di quella generazione e il tanto tempo dedicato al loro studio, queste console sono semplici da emulare e siccome possiamo già ritrovarci molti classici della storia videoludica sono un buon "punto di partenza".

Quarta Generazione

La quarta generazione inizia a mostrare un po' di muscoli per la grafica 2D, aumentando di molto la complessità dei giochi, che ora iniziavano ad avere non solo mondi più grandi, ma anche storie e "cinematiche". Nintendo lanciò il glorioso Super Famicom o SNES o Super Nintendo, console di grande successo che ricevette tantissimi giochi di tutti i genere da molti sviluppatori e una miriade di grandi classici nacquero su questa console. La sua emulazione è sempre stata abbastanza travagliata a causa della complessità della macchina e anche dal fatto che alcuni giochi avevano chip custom nelle cartucce, come il SuperFX di Starfox. La grande varietà di giochi richiede un'accuratezza più alta della media e per questo alcuni device non hanno emulatori SNES funzionanti al 100%, come la PSP o il 3DS. Su PC però c'è sempre la possibilità di scegliere. Snes9x se volete qualcosa di leggero e funzionale, Higan se volete accuratezza e compatibilità, ma richiede un PC potente per girare bene. Quest'ultimo emula anche altre console, come il NES, GB, GBC e GBA.
Sega non rimane a guardare ed in questo periodo schierò il suo Mega Drive o Genesis. L'emulatore è sempre il solito Kega Fusion.
Un'altra console dell'epoca fu il PC Engine o Turbografx-16, famoso per i suoi shooter 2D. L'emulazione di questa bestia di solito è affidata a Ootake, emulatore giapponese. Il suo sito originale è quasi illeggibile, quindi prendetelo da dove ho linkato io.
Il mondo delle console portatili ricevette un bello scossone sotto forma del mattonelloso Gameboy. Malgrado la mancanza di colori, batté tutti i suoi avversari tecnologicamente superiori e lanciò il fenomeno Pokémon. L'emulatore VisualBoyAdvance-M copre tutte le vostre esigente portatili Nintendo di un paio di generazioni. Per l'avversario di Sega, il GameGear, c'è sempre il Kega Fusion di sopra.

Quinta Generazione
Questa forse è la generazione con la quale noi annata 90 abbiamo più confidenza per la nostra infanzia, è composta dalla Playstation 1, dal Nintendo 64 e dal Sega Saturn ed altra roba, ma principalmente dalla Playstation 1, che arrivò a vendere cifre da capogiro. Il passaggio al 3D fu una grande innovazione e nuovi modi di concepire i videogiochi iniziarono a farsi strada.
Per la console sony c'è ePSXe, un ottimo emulatore. Per la console Nintendo c'è Project 64... solo che il sito sembra alquanto taroccone e se provate a scaricare roba con Chrome vi salta fuori un warning perché l'installer dell'emulatore cerca di mettere sul PC dei programmi di merda. Conviene scaricarlo da qui. Il problema è che l'emulazione per Nintendo 64 non è molto accurata, ben performante e pulita. Molti giochi ancora non vanno e c'è bisogno di smacchinare con molti plug in. È servizievole, ma non il modo migliore per godere della macchina. Anche per il Saturn poca roba, c'è lo Yabause, ma in generale l'interesse per la sua emulazione non è elevatissimo.
Le altre console della generazione erano l'Atari Jaguar, che ha il suo emulatore nel Virtual Jaguar, il leggendario 3DO, che può essere emulato con 3DOplay.
Ci fu anche lo strano esperimento del Virtual Boy. Può essere emulato, ma onestamente senza lo schermo 3D non ha il minimo senso.

Sesta Generazione
La sesta generazione di console è quella che ha composto la nostra prima adolescenza e che ha catapultato il mondo nel 3D un po' più complesso e figo. La campiona indiscussa della generazione fu la Playstation 2. PCSX2 è l'emulatore per la console. In questa generazione entriamo in un territorio particolare: quello dei remaster. È moda di recente quella di riproporre giochi dell'era PS2 rielaborati con giusto qualche accorgimento. Questo è possibile farlo direttamente su un emulatore. Ricordo di aver giocato Final Fantasy X su PCSX2 in full HD, con Antialiasing ed altri miglioramenti grafici, molti anni fa, ben prima del remake ufficiale. L'emulatore permette in sostanza di potenziare un gioco che si ha, senza doverlo ricomprare per console più moderne. Il Gamecube di Nintendo, con le sue esclusive è servito dal Dolphin, un altro grande emulatore, sempre in costante sviluppo. Il Sega Dreamcast ha il suo emulatore in NullDC. L'Xbox di Microsoft invece.....  niente. Non c'è stato mai troppo interesse per la console Microsoft e la scena di emulazione era molto più tranquilla. C'è qualcosa che si muove, che ci prova, ma nulla di entusiasmante o che vale la pena utilizzare.

Sul lato portatile VisualBoyAdvance di prima copre il grandissimo GBA.

Settima Generazione
La settima generazione si è conclusa relativamente da poco ed il ciclo di produzione videoludico è entrato nel concetto di multipiattaforma, con molti giochi disponibili anche su pc. Le console casalinghe inoltre erano moderatamente potenti e quindi emularle non è proprio cosa facile, ma questo non vuol dire che non ci sia gente che ci provi comunque.



L'Xbox 360 ha Xenia, la PS3 ha RPCS3.  La Wii invece, essendo un GameCube overclockato, è stato emulato praticamente immediatamente con il Dolphin di sopra ed è un ottimo modo per portare in HD i giochi Nintendo che scalano divinamente a risoluzioni elevate.
Nel mondo portatile, c'è stato il Nintendo DS e la Playstation Portable. La prima viene emulata di solito con DeSmuME e la seconda con PPSSPP senza problemi.


Ottava Generazione
L'ottava generazione è in corso, i multipiatta sono ovunque, le esclusive microsoft sono Windows 10....
Le console Nintendo però destano sempre interesse per via delle loro esclusive ed emulatori stanno venendo attivamente sviluppati per esse. La Wii U ha avuto nella scena dell'emulazione un exploit straordinario dopo l'apparizione di Cemu, che segue un approccio di sviluppo chiuso invece che aperto supportato da Patreon, che che sta dando buoni frutti con molti giochi già emulabili a performance adeguate, anche se non è lontanamente finito. Il 3DS ha dalla sua Citra, che ha uno sviluppo open ma per ora ancora un po' confusionario e fatto di tante build sperimentali che si accavallano e manca ancora di un compilatore fatto a modo. Recenti sviluppi da parte di alcuni programmatori cinesi stanno dando boost prestazionali, ma siamo ancora lontani da un'emulazione fluida.


In realtà per ogni console ci sono tanti altri emulatori, io vi ho proposto in questa carrellata i più famosi, i più usati. Inoltre usare un emulatore non è in media molto user friendly. Bisogna impostare un sacco di cose, ci sono molte opzioni da gestire e non sempre. ma se si ha un po' di voglia, se si vuole spulciare un po' internet, da una singola macchina si può ottenere davvero tanto in termini di gaming.

Stay Classy, Internet.


Nessun commento:

Posta un commento