Giochi

Windows 8.1 offre eccezionali funzionalità su una varietà senza precedenti di dispositivi, dai tablet incentrati sul tocco o sull'input penna provvisti di moderni sensori ai PC desktop e portatili ad alta risoluzione. Questa varietà rappresenta un'importante opportunità per gli autori di giochi, che possono ora offrire eccellenti esperienze per un'ampia gamma di scenari diversi. In questo articolo vedremo come sviluppare giochi basati sui principi di Windows e sulle linee guida per l'esperienza utente, migliorando allo stesso tempo l'esperienza degli utenti e ottenendo un maggior coinvolgimento.

Diverse nuove funzionalità di Windows 8.1 sono particolarmente importanti per i giochi:

  • Riquadri animati e notifiche — I giochi possono attirare e coinvolgere gli utenti sin dalla schermata Start, con l'attività dei riquadri che indica punteggi, obiettivi, sfide e inviti di altri giocatori. Le notifiche durante il gioco o altre attività dell'utente possono incoraggiare i giocatori a ritornare al tuo gioco più velocemente e frequentemente.
  • Contratti Condivisione — I contratti tra app consentono di connettere il gioco ad altre app già installate nel sistema, in Windows Store o nel Web, per offrire un'esperienza di socialità agli utenti.
  • Supporto di un'ampia varietà di interazioni utente — Windows 8.1 offre il supporto per input tocco, penna, tastiera, mouse e periferiche di gioco esterne.
  • Sensori—Windows 8.1 supporta i moderni sensori di illuminazione, giroscopio, accelerazione e posizione.
  • Supporto di un'ampia gamma di fattori di forma e dimensioni dello schermo — I giochi possono essere eseguiti in un'ampia varietà di fattori di forma, dai grandi schermi ai tablet. I controlli di gioco possono essere visualizzati in diversi layout a seconda delle dimensioni della finestra o dello schermo per un'esperienza ottimale.
  • Windows Store — Windows Store offre nuove opportunità agli sviluppatori di app per la distribuzione, la promozione e la vendita di giochi e delle funzionalità in-app. Windows Store consente di offrire facilmente una versione di valutazione gratuita senza necessità di scrivere codice.

In questo articolo scopriremo gli effetti di queste funzionalità sulla progettazione e sullo sviluppo di giochi per Windows 8.1. Dimostreremo questi principi con i giochi Cut the Rope, Solitario Microsoft, Tankster, PuzzleTouch e Cannon Ball.

Dichiarazione di specificità

Prima di progettare il gioco, dedica il tempo necessario a scrivere una "dichiarazione di specificità", che descrive le esperienze che vuoi offrire agli utenti. Per quale scenario è ideale il tuo gioco e in quali aspetti riesce a soddisfare i requisiti di questo scenario meglio di altri? Usa la tua "dichiarazione di specificità" come guida per il processo di progettazione e per prendere le decisioni sugli scenari e le funzionalità che vuoi o meno includere.

Per Cannon Ball, la "dichiarazione di specificità" prevede di fornire agli utenti un gioco semplice ed entusiasmante che consenta di creare musica guidando una palla attraverso una serie di piattaforme e raccogliendo monete. Durante la pianificazione del gioco, questa dichiarazione ha influenzato le decisioni sugli scenari da supportare. Per guidare una palla e raccogliere le monete, l'utente deve essere in grado di cambiare l'angolazione delle piattaforme. Per rendere possibile questo scenario, è stato implementato il controllo dell'input tocco, tastiera e mouse. La dichiarazione è stata inoltre usata per stabilire gli scenari da non supportare. Viene deciso, ad esempio, che l'app non avrebbe supportato il salvataggio della musica creata durante la partita. La possibilità di salvare la musica non è significativa per lo svolgimento del gioco, quindi non viene implementata.

Riquadri animati, riquadri secondari e notifiche

I riquadri animati vengono usati per attirare gli utenti nel gioco dalla schermata Start. Usa un riquadro animato per visualizzare informazioni sui punteggi più recenti dell'utente, gli obiettivi o lo stato corrente del gioco. Se il gioco viene aggiornato con nuovi contenuti, come oggetti o livelli, puoi visualizzare queste informazioni nel riquadro animato per invitare gli utenti a giocare con questi nuovi contenuti.

Se il gioco include stati di avanzamento complessi o più partite in corso, ad esempio un gioco a turni eseguito con gli amici, puoi scegliere di consentire agli utenti di aggiungere stati di gioco salvati o determinate partite alla schermata Start come riquadri secondari. In questo modo, un utente può passare direttamente alla partita che gli interessa. Per altre informazioni sui riquadri animati, vedi Linee guida ed elenco di controllo per i riquadri e le notifiche.

Un altro modo per continuare a coinvolgere gli utenti nel gioco mentre svolgono altre attività consiste nell'usare notifiche di tipo avviso popup, che avvertono l'utente quando è il suo turno oppure se un amico ha superato il suo punteggio più alto. Per implementare le notifiche di tipo avviso popup, segui le indicazioni riportate in Linee guida ed elenco di controllo per le notifiche di tipo avviso popup.

Tieni presente che gli utenti possono scegliere tra diverse dimensioni di riquadri (piccolo, medio, grande e largo). Più attraenti sono gli elementi visivi o le informazioni in un riquadro, maggiore sarà la probabilità che gli utenti decidano di dargli spazio sullo schermo. Sperimenta dimensioni, colori e contenuti diversi per i riquadri per trovare la combinazione ottimale per il tuo gioco. Dichiara le dimensioni dei riquadri desiderate nel manifesto dell'app e includi anche le risorse appropriate per le altre dimensioni. Per altre info sulle dimensioni dei riquadri nel manifesto dell'app, vedi DefaultTile. Per altre info sugli aggiornamenti dei riquadri, vedi Schema del riquadro.

