Condividi tramite


Installazione e manutenzione dei giochi

Questo articolo descrive un set di procedure consigliate che consentono di ridurre la frustrazione dell'utente circa il tempo necessario per installare un gioco, impedire chiamate di supporto non necessarie e consentire agli utenti di iniziare a giocare il gioco il più rapidamente e senza dolore possibile.

Installazione iniziale

Gli utenti acquistano giochi perché si godono di giocare loro, non perché si godono di installarli. L'installazione di un gioco deve essere più rapida, semplice e più dolorosa possibile per l'utente finale. Idealmente, gli utenti finali non dovrebbero nemmeno visualizzare un'interfaccia utente di installazione; dovrebbero essere in grado di rilasciare il disco del gioco nel vassoio e iniziare a giocare.

Flusso dell'interfaccia utente di installazione

Gli aspetti comuni dell'installazione dei giochi esistenti interferiscono con l'esperienza utente finale desiderata:

  • Porre domande non necessarie all'utente.

    Ad esempio, molti giochi chiedono se l'utente vuole installare DirectX. Se il gioco richiede l'esecuzione di Microsoft DirectX e la versione corretta di DirectX non è già installata, il gioco dovrebbe semplicemente installare DirectX.

  • Porre le domande dell'utente che la maggior parte degli utenti risponderà nello stesso modo.

    Per gli utenti tipici, le impostazioni predefinite per il percorso di installazione, la posizione del menu Start e così via, sono tutte consigliate. Offrire opzioni avanzate per gli utenti che vogliono modificare queste impostazioni.

L'interfaccia utente di installazione deve essere progettata per consentire all'utente tipico di iniziare a giocare il prima possibile. Se l'esecuzione automatica è abilitata nel computer dell'utente, ovvero l'impostazione predefinita, il programma di installazione deve presumere che l'utente voglia giocare il gioco il prima possibile, ignorando eventuali domande non necessarie. Il programma di installazione prograInstall on Demandm deve iniziare a installare il gioco nel percorso di installazione predefinito, preferibilmente usando un programma di installazione simile a quello descritto in . È consigliabile consentire agli utenti di modificare le impostazioni di installazione prima di avviare automaticamente l'installazione. Tuttavia, questa operazione deve essere eseguita richiedendo all'utente di premere una chiave per le opzioni di installazione avanzate e quindi procedere automaticamente con le opzioni predefinite se l'utente non raggiunge tale chiave entro cinque-dieci secondi.

Se l'esecuzione automatica non è abilitata nel computer dell'utente, il programma di installazione deve presupporre che l'utente non voglia che il programma di installazione inizi a installare automaticamente il gioco. Se il programma di installazione viene avviato da alcuni mezzi diversi da AutoRun, dovrebbe avviare l'interfaccia utente di installazione avanzata.

Riduzione del tempo necessario per l'installazione

La maggior parte dei giochi di Microsoft Windows oggi richiede da cinque minuti a mezz'ora per completare il processo di installazione. Al contrario, la maggior parte dei giochi console richiede più di trenta secondi dal momento in cui l'utente inserisce il CD del gioco al momento in cui l'utente può giocare il gioco. Questa differenza è dovuta al fatto che la maggior parte dei giochi di Windows è progettata per eseguire la maggior parte, se non tutti, del loro contenuto dal disco rigido del computer; le console, che non dispongono di un posto per archiviare definitivamente grandi quantità di contenuto, richiedono che il contenuto venga eseguito dal supporto di origine. Durante il caricamento del contenuto dal disco rigido locale, il tempo di caricamento del gioco più veloce è che tutto il contenuto deve essere copiato dal supporto di origine al disco rigido a un certo punto. La maggior parte dei giochi di Windows sceglie di copiare tutto il contenuto nel disco rigido contemporaneamente, come parte di un processo di installazione. Ciò impedisce all'esperienza iniziale dell'utente con il gioco rendendo l'utente watch una barra di avanzamento per diversi minuti prima di poter giocare il gioco.

Esistono due approcci che possono essere usati per ridurre al minimo il tempo trascorso inizialmente durante l'installazione del gioco: installazione minima e installazione su richiesta.

Installazione minima

In uno scenario di installazione minimo, il gioco installa solo un set minimo di contenuto sul disco rigido. In genere, questo è costituito solo dall'eseguibile del gioco e dalle DLL. Il resto del contenuto viene accessibile direttamente dal supporto di origine. Questo riduce drasticamente il tempo necessario per l'installazione, poiché il file eseguibile di un gioco è raramente maggiore di 10-20 MB. Lo svantaggio è che il gioco richiede più tempo per caricare il contenuto durante il gioco, perché deve caricarlo dal supporto di origine più lento.

