Vai al contenuto

ScummVM: 20 anni di passione concreta

Cos'è, cosa non è e quale importanza ha l'utility più amata dagli appassionati lucasiani

by Diduz

Il 9 ottobre 2021 ha compiuto 20 anni l'utility (o l'app, si direbbe adesso) ScummVM, acronimo per Scumm Virtual Machine: sin dalla sua prima release, la 0.1.0 a cura dei fondatori Ludvig Strigeus e Vincent Hamm (non più attivi), si proponeva di contrastare le crescenti difficoltà a far girare le avventure grafiche classiche della Lucasfilm Games / LucasArts, consentendo di avviarle senza patemi. Erano gli anni in cui Windows XP per la prima volta si lasciava alle spalle la retrocompatibilità con l'MS-DOS, anche se problemi più o meno gravi si erano già presentati sul fronte audio, quando si tentava di riavviare quei pezzi di storia videoludica. In vent'anni ScummVM è diventato molto di più: è rimasto utile, ma è divenuto una bandiera simbolica del genere. Dopo due decenni credo sia giunto il momento di dedicargli qualche riflessione, oltre a spiegare qualcosa che tuttora - mi rendo conto leggendo in giro - può non essere chiaro a tutti.

 

 

Che cos'è e cosa non è ScummVM

Sappiamo che ScummVM permette di avviare una pletora di avventure grafiche vintage su una moltitudine di piattaforme: sistemi desktop come Windows, Linux, Mac, AmigaOS, ma anche console come Nintendo DS, Wii, PSP, Dreamcast, e persino sistemi mobile come iOS e Android. Ma come? È facilissimo in rete vederlo classificato nella categoria degli "emulatori", però ciò avviene solo perché ha una comunanza d'intenti con la loro funzione nostalgica e di preservazione. ScummVM tuttavia non è un emulatore, bensì un interprete. Cosa significa? Facciamo un passo indietro.
Programmare un videogioco multipiattaforma, già negli anni Ottanta, presentava una sfida non indifferente: le macchine erano tutte profondamente diverse, così prese piede da parte di case come Infocom, Sierra e Lucasfilm Games la necessità di alleggerirsi il lavoro scorporando il codice che controllava il gameplay da quello che lo avviava sulla macchina di turno. La creazione dell'engine SCUMM (Script Creation Utilities for Maniac Mansion) da parte di Ron Gilbert veniva incontro proprio a questa esigenza: un linguaggio di programmazione "high level", si potrebbe dire appunto uno "script", controllava scene, enigmi, dialoghi, movimenti dei personaggi, interfaccia. C'era poi, distinto per ogni macchina, un programma "interprete" che eseguiva materialmente questi script, controllando l'hardware vero e proprio: processore, RAM, chip audio e video, periferiche. Dov'era il vantaggio? Che se creavo Monkey Island su PC, potevo ricavarne molto più velocemente per esempio una versione per Atari ST, programmando solo l'interprete ST e senza intervenire troppo sullo script del gioco. Naturalmente non era così semplice, perché spesso anche lo script in linguaggio SCUMM doveva essere alterato per eliminare o modificare alcune cose che dall'altra macchina non potevano essere gestite, senza contare che la grafica doveva essere modificata nella palette o nel numero di colori per assicurare la compatibilità. Ad ogni modo, separare l'interprete dallo script snelliva il processo di conversione, rendendo i porting molto più rapidi (oltre che la programmazione del gameplay più immediata e svincolata dalle questioni più strettamente tecniche, ma questo è un discorso più filosofico e, per quanto importante, non ce ne occupiamo in questa sede).