Menu Start con riquadro animato.

Figura 1: il riquadro animato per Cannon Ball è basato sul modello TileWideImageAndText02. Questo modello di riquadro consente allo sviluppatore di visualizzare un'immagine a colori del gioco e di fornire informazioni aggiornate sul punteggio più alto dell'utente e sulla quantità di tesori raccolti. Per informazioni su altri formati di riquadro, vedi il Catalogo di modelli di riquadro.

Schermate iniziali e controlli di stato

Quando un utente apre il tuo gioco, la prima cosa che vede è la schermata iniziale. Questa schermata serve da transizione graduale tra l'avvio del gioco e il momento in cui è pronto per l'esecuzione. In molti casi il caricamento di un gioco richiede più tempo dell'intervallo massimo di tre secondi, a causa del numero elevato di risorse che include. Se questo è il tuo caso, assicurati di predisporre una schermata iniziale estesa con musica di sottofondo o un anello di stato per segnalare che il caricamento del gioco è in corso. Per altre informazioni sulle schermate iniziali, vedi Linee guida ed elenco di controllo per le schermate iniziali.

L'approccio basato sulla schermata iniziale estesa è anche utile talvolta se durante la partita devono essere recuperate risorse, ad esempio quando viene caricato un nuovo livello o sta per essere riprodotto un filmato elaborato. Se può capitare che il gioco non risponda per più di 0,5 secondi, dovrebbe essere visualizzato un controllo di stato in modo che l'utente sappia che l'app è ancora in elaborazione e non si è verificato un arresto anomalo.

Per aggiungere effetti audio e/o visivi durante il caricamento dell'app, potresti anche aggiungere una musica di sottofondo e includere un'animazione simultanea a supporto della personalizzazione del gioco.

Layout ed esplorazione

Per quanto riguarda l'esplorazione e i comandi, i giochi possono includere strategie complesse e sofisticate che richiedono menu su più livelli con una grande quantità di opzioni oppure possono essere semplici puzzle leggeri anche senza menu o opzioni. Alcuni giochi presentano schermate con risultati, classifiche, pagine di benvenuto per la modalità multiplayer e altro ancora, mentre altri offrono all'utente un'unica esperienza, il gioco stesso. In un eccellente gioco per Windows 8 ci si deve accertare che lo spostamento tra tali esperienze risulti veloce, fluido e piacevole. Il modello di esplorazione che scegli deve essere basato sul tipo di esperienza offerto dal gioco. Esamina e approfondisci i modelli di esplorazione gerarchico e semplice. Spesso, la struttura di esplorazione da adottare non è dettata dal gioco in sé ma piuttosto da altri contenuti al suo interno.

Se includi più esperienze avanzate nel gioco, al di là del gioco vero e proprio, usa un modello gerarchico per tenere tutti i contenuti nel livello principale senza frapporre menu. Ogni volta che accede al gioco, l'utente ha a disposizione tutte le esperienze che hai realizzato con tanta attenzione. Se invece il gioco prevede una sola esperienza, puoi scegliere un modello semplice che consenta agli utenti di passare rapidamente tra una sessione e l'altra, ad esempio più partite uno contro uno con amici.

Per informazioni su come scegliere il miglior modello di esplorazione per la tua app, vedi Modelli di esplorazione.

Vedi Modello di esplorazione semplice e Modello di esplorazione gerarchico nella serie Funzionalità delle app dall'inizio alla fine.

Modello gerarchico

Con un modello gerarchico puoi presentare immediatamente tutti i contenuti agli utenti nella pagina hub principale, in modo da suscitarne l'interesse e rendere completa la prima esperienza. Nell'hub del gioco puoi mostrare punti di accesso, ad esempio la selezione del livello, l'avvio di una nuova partita oppure il proseguimento di un'altra, nonché gli obiettivi recenti, gli elenchi di amici e altre aree di contenuto, il tutto nella stessa superficie con panoramica orizzontale. L'hub offre inoltre la possibilità di proporre contenuti nuovi e aggiornati ogni volta che viene visualizzato, in modo da presentare attività anche quando l'utente non esegue il gioco. Ogni area può includere contenuti con cui gli utenti interagiscono direttamente. Usa le intestazioni di sezione come punti di esplorazione per approfondire la visualizzazione di contenuto per una specifica categoria. Puoi anche usare l'hub per comunicare le caratteristiche distintive e le personalizzazioni del tuo gioco. Se ad esempio un utente seleziona un determinato livello, il colore di sfondo della pagina della sezione potrebbe cambiare in base al livello visualizzato.

Cattura di schermata della gerarchia di livelli nella pagina hub

La raccolta di solitari Microsoft usa un modello gerarchico per consentire all'utente di esplorare molte esperienze di gioco diverse.

All'interno del gioco, devi sempre fornire un modo per tornare nell'hub. Spesso, questa funzionalità viene resa disponibile con un pulsante Indietro situato nell'intestazione. È importante che gli utenti abbiano la sensazione di esplorare facilmente il contenuto del gioco per trovare quello che vogliono, invece di cercare tra vari menu. Valuta se implementare lo zoom semantico per consentire agli utenti di spostarsi facilmente tra le sezioni. Se l'utente si trova in una specifica sezione dell'hub principale, può avvicinare le dita per eseguire lo zoom indietro semantico e passare rapidamente ad altre sezioni dell'app.

Cattura di schermata dello zoom semantico.

