ScummVM è un software che riproduce il funzionamento di motori grafici di videogiochi. Originariamente progettato per avviare le avventure grafiche della Lucas Arts che utilizzano il sistema di sviluppo SCUMM, in seguito gli autori hanno aggiunto il supporto ad altri sistemi, come il Virtual Theatre di Revolution Software o l'AGI di Sierra On-Line. ScummVM non è un emulatore dell'hardware della piattaforma originale dei giochi, bensì una reimplementazione della parte del software che interpreta il linguaggio di scripting che descrive il mondo del gioco.

ScummVM
software
Logo
Logo
La finestra di selezione dei giochi in ScummVM. Si noti la skin utilizzata, il tema "Modern".
La finestra di selezione dei giochi in ScummVM. Si noti la skin utilizzata, il tema "Modern".
La finestra di selezione dei giochi in ScummVM. Si noti la skin utilizzata, il tema "Modern".
GenereMotore grafico
SviluppatoreScummVM Team
Data prima versione8 ottobre 2001
Ultima versione2.9.0 (22 dicembre 2024)
Sistema operativoMultipiattaforma
LinguaggioC++
LicenzaGPL
(licenza libera)
Linguainterfaccia localizzata
Sito webwww.scummvm.org/

ScummVM utilizza librerie cross-platform, che ne permettono la portabilità sulla maggioranza dei sistemi operativi (Windows, Linux, Macintosh, BSD) e piattaforme (Amiga Morph OS, Pocket PC, Nintendo Wii, Nintendo DS, PlayStation 2, PlayStation Portable, Apple iPhone, GP2X Caanoo e molti altri) esistenti.

Il nome del progetto

modifica

Nella visione originaria degli sviluppatori, il software doveva ricreare l'interprete SCUMM, utilizzato dalla LucasArts nelle proprie avventure grafiche. Il nome nacque dunque naturalmente dall'unione di due sigle:

  • SCUMM, acronimo di Script Creation Utility for Maniac Mansion, era il sistema di sviluppo creato per Maniac Mansion e successivamente utilizzato dalla LucasArts per la realizzazione di molti altri giochi.
  • VM, da Virtual Machine.

Nel corso degli anni, a seguito dell'introduzione di nuovi engine, il software ha aggiunto il supporto anche ad altri giochi, estendendosi così ben oltre il motore SCUMM. Ai nostri giorni, periodicamente qualche utente solleva la questione di trovare un nome che risulti più adatto al progetto e, di fronte alla ferma posizione degli sviluppatori a non modificare ScummVM, propone alternative, se non alla sigla, almeno alla sua lettura.[1]

Sviluppo

modifica

Il progetto, scritto interamente in C++, ha assunto una struttura modulare. In particolare, i diversi engine dedicati ai giochi sono separati e sviluppati indipendentemente, col risultato di evitare interferenze e di ottenere una grande attenzione alla pulizia del codice scritto. I programmatori che volessero aggiungere il supporto ad un nuovo gioco/engine sono liberi di farlo, semplicemente seguendo le indicazioni di una guida[2]. Questa stessa modularità permette, in fase di compilazione dell'applicazione, di selezionare solo gli engine desiderati per la build; questa libertà è utile nel momento in cui si voglia il supporto ad un sottoinsieme di giochi (per ottenere un eseguibile più leggero, ad esempio) o addirittura solo per uno, dedicando la build al test di un nuovo engine.

Per un breve periodo di tempo, in seno al progetto fu sviluppato un engine rivolto a supportare il gioco d'avventura Another World; questa decisione sollevò pareri discordi, alimentati dalla natura dell'ultimo arrivato, un gioco d'azione, rispetto al _target di avventure grafiche per cui erano nati gli altri engine. Una nota ulteriore fu la particolare tecnologia del gioco: a differenza delle avventure grafiche, che utilizzano immagini raster, Another World usava una grafica poligonale. In seguito, la questione fu chiusa dallo stesso autore del gioco, Éric Chahi, che stava lavorando ad una nuova edizione del suo vecchio gioco per i recenti sistemi Windows, il quale chiese espressamente al team di ScummVM di non lavorare più su quel particolare engine.