Torniamo a noi. ScummVM è appunto un interprete che si sostituisce all'originale. Ciò in soldoni significa che, se lo usate per esempio per avviare sotto Windows la versione Commodore 64 di Maniac Mansion, non state emulando un Commodore 64! State lanciando nativamente sotto il vostro sistema operativo lo script di quella versione. Semplificando ancora di più, è come se qualcuno avesse programmato per voi un porting Windows di Maniac Mansion che presenta grafica e sonoro del C64. ScummVM slega gli asset (grafica, sonoro) di ogni gioco dalle macchine per i quali erano stati pensati, creando una compatibilità totale tra la maggior parte delle versioni esistenti di un titolo e tutti i sistemi operativi su cui ScummVM gira. È appunto una "macchina virtuale" dalle molteplici identità.
Attenzione: ScummVM può comunque ricorrere all'emulazione dell'audio. Se i colori della grafica dei vari giochi sono convertiti al volo per le nostre schede video (senz'alcun problema, visto che oggi si viaggia sui 32bit di colore!!!), per il sonoro il discorso è diverso. I moderni chip audio non presentano infatti l'hardware dell'epoca: solo le avventure più tarde che emettono sonoro totalmente digitale o che supportano lo standard General Midi, come Day of the Tentacle, possono avvalersi direttamente delle periferiche audio del nostro sistema operativo. Per il resto, per schede audio come l'AdLib o la Sound Blaster, il vecchio PC Speaker o moduli esterni come la Roland MT-32, ci si deve giocoforza appoggiare all'emulazione, e ScummVM pesca queste porzioni di codice altrove (l'emulazione del chip OPL2 dell'AdLib viene per esempio da DOSBox, il progetto MUNT fornisce il codice per simulare l'MT-32). In ogni caso, emulare solo l'audio di quei sistemi, invece delle macchine intere, alleggerisce l'esecuzione e rende le cose comunque molto più semplici per l'utente finale.

Le piacevoli conseguenze di ScummVM

Già nel 2002 qualcosa di imprevisto cominciò ad accadere: per analogia di esperienza, ScummVM si aprì al supporto di Simon the Sorcerer dell'Adventure Soft. Pur mantenendo il nome originale, lo SCUMM gilbertiano è diventato negli anni solo uno degli attuali oltre 90 (!!!) engine che il programma è in grado di comprendere ed eseguire! ScummVM ha così smesso di essere un semplice tool per appassionati nostalgici, ma è diventato via via proprio un mezzo per celebrare la gloria del genere avventura grafica, coprendo tra i tanti anche le opere Sierra (inglobando i già esistenti interpreti Sarien e FreeSCI), Coktel Vision, Adventure / Horror Soft, Delphine Software, Westwood, Cyan, le testuali Infocom, The Longest Journey (dopo l'inglobamento dell'interprete affiliato ResidualVM) e persino ultimamente qualche non-ag come gli Eye of the Beholder, Ultima VIII e Little Big Adventure.
La nascita di un mercato effettivo per il retrogaming negli ultimi dieci anni ha permesso anche di usare ScummVM come viatico per riproporre in vendita i punta & clicca più antichi, improponibili per il pubblico medio sui sistemi attuali, ma grazie all'interprete ora con essi "magicamente" compatibili! Senza contare il gusto particolare di vivere sulle proprie macchine preferite giochi persi in passato perché mancanti di porting ad hoc: i macintoshiani per esempio si son potuti godere senza emulazione The Curse of Monkey Island, gli amighisti indefessi con i loro computer potenziati hanno potuto lanciare finalmente a 256 colori le avventure LucasArts, per non parlare degli utenti di Linux, "benedetti" da versioni di fatto native di un centinaio di avventure grafiche. La recente estensione al supporto del popolare engine di punta & clicca indie amatoriale Adventure Game Studio potrebbe avere conseguenze mastodontiche sul numero di ore trascorso in compagnia di ScummVM.

Tra gli sviluppatori delle avventure supportate da ScummVM, non tutti hanno risposto allo stesso modo. La LucasArts reagì piuttosto guardinga nel 2002, costringendo gli allora responsabili del progetto a quattro anni di discussioni con avvocati, per dimostrare che ScummVM era reverse engineering e non usava porzioni di codice di proprietà della Lucas. Attualmente la neo-Lucasfilm Games di proprietà Disney non solo accetta l'esistenza dell'interprete, ma molti loro titoli avventurieri su alcuni store online girano con ScummVM! Sarei inoltre pronto a scommettere che, senza la pervicacia con cui gli autori di ScummVM hanno perseguito il complesso supporto di Blade Runner, il gioco non sarebbe mai di recente riaffiorato in digital-delivery. Enormi passi avanti rispetto a quando l'Atari tra il 2008 e il 2009 pubblicò un porting Wii di alcune avventure Humongous, avviate tramite ScummVM non dichiarato ma riconosciuto dai programmatori dell'utility...
L'inglese Revolution Software di Charles Cecil ebbe una reazione opposta a quelle irate o furbe, anzi fece da apripista: sostenne i programmatori dando loro addirittura accesso al codice sorgente di Lure of the Temptress e Beneath a Steel Sky per la migliore implementazione, poi usò per una grande autopromozione quello che considerava un aggiornamento tecnico regalato, rendendo freeware i due giochi citati. Un esempio seguito da alcuni altri colleghi: al momento sulla pagina ScummVM si possono scaricare undici punta & clicca gratuitamente e in modo 100% legale.

 

 