Per creare una configurazione di installazione minima in una configurazione basata su Windows Installer:

  • Raggruppare tutti i componenti da installare nel disco rigido in una funzionalità contrassegnata per l'installazione in locale.

    Questa funzionalità verrà definita funzionalità "Bootstrap".

  • Raggruppare tutti i componenti che devono essere eseguiti dal supporto di origine in una funzionalità contrassegnata come "run from source".

  • Quando si apre un file che potrebbe trovarsi nel supporto di origine, usare la funzione MsiGetComponentPath per determinare il percorso del file, anziché scrivere hardcode il percorso.

    In questo modo si garantisce che il file possa essere trovato anche se la lettera di unità dell'unità CD/DVD dell'utente cambia.

  • Comprimere il contenuto che rimane sul CD/DVD.

    La quantità di tempo di CPU trascorso la decompressione del contenuto sarà in genere nascosta dalla velocità di trasferimento lenta dei dati dall'unità CD/DVD.

  • Raggruppare il contenuto in file contigui di grandi dimensioni e accedervi in ordine sequenziale.

    I tempi di ricerca delle unità CD/DVD sono abysmal rispetto a quelli dei dischi rigidi e la maggior parte delle unità CD/DVD non raggiunge i picchi di trasferimento a meno che non si tratti di una lettura di un file contiguo di grandi dimensioni.

  • Specificare il contenuto nel CD/DVD nell'ordine in cui è probabile che venga eseguito l'accesso.

    I tempi di ricerca sono notevolmente ridotti quando i file vengono accessibili nello stesso ordine del layout su disco.

Installare su richiesta

In uno scenario install-on demand, come per l'installazione minima, il gioco viene inizialmente installato nel disco rigido solo i file necessari per avviare il gioco. Tuttavia, invece di accedere al contenuto rimanente dal supporto di origine ogni volta che è necessario, il gioco installa effettivamente ogni parte di contenuto nel disco rigido perché è necessario per la prima volta e quindi accede dal disco rigido locale in ogni uso successivo. Il tempo necessario per l'installazione iniziale è ridotto come in per un'installazione minima, ma dopo la prima volta che ogni parte del contenuto viene accessibile, i tempi di caricamento migliorano.

Per creare una configurazione install-on demand in una configurazione basata su Windows Installer:

  • Raggruppare tutti i componenti da installare inizialmente nel disco rigido in una funzionalità contrassegnata per l'installazione in locale.

    Si noti che questa funzionalità è identica alla funzionalità Bootstrap per un'installazione minima.

  • Raggruppare il contenuto rimanente in più funzionalità in base ai componenti che potrebbero essere usati insieme.

    Ad esempio, in un gioco basato su livello raggruppare tutti i contenuti usati in un determinato livello in una sola funzionalità. Si noti che Windows Installer consente a un componente di essere condiviso da più funzionalità, quindi se si dispone di contenuto usato su più livelli, è possibile aggiungere tale contenuto alle funzionalità per tutti i livelli necessari senza replicare il contenuto. Tutte queste funzionalità devono essere contrassegnate come "Annunciate", il che significa che non verranno installate inizialmente, ma possono essere installate in un secondo momento in base alle esigenze.

  • Quando è necessario un file, verificare prima di tutto se il file è già installato usando la funzione MsiQueryFeatureState.

    Se non è ancora installato (ovvero lo stato è INSTALLSTATE_ADVERTISED), chiamare la funzione MsiConfigureFeature per installare la funzionalità in locale. Quando si apre il file dopo l'installazione, chiamare MsiGetComponentPath per determinare il percorso del file. Anche se non è strettamente necessario per questo scenario (poiché il contenuto verrà sempre installato nel disco rigido prima che venga usato), ciò semplifica l'installazione minima oltre all'installazione su richiesta.

  • Se possibile, prevedere il contenuto probabilmente necessario presto e installarlo in background durante il tempo di inattività.

    L'installazione in background è più appropriata quando il gioco è a un punto che non ha bisogno di ogni ultimo rimbalzo di prestazioni dal computer; ad esempio, durante la visualizzazione di un film di introduzione, scena tagliata, menu e così via.

  • Creare un'opzione nel menu opzioni del gioco per forzare l'installazione di tutti i contenuti rimanenti.

    Per implementare questa funzionalità, creare una funzionalità padre di tutte le funzionalità install-on demand e quindi chiamare MsiConfigureFeature per installare questa funzionalità master in locale. Ciò causerà anche l'installazione delle sottofeature in locale.

  • Il layout del contenuto deve essere simile a quello per un'installazione minima, ad eccezione del fatto che il contenuto deve essere clusterato solo con altri contenuti che potrebbero essere necessari contemporaneamente (ad esempio, tutti i contenuti per un livello devono essere insieme).

Game-Play post-installazione

Autorun

Per riprodurre un gioco già installato, l'utente deve solo eliminare il disco di installazione nella barra delle unità. La prima cosa che deve fare l'eseguibile AutoRun nel disco consiste nel verificare se il gioco è già stato installato e, in caso affermativo, avviare il gioco. Supponendo che il gioco sia stato installato usando una configurazione basata su Windows Installer, il controllo per determinare se il gioco è installato può essere eseguito con una singola chiamata alla funzione MsiQueryProductState.