La raccolta di solitari Microsoft usa lo zoom semantico per consentire all'utente di spostarsi rapidamente tra le varie sezioni dell'hub.

Il modello gerarchico deve consentire agli utenti di spostarsi facilmente tra le varie esperienze e sentirsi costantemente immersi nei contenuti del gioco. Si tratta della scelta ideale per i giochi con molte opzioni diverse di esecuzione oppure con molte esperienze secondarie.

Modello semplice

Il modello semplice mantiene l'esperienza del gioco sempre in primo piano. È il layout ideale per i giochi che non prevedono altre esperienze autonome. Con il modello semplice, invece di indirizzare l'utente in un hub eterogeneo, puoi usare la barra dell'app superiore come home page di esplorazione. Presenta le diverse sessioni dell'utente e consentigli di spostarsi facilmente da una all'altra. Se esiste uno stato preliminare prima dell'avvio del gioco oppure se la partita è stata messa in pausa, puoi scegliere di presentare una schermata che mostri all'utente il marchio del gioco e fornisca una posizione da identificare come "home page" nel gioco. Non è necessario mostrare la barra dell'app superiore all'avvio. Ad esempio, l'app Internet Explorer indirizza gli utenti nell'ultima pagina Web visitata e lascia a loro la possibilità di richiamare la barra dell'app per esplorare le schede.

Nella figura seguente è illustrato un gioco che non offre altre esperienze oltre alle sessioni interne e ai meccanismi per spostarsi da una all'altra. Invece di provare a spostare queste poche funzionalità in un hub, il modello semplice consente di presentare in primo piano tutto il contenuto del gioco, in modo che l'utente possa esplorarlo in modo rapido e affidabile.

Cattura di schermata del layout del gioco con il modello semplice

Altre considerazioni sul layout: le app devono mantenere una singola direzione di scorrimento. Se la pagina dell'hub prevede la panoramica orizzontale, anche tutti i campi all'interno dell'app devono scorrere in orizzontale. Non devono essere presenti istanze di panoramica verticale. Ad esempio, se il gioco include una classifica che verrebbe solitamente visualizzata in verticale, disponi il contenuto in modo che venga mostrato in un layout a colonne. Se ti preoccupano i lunghi elenchi di informazioni, puoi consentire all'utente di usare lo zoom semantico per passare da un'estremità all'altra dell'elenco.

Interazioni durante il gioco

Interazioni tramite tocco: la manipolazione diretta è la modalità di controllo del gioco più consigliata. Windows 8.1 supporta potenti interazioni multitocco (fino a 5 input), che consentono agli utenti di eseguire operazioni come panoramica o zoom e comandi allo stesso tempo oppure di spostare il giocatore o la telecamera e sparare simultaneamente. Assicurati di progettare le interazioni in modo che tutti gli utenti, anche quelli che usano dispositivi senza sensori o funzionalità tocco, possano eseguire il gioco con il mouse e la tastiera.

Usando controlli virtuali, ad esempio un D-Pad virtuale per controllare i movimenti di un personaggio o lo scorrimento di un dito a sinistra o a destra per guidare un veicolo, puoi evitare di ingombrare il canvas di pulsanti e controlli e lasciare ampio spazio per l'interazione degli utenti con il gioco. I tasti W, A, S, D e i tasti di direzione sono i naturali equivalenti da tastiera per gli spostamenti che puoi includere in parallelo a un D-Pad virtuale. Se visualizzi un D-Pad o controlli pulsante nel canvas del gioco, prendi in considerazione la possibilità di consentire agli utenti di personalizzare le dimensioni e la posizione dei controlli oppure posizionali in modo relativo rispetto a qualsiasi punto toccato dall'utente. Non esiste una posizione universalmente valida ed ergonomicamente appropriata per tutti gli utenti. Come posizione predefinita per un controllo joystick virtuale considera quella del pollice dell'utente quando tiene in mano un tablet.

Valuta se le interazioni tramite tocco dell'utente potrebbero accidentalmente richiamare comportamenti correlati ai bordi, come l'inserimento di un'altra app attiva dal lato sinistro dello schermo oppure l'apertura degli accessi. I comandi del gioco e le relative interazioni devono trovarsi sempre ad almeno 20 pixel di distanza dai bordi dello schermo, in modo da non interferire con elementi dell'interfaccia utente come gli accessi o le barre dell'app. Puoi aggiungere una sorta di "barriera" visiva che eviti gesti di scorrimento rapido con un dito in prossimità dei bordi oppure puoi modificare i controlli per impedire scorrimenti rapidi involontari dai bordi. Evita inoltre di inserire comandi che richiedono all'utente di spostare il mouse sugli angoli dello schermo, in quanto il sistema usa gli angoli per aprire i pulsanti di accesso rapido e per inserire altre app attive quando l'utente usa il mouse. Se il tuo gioco usa controlli simili al mouse per guidare la telecamera virtuale del gioco, valuta la possibilità di integrare alcune delle procedure consigliate per la piattaforma descritte in Sviluppo di controlli del mouse.

Più modalità di input: i giochi devono supportare il tocco, oltre alla tastiera, il mouse, la periferica di gioco o la penna. Per ottimizzare l'esperienza con tutti i fattori di forma, i giochi devono inoltre supportare tutte le modalità di input, laddove possibile, e lo schema dei controlli deve essere quanto più fluido e coerente indipendentemente dalla modalità di input. Il cambio di modalità di input deve essere gestito dinamicamente in tempo reale. Se ad esempio viene rilevato un evento tocco, fai apparire i controlli applicabili al tocco. Se viene rilevato un clic del mouse, fai scomparire i controlli applicabili solo al tocco. Gestisci il cambio di modalità di input nel modo più dinamico possibile. Evita impostazioni manuali che costringono gli utenti ad attivare o disattivare i controlli di tocco per scegliere una specifica modalità di input. Non chiedere a un utente di specificare quale metodo di input desidera usare per eseguire il gioco. In teoria, il gioco deve supportare tutte le modalità di controllo in modo trasparente ed equanime, senza la necessità di cambiare modalità.