Nel corso dello sviluppo della release 0.5.0 il progetto si arricchì del supporto al Virtual Theatre, il motore di scripting della Revolution Software, col supporto della stessa software house. I programmatori fornirono il codice sorgente degli eseguibili dei giochi (sebbene qualche difficoltà fu riscontrata nel reperimento dei sorgenti di Lure of the Temptress) e, in concomitanza dell'uscita di ScummVM 0.5.0, vennero pubblicati come freeware sia il suddetto Lure of the Temptress, sia Beneath a Steel Sky. Entrambi i giochi sono ora scaricabili sia dalle pagine del sito della Revolution, sia dal sito di ScummVM ed entrambi prevedono la localizzazione in italiano. È da notare che, a causa delle particolari caratteristiche del Virtual Theatre, per questi giochi (come successivamente si verificò anche per altri) non era possibile semplicemente sostituire il file .EXE per ottenere un gioco funzionante; poiché porzioni dei dati necessari erano state codificate anche all'interno dell'eseguibile, fu necessario estrarre tali parti per completare il file set e fornire, insieme ai file standard del gioco, un nuovo file di dati necessario al corretto funzionamento di ScummVM.

Il progetto si avvale della collaborazione di numerosi programmatori da tutto il mondo, anche occasionali, data la sua frequente partecipazione alla Google Summer of Code e la sua notorietà ormai enorme è testimoniata dalla creazione di un modello di t-shirt recante il logo del software[3].

Da una branca del progetto è nato il software parallelo Residual (poi ribattezzato ResidualVM), dedicato al supporto di avventure che richiedono caratteristiche diverse dal _target di ScummVM. Inizialmente nato per supportare il gioco Grim Fandango, si voleva ricreare il motore GrimE, utilizzato (in una versione migliorata) anche nel successivo Fuga da Monkey Island. Queste avventure sono dette in 2.5D in quanto utilizzano personaggi ed oggetti tridimensionali su fondali prerenderizzati e dunque hanno bisogno di un vero supporto 3D. Anche questo progetto ha assunto una struttura modulare anche se, per il momento, è in lavorazione solo il supporto all'engine GrimE.

Lista di videogiochi supportati

modifica
 
Immagine della GUI di ScummVM 0.10.0 in versione "classica"

I seguenti videogiochi sono supportati nella versione corrente di ScummVM:[4]

LucasArts

modifica

Sierra On-Line

modifica

Cocktel Vision

modifica

Adventuresoft/Horrorsoft

modifica

Altri sviluppatori

modifica

Molti titoli della Humongous Entertainment utilizzano lo SCUMM, e sono quindi automaticamente supportati da ScummVM; sono inoltre supportati i seguenti giochi dotati di altri motori grafici:

  1. ^ Pagina wiki con l'elenco degli acronimi alternativi proposti dagli utenti.
  2. ^ Pagina wiki con le indicazioni di base per aggiungere un nuovo engine al progetto.
  3. ^ Pagina su Combobreaker!! che offre la t-shirt dedicata a ScummVM, su combobreaker.com. URL consultato il 15 gennaio 2013 (archiviato dall'url originale il 10 giugno 2013).
  4. ^ Non tutti i giochi elencati sono completabili o addirittura giocabili: molti hanno un supporto limitato. Per una lista più aggiornata: tabella di compatibilità ufficiale ScummVM.
  5. ^ Raccolta di demo

Bibliografia

modifica

Altri progetti

modifica

Collegamenti esterni

modifica
  Portale Software libero: accedi alle voci di Wikipedia che trattano di software libero
  NODES
INTERN 1
Note 2