Conversione di un'installazione install-on demand in un'installazione completa

Mentre un'installazione install-on demand consente all'utente di iniziare a giocare il gioco molto prima di un'installazione completa, un utente potrebbe voler installare in modo esplicito il resto del contenuto del gioco nel disco rigido locale. L'utente potrebbe voler giocare al gioco senza richiedere il supporto di origine o potrebbe semplicemente voler evitare i tempi di caricamento in gioco più lunghi che derivano dall'installazione del contenuto su richiesta. Se la configurazione del gioco usa Windows Installer, il gioco può fornire un'opzione nell'interfaccia utente delle opzioni del gioco per completare l'installazione del contenuto rimanente. Quando l'utente seleziona questa opzione, il gioco può chiamare MsiConfigureFeature per forzare l'installazione locale delle funzionalità rimanenti; non è necessario generare un'applicazione di configurazione separata a tale scopo.

Manutenzione del software e del contenuto del gioco

Uno dei vantaggi che i giochi Windows hanno sui giochi console è la facilità relativa con cui l'editore può rilasciare gli aggiornamenti al gioco dopo la sua versione iniziale. Indipendentemente dal fatto che questi aggiornamenti introducano nuovi contenuti o che vengano risolti i bug, è importante rendere il processo di aggiornamento più semplice possibile per l'utente finale. Il processo di aggiornamento è ancora più importante per i giochi online, che in genere richiedono che tutti gli utenti eseguono la versione più recente del gioco per connettersi.

Verifica della Aggiornamenti automaticamente

Gli utenti non devono ricordare di cercare patch. Se è disponibile un aggiornamento per il gioco, l'utente deve ricevere almeno una notifica e, idealmente, la patch deve essere già scaricata.

Un modo semplice per verificare la disponibilità di aggiornamenti da parte di un gioco consiste nel connettersi a un server Web ospitato dall'editore usando un URL specifico e scaricare un file di testo che specifica il numero di versione disponibile del gioco più recente, insieme a un URL da cui scaricare un pacchetto che aggiornerà il gioco alla versione più recente.

Verificare la disponibilità di aggiornamenti ogni volta che l'utente gioca il gioco è adeguato per assicurarsi che l'utente esegua la versione più recente. Tuttavia, se l'esistenza di un nuovo aggiornamento viene individuata immediatamente prima che l'utente tenti di giocare, l'utente potrebbe essere costretto a ritardare la riproduzione del gioco fino al termine del download dell'aggiornamento. Per aggiornamenti di grandi dimensioni o connessioni lente, questo ritardo può essere in base all'ordine di ore. Per evitare di forzare l'attesa dell'utente prima di giocare al gioco, il gioco può usare l'Utilità di pianificazione per pianificare controlli periodici per i nuovi aggiornamenti. Se viene rilevato un aggiornamento, il gioco può iniziare a scaricare immediatamente l'aggiornamento, in modo che sia probabilmente completamente scaricato e pronto per l'installazione entro la successiva riproduzione del gioco da parte dell'utente.

Download automatico delle patch

Dopo che il gioco ha rilevato che è disponibile un nuovo aggiornamento, dovrebbe iniziare immediatamente a scaricare l'aggiornamento. Poiché l'attività che verifica la presenza di aggiornamenti viene in genere eseguita in modo invisibile in background, il download deve essere il più intrusivo possibile. Il servizio trasferimento intelligente in background (BITS) è una funzionalità del sistema operativo che consente alle applicazioni di scaricare file da Internet anche se l'applicazione stessa non è in esecuzione. I processi di download BITS vengono eseguiti solo quando l'utente è connesso e solo quando il computer è già connesso alla rete. BITS non tenterà di forzare la connessione del computer alla rete autonomamente. Se l'utente si disconnette dalla rete o si disconnette, il processo BITS viene sospeso e riprenderà il download alla successiva accesso dell'utente e si connette alla rete. L'applicazione può configurare i processi BITS in modo da usare solo la larghezza di banda di rete che altrimenti rimane inutilizzata, per impedire al processo di influire sulle prestazioni di qualsiasi altra applicazione che potrebbe usare la rete (ad esempio, un gioco online). BITS è disponibile in Windows XP e Windows 2000 Service Pack 3.

Risorse aggiuntive

Per altre informazioni sulle tecnologie a cui si fa riferimento in questo articolo, vedere le sezioni pertinenti di MSDN Library:

Per altre informazioni sull'uso di Windows Installer per i giochi, passare alla colonna Driving DirectX del mese successivo, "Introduzione a Windows Installer per sviluppatori di giochi".

MsiConfigureFeature

MsiQueryProductState

MsiQueryFeatureState

MsiGetComponentPath