Comandi della barra dell'app: se possibile, progetta il gioco in modo che l'utente possa eseguirlo manipolando direttamente il contenuto nel canvas anziché usando comandi che agiscono sul contenuto. Se sono necessari comandi o controlli di esplorazione aggiuntivi, gli utenti si aspetteranno di trovarli nella barra dell'app. I giochi con più pagine possono usare i comandi di spostamento, posizionati in genere nella barra dell'app superiore, e altri comandi secondari, sistemati di solito nella barra dell'app inferiore. I comandi sempre disponibili, ad esempio per avviare una nuova partita, devono essere collocati sul lato destro della barra dell'app inferiore. Sul lato sinistro aggiungi eventuali comandi contestuali, ovvero quelli che dipendono dalla posizione dell'utente nell'hub o dall'elemento selezionato nell'hub. Se ad esempio l'hub contiene un elenco di partite salvate per un gioco di ruolo, è verosimile che l'utente selezioni una partita salvata e richiami la barra dell'app inferiore, prevedendo che venga visualizzato un comando Elimina all'estremità sinistra della barra.

Per determinare se un controllo deve essere posizionato nel pannello Canvas o nella barra dell'app inferiore, rispondi a queste due domande:

  • Il controllo verrà usato molto spesso?
  • Il controllo è fondamentale per eseguire il gioco?

Se rispondi affermativamente a una di queste domande, può essere una buona idea inserire il controllo nel pannello Canvas. In questo modo gli utenti non saranno costretti ad aprire continuamente la barra dell'app per avanzare nella partita.

Nella figura seguente non sono presenti controlli nel canvas. Gli utenti eseguono il gioco mediante manipolazione diretta. Ruotano le piattaforme con il tocco o con il mouse per guidare la palla lungo il percorso di monete. Quando però fanno scorrere rapidamente il dito dal basso verso l'alto o fanno clic con il pulsante destro del mouse, viene visualizzata una barra dell'app che consente di sospendere il gioco e di cambiare l'arma in dotazione.

Cattura di schermata dell'esecuzione del gioco.

Quando la partita viene messa in pausa, l'utente può richiamare la barra dell'app per riavviare il livello.

Cattura di schermata della barra dell'app in uso in una partita.

Potresti anche valutare la possibilità di aggiungere un'icona interruttore Play/Pausa sullo schermo per riprendere il gioco.

 

In Cut the Rope il pulsante di annullamento è sufficientemente importante da occupare spazio nel canvas. Viene reso disponibile nell'angolo superiore destro perché si tratta di un'azione frequente per il gioco.

Cattura di schermata del pannello Canvas del gioco con un controllo di annullamento visibile

Puoi facilmente applicare alle barre dell'app, ai pulsanti e agli indicatori di stato uno stile che rifletta il marchio o le caratteristiche distintive del tuo gioco. Questi elementi possono essere di qualsiasi forma, colore e dimensioni che desideri.

Per altre informazioni sul layout dei controlli in una barra dell'app, vedi Modelli d'uso dei comandi.

Sensori

L'integrazione dei sensori in Windows 8.1 offre una nuova serie di opportunità di interazione per i giochi e le esperienze di intrattenimento interattive. Con l'accesso ai sensori di accelerazione, bussola, giroscopio, illuminazione e altro ancora, il gioco può diventare dinamico e Immersive secondo i desideri del progettista. Windows 8.1 offre inoltre la tecnologia Sensor Fusion, che rende disponibili dati precisi su orientamento e posizionamento, utilizzabili a vantaggio dei giochi.

Quando sviluppi un gioco abilitato per i sensori, valuta la gamma di possibilità e stabilisci quali supportano i tuoi scenari di base. Scegli il sensore appropriato per lo scopo.

  • Puoi usare gli accelerometri per guidare le auto o inclinare gli elementi del gioco.
  • Puoi rilevare il movimento del dispositivo per ruotare un personaggio o il punto di vista della telecamera.
  • Scuotere il dispositivo può essere un modo divertente per difendersi dai nemici o reimpostare le tessere di un puzzle.
  • Puoi usare un sensore luminoso per cambiare l'atmosfera o l'illuminazione del rendering di un gioco e ottimizzare l'interattività Immersive.
  • Puoi usare un microfono o anche una fotocamera per integrare elementi ambientali realistici nel gioco.
  • Puoi offrire un'esperienza di realtà aumentata integrando la fotocamera, la tecnologia Sensor Fusion e il rendering di elementi "segreti" in un gioco con oggetti nascosti.

Le possibilità sono ampie e, anche se non tutti i sensori sono appropriati per tutti i giochi, con un po' di creatività un semplice gesto o movimento può sostituire molti menu o comandi. Per altre informazioni sui sensori che è possibile usare, vedi il post su come ravvivare l'app con localizzazione geografica e sensori.

Contratti

Usa i contratti di per arricchire l'esperienza del gioco e connetterlo al resto dell'esperienza Windows 8.1. Per altre informazioni sui contratti, vedi Contratti ed estensioni delle app. Di seguito sono riportati alcuni esempi di contratti utili da implementare.