Che cosa proprio non è ScummVM

ScummVM non è assolutamente una collezione di abandonware (concetto che nemmeno esiste legalmente, peraltro). Ogni allargamento di questo multi-interprete al supporto di nuovi titoli non rende automaticamente freeware questi titoli! Può sembrare un concetto ovvio, e spero davvero che la maggior parte dei lettori di Lucasdelirium lo sappia già, eppure mi sento in dovere di precisarlo per chi dovesse approdare a questa pagina tramite i motori di ricerca e non lo sappia. Scaricare via torrent zipponi con tutti i giochi supportati da ScummVM, confezionati con l'ultima versione dell'interprete, è illegale. Rimane pirateria. Si può aprire il dibattito sulla difficoltà di reperire titoli antichi che per via legale sono rimasti impantanati e per ora non vedranno la luce su Good Old Games o similari. Al di là di quanto possiamo "parlarci chiaro", la gran parte delle avventure gestite da ScummVM sono tornate in vendita per pochissimi euro, come dicevo più su anche grazie alla compatibilità che quest'ultimo garantisce con i sistemi operativi moderni. Domandarsi con amarezza come mai non possa ancora ricomprare The Neverhood o Discworld è giusto, è uno stato di cose che fa cascare le braccia, siamo d'accordo. Ma nascondersi dietro la foglia di fico dell' "abandonware" per un Gabriel Knight o un Broken Sword, reperibili legalmente in ogni momento a distanza di un click, è un altro: tutto sono fuorché "abbandonati"... e dovremmo esserne contenti.
Gli unici titoli resi freeware in concomitanza con la loro inclusione nel progetto ScummVM, sono quelli nella citata lista. E non altri. E il download ufficiale di base dell'utility nemmeno li comprende!

ScummVM è sempre la soluzione migliore?

Difficilissima domanda alla quale tuttora non so fornire una risposta, ma posso aiutarvi a considerare il maggior numero di aspetti. Nulla vieta di ignorare ScummVM e per esempio avviare le avventure con veri emulatori delle varie macchine, come DOSBox (PC), WinUae (Amiga), Steem (ST), Basilisk II (Mac) e così via. Ma secondo quale criterio uno dovrebbe preferire l'una o l'altra soluzione?
Un emulatore richiede una conoscenza minima (meglio se media) della macchina in questione, la capacità di procurarsi spesso ROM ad hoc delle macchine da emulare, la pazienza di regolare i settaggi per ottenere l'esperienza voluta, ed è assai complicato da eseguire sotto sistemi che non abbiano una tastiera e un mouse a disposizione. ScummVM dribbla tutto questo, all'insegna di un'immediatezza pressocché totale, anche se richiede che sappiate di quali file abbia bisogno per ciascun gioco. Ma è un impegno obiettivamente meno gravoso... e auguri a chi voglia avviare DOSBox sul suo tablet! :-D
D'altro canto un emulatore vero e proprio preserva un'esperienza più completa della macchina, del suo avviamento, del suo comportamento reale in termini di velocità su quella versione del titolo che avviate, e vi connette emotivamente col programmatore che in quegli anni si prese cura di quei computer. Parliamo sempre di restauri e finestre sulla storia, ma ScummVM è divulgazione, gli emulatori sono approfondimento. Ribaltando il punto di vista, si potrebbe pure ipotizzare che ScummVM possa incuriosire sul modo in cui il proprio gioco preferito girava su altri sistemi, senza avere avuto mai dimestichezza con questi ed essendo comprensibilmente intimiditi dalla loro emulazione. Dispiace che Good Old Games spesso si adagi così tanto su ScummVM da vendere alcuni giochi privi degli eseguibili/interpreti originali per DOS, tagliando fuori di fatto chi volesse provare i videogiochi sotto DOSBox o su veri PC d'epoca.

 

 