Ricerca: i giochi possono offrire numerosi e interessanti scenari di ricerca. Pensa a quello che un utente vorrebbe avere la possibilità di cercare da qualsiasi sezione del gioco. Valuta ad esempio se abilitare la ricerca per esaminare risultati o statistiche di un amico, trovare un amico con cui giocare oppure individuare un particolare elemento acquisito per un gioco. In questi casi, attieniti alle linee guida esistenti per l'uso della casella di ricerca. Per altre informazioni sulla ricerca, vedi Linee guida per la ricerca.

Condivisione: il contratto Condivisione ti permette di connettere i giocatori tra loro, a siti di social media o ad altri amici per condividere un determinato obiettivo o stato o anche catture di schermate e brevi clip della partita. Puoi anche usare questo contratto per condividere dati tra i giochi, ad esempio per inviare a un amico un determinato elemento creato per un gioco di ruolo oppure un puzzle personalizzato.

Quando scegli cosa condividere, considera come comunicare il tuo marchio nello stile delle informazioni condivise. Puoi condividere un'ampia varietà di formati diversi (tramite URL, e-mail, app sociali e servizi cloud) e la condivisione può avvenire anche con utenti che non hanno il tuo gioco o che usano altre piattaforme. La comunicazione efficace del tuo marchio in ogni informazione condivisa ti consente pertanto anche di attirare altri utenti nel tuo gioco.

Se il gioco può usare i dati di altre app e trasformarli in modo interessante, scegli di investire per farla diventare una destinazione di condivisione. Ad esempio, il gioco PuzzleTouch riceve una foto dall'app di foto e la trasforma in un puzzle in base alle preferenze dell'utente. Per altre informazioni sulla condivisione, vedi Linee guida ed elenco di controllo per la condivisione.

Cattura di schermata del contratto Condivisione.Cattura di schermata di un puzzle di immagini.

 

Dispositivi: l'implementazione di dispositivi è un modo efficace per consentire agli utenti di connettere game pad e altre periferiche al computer in preparazione di una partita e di visualizzare il contenuto del gioco su uno schermo più grande. Gli utenti possono anche stampare dal pulsante di accesso rapido Dispositivi.

Impostazioni e opzioni

Le impostazioni, le opzioni, l'informativa sulla privacy, la pagina di informazioni, i riconoscimenti e il contenuto della Guida del gioco devono essere accessibili mediante l'accesso alle impostazioni. L'accesso alle impostazioni viene usato per contenere impostazioni e opzioni in tutte le di app di Windows Store, per cui gli utenti si aspetteranno di trovarvi tutte le opzioni necessarie per regolare ad esempio gli effetti audio del gioco o cambiarne un aspetto. L'accesso alle impostazioni del gioco non deve essere gestito nella superficie del gioco né nella barra dell'app, a meno che non si tratti di un'attività frequente durante la partita. Gli utenti sapranno che devono cercare le impostazioni nell'accesso alle impostazioni, quindi non devono esistere ulteriori menu che duplicano la funzionalità dell'accesso alle impostazioni né alcun elemento dell'interfaccia utente preposto solo all'apertura del riquadro delle impostazioni.

In Windows 8.1 è disponibile un controllo globale del volume, ma in molti giochi è preferibile includerne uno personalizzato, con impostazioni audio più complesse, ad esempio dispositivi di scorrimento del volume distinti per la musica, gli effetti audio e la voce, regolabili in modo indipendente. Includi un'etichetta che chiarisca che le impostazioni audio sono specifiche per il tuo gioco. I dispositivi di scorrimento e i pulsanti di impostazioni devono fornire una risposta in tempo reale, senza richiedere un'azione secondaria con un pulsante Accetto o OK per confermare le modifiche.

Se il gioco include istruzioni iniziali o una Guida per la partita, ad esempio esercitazioni, aggiungi un percorso per arrivare a queste informazioni nell'accesso alle impostazioni. In alternativa, puoi rendere disponibili le esercitazioni come parte del gioco. Un esempio è illustrato nella figura seguente, in cui l'esercitazione fa parte dell'esperienza iniziale di gioco dell'app Cut the Rope.

Cattura di schermata del pannello Canvas del gioco con un controllo di annullamento visibile

Per altre informazioni su come fornire guide ed esercitazioni in-app, vedi le linee guida per l'interfaccia utente di formazione.

Account giocatore

Gli account giocatore sono utili per tenere traccia dei progressi degli utenti nel gioco, per collegare il giocatore ai social network e per attuare modelli di ricavi. Supportando gli account giocatore puoi creare un'esperienza più coinvolgente che spinga gli utenti a tornare e consenta loro di giocare con gli amici.

Accesso dell'utente: se è essenziale per l'esperienza di gioco che l'utente effettui l'accesso, ad esempio in giochi di social networking che richiedono l'accesso ai dati e ai contatti, dedica l'esperienza iniziale dell'app all'accesso invece di presentare all'utente un gioco non eseguibile. Se possibile, prova a derivare le informazioni di accesso da un account Microsoft dell'utente oppure da informazioni di accesso memorizzate nella cache durante sessioni precedenti del gioco.

Se il gioco può essere eseguito senza la necessità di effettuare l'accesso, ma quest'ultimo è altamente consigliato (ad esempio, se il modello di ricavi del gioco dipende dall'accesso dell'utente per pubblicizzare contenuti scaricabili di cui l'utente non dispone ancora), è possibile dedicare spazio all'interno del gioco, ad esempio nell'hub, per permettere l'accesso oppure designare a tale scopo l'esperienza iniziale. Se si occupa spazio nell'hub, è necessario comunicare chiaramente agli utenti che non hanno effettuato l'accesso. Dopo che l'utente ha effettuato l'accesso, rimuovi del tutto l'apposita sezione oppure sostituiscila con contenuti specifici per l'utente. Se l'accesso è integrato nell'esperienza iniziale, occorre offrire all'utente un'opzione per ignorarlo e, se l'utente sceglie di non effettuarlo, rispettare la decisione senza riportarlo in questa pagina all'inizio delle sessioni successive del gioco. In questi casi, puoi usare spazio nell'hub per gestire l'accesso.

Nei casi in cui l'accesso è facoltativo, la relativa esperienza deve essere inserita nel riquadro Impostazioni. Il riquadro Impostazioni potrebbe essere aperto all'avvio dell'app per aiutare l'utente a trovare l'esperienza di accesso.

In tutti i casi, l'accesso deve essere anche disponibile nel riquadro Gestione account di Impostazioni.

Gestione account e disconnessione: gli scenari di gestione account, ad esempio l'aggiornamento dell'indirizzo e-mail dell'utente o la modifica della password, devono essere inseriti nel riquadro Impostazioni. Analogamente, l'eventuale esperienza di disconnessione deve essere disponibile in Impostazioni, insieme alle relative opzioni.

Messa in pausa del gioco

Non tutti i giochi devono necessariamente supportare la pausa. I giochi a turni, ad esempio, in genere non prevedono la pausa. Inoltre, i giochi gestiti interamente dall'utente, senza altri fattori esterni come un timer o un orologio, non ottengono vantaggi da una pausa. In questi casi, non è necessario mettere il gioco in pausa quando l'utente esce. Quando l'utente rientra nel gioco, è necessario presentargli la stessa esperienza disponibile prima che uscisse. Se ciò non è possibile (ad esempio se viene terminata una sessione di gioco multiplayer), il gioco dovrebbe comunicare chiaramente agli utenti lo stato in cui si trovano.

Per i giochi che non hanno scenari di pausa significativi, registra la perdita dello stato attivo e metti il gioco in pausa quando l'utente fa scorrere rapidamente un dito dal bordo sinistro, inferiore o destro dello schermo oppure quando viene visualizzata una finestra di dialogo di sistema. Se il gioco è veloce o a tempo, dovrebbe essere messo in pausa quando si verifica un cambio della dimensioni della finestra o del layout. L'utente deve quindi essere in grado di annullare la pausa e giocare con le nuove dimensioni della finestra o il nuovo layout, se supportato. Un gioco non deve essere messo in pausa solo in base alla perdita dello stato attivo. Valuta la possibilità di includere un pulsante nel gioco per consentire agli utenti di sospendere l'azione e lavorare in multitasking. Stabilisci la posizione del comando di pausa in base alle considerazioni sul posizionamento dei comandi riportate nella sezione Interazioni durante il gioco di questo argomento.

Comunicazione dello stato di pausa: comunica agli utenti quando il gioco è nello stato di pausa. Puoi presentare un'immagine sovrapposta o una schermata di pausa. Per i giochi di tipo puzzle, strategia o a tempo, è consigliabile offuscare il pannello Canvas del gioco durante la pausa in modo che gli utenti non possano ottenere un indebito vantaggio da questo stato per studiare la classifica.

La ripresa del gioco deve essere semplice così come la messa in pausa. Se usi un overlay o una schermata di pausa, deve essere presente un altro strumento per riprendere il gioco. Se l'utente passa alla pagina hub, assicurati di mettere in pausa il gioco. Quando l'utente torna nel gioco o annulla la pausa, la partita dovrebbe riprendere nello stesso stato.

Quando l'utente riprende il gioco, è opportuno lasciargli qualche momento per orientarsi prima di rientrare in azione. A tale scopo, è una buona idea usare un conto alla rovescia.

Sebbene i giochi provvisti di controlli del flusso temporale—ad esempio quelli di costruzione di città—possano mettere in pausa il flusso, ciò non equivale a mettere in pausa il gioco. La pausa implica la completa cessazione dell'interazione dell'utente con il gioco, nonostante possano continuare operazioni di rendering in background per permettere la riproduzione ininterrotta delle animazioni.

Modifiche all'orientamento e alle dimensioni delle finestre

L'utente può ridimensionare l'app dallo schermo intero fino a una larghezza minima, può ruotare un dispositivo o lo schermo in orientamento verticale o orizzontale e può inserire più app affiancate sullo schermo. Il gioco deve supportare tutte dimensioni delle finestre e orientamenti variabili. Ricordati di mantenere lo stato del gioco in caso di ridimensionamento delle finestre in modo che l'esperienza per l'utente sia fluida e continua. Con il passaggio dalla visualizzazione orizzontale a quella verticale, l'utente non deve tornare in una schermata iniziale, ma piuttosto visualizzare una versione ridimensionata della pagina in cui si trova già.

Il tuo gioco deve supportare la larghezza minima di 500 pixel, ma puoi offrire una migliore esperienza all'utente supportando una larghezza minima di 320 pixel. Il gioco deve essere eseguibile in tutte le dimensioni fino alla larghezza minima scelta e deve semplicemente adattare la presentazione allo spazio disponibile.

Puoi prevedere l'adattamento a larghezze inferiori nel tuo gioco. La natura del gioco può essere utile per stabilire il modo che sceglierai per l'adattamento.

  • Ridimensionamento e formato 16:9: mantenere proporzioni fisse e il formato 16:9 per le larghezze più piccole. Questo metodo è ottimale per i giochi con contenuto non flessibile che non può essere ridisposto in modo dinamico per adattarlo a dimensioni alternative delle finestre. Invece di usare il nero per il formato 16:9, valuta la possibilità di usare un colore o un motivo abbinato al gioco. Cut the Rope usa questo metodo, come mostrato nell'immagine seguente.

    App Cut the Rope ridimensionata con una larghezza ridotta per mostrare il formato 16:9, con l'app Outlook che condivide lo schermo

  • Panoramica, ritaglio e zoom: consentire all'utente di eseguire determinate sezioni del gioco in uno stato con panoramica, ritaglio o zoom applicati. PuzzleTouch usa questo metodo, come mostrato nell'immagine seguente.

    App PuzzleTouch ridimensionata con una larghezza ridotta per mostrare lo stato con lo zoom applicato, con l'app Bing Viaggi che condivide lo schermo

  • Adattamento: adeguare il layout del contenuto del gioco in modo che l'utente possa continuare a giocare, ma con un layout diverso. Puoi incorporare più schermate o pagine del gioco nella visualizzazione per usare la larghezza della finestra disponibile nel modo più efficiente. Ad esempio, puoi posizionare la schermata del gioco in alto nello schermo e le classifiche e gli obiettivi di sotto. Solitario Microsoft usa questo metodo, come mostrato nell'immagine seguente.

    App Solitario Microsoft ridimensionata con una larghezza ridotta per mostrare l'adattamento del gioco a un layout verticale.

Se lo stato attivo passa dal gioco a un'altra app sullo schermo, il gioco deve essere adattato o messo in pausa in modo appropriato.

Se il gioco è eseguibile a larghezze ridotte, l'utente può operare in multitasking e continuare a giocare mentre svolge altre attività nel sistema, rimanendo più tempo impegnato con la tua app. Questo approccio è particolarmente valido per i giochi leggeri e occasionali che richiedono l'attenzione dell'utente senza necessariamente occupare l'intero schermo. Ad esempio, un utente potrebbe continuare a risolvere un rompicapo, fare una mossa in un gioco a turni oppure eseguire un gioco da tavolo in una visualizzazione stretta. Se il gioco prevede un'attività secondaria, ad esempio la chat o l'esplorazione di una mappa, questa attività può ricevere lo stato attivo anche a larghezze ridotte.

Nell'esempio seguente Cannon Ball è eseguibile a una larghezza stretta. Gli elementi del gioco vengono impilati, ridisposti e ridimensionati per adattarli alla finestra più piccola e la pagina viene ridotta per consentire all'utente di visualizzare più contenuti del livello.

Cattura di schermata del gioco con visualizzazione ridimensionata.

Valuta come possono diventare le interazioni tramite tocco quando l'utente ridimensiona la finestra con una larghezza ridotta. Con una larghezza ridotta, l'utente potrebbe richiamare involontariamente azioni sui bordi. Valuta come modificare i controlli in modo da evitare movimenti involontari di scorrimento rapido dai bordi. È inoltre importante considerare il posizionamento dei comandi. È possibile che non tutti i comandi rientrino in una barra dell'app in una visualizzazione ridotta. In questo caso, prova a raggruppare i comandi o a fornire un'esperienza più mirata che richieda meno comandi. Ricorda che le etichette dei pulsanti della barra dell'app standard sono nascoste per impostazione predefinita quando le finestre diventano troppo piccole per visualizzarle, quindi assicurati di scegliere icone facilmente identificabili.

Se il gioco non può essere eseguito in una dimensione più piccola oppure se raggiunge uno stato in cui serve più spazio sullo schermo per avanzare, è necessario inserire una pausa e indicare all'utente che non sono possibili ulteriori azioni finché l'app non viene di nuovo ingrandita. Il gioco non deve perdere lo stato o il contesto quando viene messo in pausa o ridimensionato. Se l'utente ripristina le dimensioni originali dell'app, deve essere in grado di continuare a giocare senza difficoltà. Per altre informazioni sulle dimensioni delle finestre, vedi Linee guida per le dimensioni delle finestre e Linee guida per il ridimensionamento dei layout alti e stretti.

Cattura di schermata di un'app di gioco ridimensionata con il pulsante Continua

 

È importante valutare come verrà ridimensionato il gioco in base a diverse risoluzioni dello schermo e impostazioni DPI. L'estensione o la compressione del tuo gioco in genere non consente di migliorarne l'aspetto, perché le risorse del gioco potrebbero diventare sfuocate o sproporzionate. Invece di applicare direttamente un ridimensionamento, è opportuno scegliere un layout che regola ciò che è visibile a seconda della risoluzione. Negli schermi più grandi, ad esempio, è possibile visualizzare più contenuti, come altri elementi del livello, invece di limitarsi a ingrandire la visualizzazione. Per altre informazioni sul ridimensionamento in base allo schermo, vedi Linee guida per l'adattamento in base allo schermo.

Gestione e salvataggio dello stato

I giochi devono seguire il modello di stato delle app di Windows Store. L'ultimo stato deve essere memorizzato in modo che l'utente possa tornarvi al momento dell'attivazione.

Qualsiasi gioco sospeso deve essere già messo in pausa, a meno che non sia sprovvisto di una modalità di pausa rilevante. Se un'app non include una modalità di pausa, quando l'utente vi rientra deve essere immediatamente reindirizzato all'esperienza di gioco.

In un gioco multiplayer permanente, se la sessione in cui l'utente si trovava è terminata, deve essere presentata una schermata successiva alla fine del gioco o un'indicazione che informi della fine della partita.

Queste linee guida sulla gestione dello stato sono indipendenti dal concetto di "checkpoint", "salvataggio dei file" o di più partite salvate in un gioco. Si riferiscono esclusivamente al ciclo di vita dei processi in Windows 8.1. Per altre informazioni sulla gestione dello stato, vedi Linee guida per la sospensione e la ripresa di un'app.

Roaming nel cloud

Crea un'esperienza continua tra diversi dispositivi mediante il roaming delle impostazioni e dello stato del gioco, in modo che l'utente possa riprendere un gioco esattamente da dove è stato interrotto, indipendentemente dal dispositivo usato. Consenti ai tuoi utenti di usare facilmente il gioco ovunque, dal PC di casa al computer dell'ufficio o al tablet personale, mantenendo le stesse impostazioni e gli stessi stati grazie al roaming. Per altre informazioni, vedi Indicazioni per il roaming dei dati delle app.

Accessibilità

Gli utenti di Windows possono avere varie abilità e disabilità. Se il tuo gioco può essere ripensato per permettere a persone con disabilità di eseguirlo, assicurati di supportare questi utenti. Le persone con disabilità possono usare la funzionalità di ricerca di app accessibili per trovare il gioco, se lo contrassegni come accessibile quando lo invii a Windows Store. Incorporando i principi di accessibilità nell'app, il gioco potrà essere usato da un pubblico ampio e potrà attirare un numero maggiore di clienti. Le funzionalità per l'accessibilità sono facili da includere in un'app di Windows Store, in particolare se vengono considerate nelle prime fasi del processo di progettazione. Con l'aggiunta di funzionalità per l'accessibilità, i giochi saranno adatti a tutti gli utenti. Ad esempio, se i controlli del gioco possono essere rimappati o posizionati in base al punto in cui l'utente colloca le mani, il gioco potrà essere eseguito sia da destrimani che da mancini nel modo ritenuto o più confortevole.

Quando si progetta un'app per l'accessibilità, è necessario tenere conto di diversi scenari importanti.

Progettazione per disabilità visive: gli utenti non vedenti o ipovedenti usano utilità per la lettura dello schermo per sviluppare un modello mentale dell'interfaccia utente del gioco. Per il corretto funzionamento delle utilità per la lettura dello schermo, tutti gli elementi dell'interfaccia utente del gioco devono essere contrassegnati da un'etichetta appropriata indicante nome, ruolo, descrizione, stato, posizione o altre informazioni pertinenti. È importante considerare l'aspetto che avrà l'interfaccia utente quando sono abilitate le opzioni per l'accessibilità a livello di sistema (impostazioni di Accessibilità), ad esempio "Ingrandisci tutti gli elementi dello schermo" o la modalità a contrasto elevato. Può essere necessario creare risorse alternative per la modalità a contrasto elevato oppure aggiungere codice per regolare gli effetti visivi del gioco quando l'utente abilita la modalità a contrasto elevato a livello di sistema. Usa una combinazione di colori appropriata per i daltonici e, se in alcune parti del gioco vengono usati i colori per comunicare informazioni, assicurati che queste informazioni vengano indicate anche in un altro modo, ad esempio con testo, forme o icone.

Cannon Ball può essere eseguito in modalità a contrasto elevato. Per abilitare questa funzionalità, gli sviluppatori hanno creato un set alternativo di risorse che vengono chiamate quando il sistema è impostato in modalità a contrasto elevato.

Cattura di schermata di un gioco in modalità a contrasto elevato.

 

Progettazione per l'accessibilità da tastiera e input alternativi: la tastiera è fondamentale per l'uso di una utilità per la lettura dello schermo e per gli utenti che adoperano meccanismi di input alternativi, ad esempio controller a interruttore o sistemi di tracciamento degli occhi. Assicurati che tutti gli elementi dell'interfaccia utente possano essere esplorati con i tasti di direzione e TAB. Gli elementi dell'interfaccia utente devono essere attivabili con la barra spaziatrice e INVIO. I comandi e i controlli devono essere accessibili con tasti di scelta rapida. Prova a rendere eseguibile il gioco anche solo con la tastiera. Ad esempio, in Cannon Ball, le piattaforme possono essere ruotate con i tasti di direzione, per cui il gioco è interamente eseguibile con input da tastiera.

Progettazione per le disabilità uditive: se nel gioco vengono usati suggerimenti audio o testo parlato per comunicare informazioni, devono essere disponibili sottotitoli per utenti non udenti o con difficoltà uditive. Devono essere presenti effetti visivi sostitutivi per tutti gli elementi audio e l'atmosfera e il significato del gioco devono essere comunicati anche senza audio. Se vengono riprodotti più suoni diversi contemporaneamente, ad esempio effetti audio e un dialogo, fornisci controlli del volume separati per facilitarne la comprensione.

Progettazione per disabilità cognitive: il gioco deve essere eseguibile con un'ampia gamma di livelli di difficoltà e velocità, se possibile. Valuta come può essere eseguito il gioco da utenti con disabilità cognitive o di apprendimento. Il gioco può essere eseguito da utenti che stanno imparando a leggere? Se possibile, offri una modalità sandbox o gratuita senza limiti di tempo per gli utenti con mobilità limitata o disabilità di apprendimento.

Conclusioni

I giochi forniscono una notevole quantità di contenuti complessi con cui gli utenti possono interagire. In un gioco ben realizzato per Windows 8.1, questi contenuti devono essere resi immediatamente disponibili in posizione centrale, rimuovendo elementi inutili dell'interfaccia utente. Seguendo i consigli e le linee guida di questo argomento, puoi personalizzare ogni componente del tuo gioco per ottimizzare l'esperienza dell'utente.

Modelli d'uso dei comandi

Presentazione delle app di Windows Store

Linee guida per l'esperienza utente delle app di Windows Store

Modelli di esplorazione