Ci sono anche ragioni puramente tecniche che in alcuni casi (sempre meno a ogni release di ScummVM, va ammesso) potrebbero spingere i puristi a preferire l'emulazione totale. Parlando delle esperienze che ricordo "perché c'ero", faccio un esempio che penso possa avere valore universale per il nostro ragionamento: ScummVM non è ancora in grado di riprodurre l'intro Amiga di Zak McKracken con la sincronizzazione corretta tra animazioni e musica, perché i programmatori l'avevano legata alla precisa velocità del processore originale (precisa in tutti i sensi, ho scoperto che nemmeno emulando un Amiga PAL con WinUae la si ottiene, bisogna avviare in NTSC!!!). Quanto vi pesano aspetti "secondari" come questo? Dalla vostra risposta può dipendere la scelta, ma non è nemmeno così semplice.
Nel corso degli anni ScummVM ha proposto feature inedite negli interpreti originali, in alcuni casi migliorandone aspetti, per esempio consentendo di mixare effetti sonori AdLib con musiche MIDI per alcuni titoli LucasArts (dove quest'opzione non c'era), oppure sostituendo colori pieni al dithering di alcuni giochi Sierra, oppure ancora permettendo di deinterlacciare i video di alcune avventure con Full Motion Video. Addirittura, lo spirito di ScummVM si è spinto a proporre correzioni a bug che le case madri non avevano mai coperto: altro caso simbolico è il dialogo a scelta multipla tra Domino e Manny all'inizio del III atto di Grim Fandango (non si attivava per una svista di script).
Ribaltando per l'ennesima volta il punto di vista, facendo gli avvocati del diavolo, l'allargamento colossale di ScummVM negli ultimi anni non si è sempre accompagnato a un testing completo delle miriadi di giochi ormai supportati, e per quanto ammettiamo che per un progetto del tutto gratuito come questo sia un po' guardare il pelo nell'uovo, avrei a volte desiderato che si procedesse con più cautela e con un maggiore rafforzamento dei titoli che già c'erano e delle loro performance. Non per niente qualcuno degli sviluppatori tanto tempo fa suggerì che ScummVM fosse ormai un acronimo per "Self-inflicted Creative Urge to Make More Virtual Machines" ("Masochistica compulsione di creare più macchine virtuali"!)
Palla al centro per le opzioni di scaling e filtri della grafica, che invece più o meno si equivalgono tra emulatori e ScummVM (e spesso ne condividono il codice), anche se i primi hanno un supporto più raffinato per la simulazione dei vecchi monitor CRT a tubo catodico, se quel tipo di cosa vi interessa.

Io come la vedo? Preferisco senza dubbio gli emulatori per quanto riguarda le macchine e le versioni alle quali sono affezionato. Le mie avventure Lucasfilm Games e LucasArts per DOS e Amiga non passano da ScummVM, sono molto esigente da quel punto di vista. Non potrei però nemmeno fare a meno di ScummVM per altre cose: impostare una macchina virtuale con Windows antichi è uno strazio che non mi affascina per niente, quindi ben venga la chance di avviare al volo The Curse of Monkey Island, Grim Fandango, Woodruff o Tony Tough. E la dedizione per lanciare gli emulatori FM-Towns in giapponese (!) l'ho avuta una volta sola, per compilare le schede del sito correttamente.
Se invece, al di là delle preferenze personali, mi chiedete un giudizio sintetico su ScummVM, non può che essere un applauso, perché incarna l'affetto colossale dei fan avventurieri per una tradizione che ha attraversato gli anni, sostenendola nel modo più attivo e proficuo possibile. Tanti auguri e un grazie enorme a tutti coloro (anche italiani!) che nel corso di 20 anni gli hanno dato vita!