Condividi tramite


guida allo sviluppo di giochi Windows

Benvenuti nella guida allo sviluppo di giochi di Windows!

Nota

Prima di investire tempo nello sviluppo di un gioco basato sul framework UWP, tieni presente che la piattaforma UWP non è più in fase di sviluppo attivo. Inoltre, i giochi basati su UWP non vengono più accettati nello Store Xbox.

Questa guida fornisce una raccolta end-to-end delle risorse e delle informazioni necessarie per sviluppare un gioco UWP (Universal Windows Platform). Una versione in inglese (Stati Uniti) di questa guida è disponibile in formato PDF.

Introduzione allo sviluppo di giochi per la piattaforma UWP (Universal Windows Platform)

Questa guida fornisce una raccolta approfondita di informazioni e risorse che aiuteranno a sviluppare il gioco. Le sezioni sono organizzate in base alle fasi di sviluppo del gioco, per sapere sempre dove cercare informazioni quando occorre.

Se non si ha familiarità con lo sviluppo di giochi in Windows, la guida Introduzione potrebbe essere la posizione in cui iniziare. La sezione Risorse di sviluppo di giochi fornisce anche un panoramica generale su documentazione, programmi e altre risorse utili per la creazione di un gioco. Se si preferisce iniziare esaminando codice UWP, vedere Esempi di giochi.

Risorse per lo sviluppo di giochi

Dalla documentazione ai programmi per sviluppatori, forum, blog ed esempi, sono disponibili molte risorse di aiuto nel percorso di sviluppo di un gioco. Ecco un riepilogo delle risorse che dovresti conoscere quando inizi a sviluppare il tuo gioco per Windows.

Nota

Alcune funzionalità sono gestite tramite programmi di vario tipo. Questa guida illustra un'ampia gamma di risorse, ed è possibile che alcune risorse non siano accessibili a seconda del programma in uso o del ruolo di sviluppo specifico. Per informazioni su partnership con Microsoft, vedere Programmi per sviluppatori.

Documentazione relativa allo sviluppo di giochi

Questa guida fornisce collegamenti diretti alla documentazione pertinente, organizzata per attività, tecnologia e fase di sviluppo del gioco. Per offrire una panoramica generale delle funzionalità disponibili, ecco i principali portali di documentazione per lo sviluppo di giochi Windows.

Portale principale di Windows Dev Center Windows Dev Center
Sviluppo di app Windows Sviluppare app di Windows
sviluppo di app Universal Windows Platform Documentazione di Universal Windows Platform
Guide pratiche per i giochi UWP Giochi e DirectX
Informazioni di riferimento e panoramica su DirectX Grafica e giochi DirectX
Azure per i giochi Costruisci e ridimensiona i tuoi giochi usando Azure
Azure PlayFab Soluzione back-end completa per giochi live
Documentazione interattiva Mixer Aggiungere interattività al gioco

Centro per i partner

La registrazione come sviluppatore nel Centro per i partner è il primo passo per pubblicare il gioco Windows. Un account per sviluppatore consente di riservare il nome del gioco e inviare giochi gratuiti o a pagamento a Microsoft Store per tutti i dispositivi Windows. Usa il tuo account sviluppatore per gestire i giochi e i prodotti in-game, ottenere analisi dettagliate e attivare servizi che creano esperienze straordinarie per i giocatori di tutto il mondo.

Microsoft offre anche diversi programmi per sviluppatori che consentono di sviluppare e pubblicare Windows giochi. Consigliamo di controllare se sono adatti prima di registrarsi per un account del Centro per i partner. Per maggiori informazioni, vedere Programmi per sviluppatori

Programmi per sviluppatori

Per pubblicare un gioco in Microsoft Store, si dovrà anche creare un account per sviluppatore nel Centro per i partner.

Esempi di gioco

Sono disponibili molti esempi di giochi e app Windows per comprendere Windows funzionalità di gioco e iniziare rapidamente allo sviluppo di giochi. Nuovi esempi vengono sviluppati e pubblicati regolarmente, quindi non dimenticare di controllare i portali per scoprire le novità. È anche possibile seguire i repository di GitHub per ricevere notifiche di modifiche e aggiunte.

Universal Windows Platform applicazioni di esempio Windows-universal-samples
Esempi di grafica Direct3D 12 Esempi di grafica DirectX
Esempi di grafica Direct3D 11 directx-sdk-samples
Esempio di gioco in prima persona Direct3D 11 Creazione di un semplice gioco UWP con DirectX
Esempio di effetti immagine personalizzati Direct2D D2DCustomEffects
Esempio di mesh con sfumature Direct2D D2DGradientMesh
Esempio di regolazione foto Direct2D D2DPhotoAdjustment
esempi di giochi Windows (MSDN Code Gallery) Esempi di giochi di Microsoft Store
Esempio di gioco JavaScript 2D Creare un gioco della piattaforma UWP in JavaScript
Esempio di gioco JavaScript 3D Creazione di un gioco JavaScript 3D con three.js

Forum per sviluppatori

I forum per sviluppatori sono un ottimo posto dove porre e rispondere alle domande sullo sviluppo di giochi e connettersi alla community di sviluppo di giochi. I forum possono anche essere risorse fantastiche per trovare risposte esistenti a problemi difficili che gli sviluppatori hanno affrontato e risolto in passato.

Pubblicazione di app e forum per sviluppatori di giochi Pubblicazione e annunci in-app
Forum per sviluppatori di app UWP Sviluppo di app per la piattaforma UWP (Universal Windows Platform)
Forum per sviluppatori di applicazioni desktop forum di applicazioni desktop Windows
Giochi di Microsoft Store DirectX (post del forum archiviati) Creazione di giochi di Microsoft Store con DirectX (archiviato)
Windows 10 forum per sviluppatori partner gestiti Forum per sviluppatori XBOX: Windows 10
Forum di PlayFab Forum di PlayFab

Blog per sviluppatori

I blog per sviluppatori sono un'altra grande risorsa per le informazioni più recenti sullo sviluppo di giochi. Sono disponibili post su nuove funzionalità, dettagli di implementazione, procedure consigliate, sfondo dell'architettura e altro ancora.

Creazione di app per Windows (blog) Creare App per Windows
Windows 10 (post di blog) Post in Windows 10
blog del team di progettazione di Visual Studio Il blog Visual Studio
blog sugli strumenti di sviluppo Visual Studio Blog sugli strumenti di sviluppo
Blog degli strumenti di sviluppo di Somasegar Blog di Somasegar
Blog per sviluppatori DirectX Blog per sviluppatori DirectX
Introduzione a DirectX 12 (post di blog) DirectX 12
Blog del team degli strumenti di Visual C++ Blog del team di Visual C++
Blog del team PIX Ottimizzazione e debug delle prestazioni per i giochi DirectX 12 su Windows e Xbox
Blog del team di distribuzione di Universal Windows App Blog del team di creazione e distribuzione app UWP

Concetto e pianificazione

Nel concetto e nella fase di pianificazione si decide quale sarà il gioco e quali tecnologie e strumenti lo porteranno a compimento.

Panoramica delle tecnologie di sviluppo di giochi

Quando si inizia a sviluppare un gioco per la piattaforma UWP, sono disponibili molte opzioni per grafica, input, audio, rete, utilità e librerie.

Se si conoscono già tutte le tecnologie che si useranno nel gioco, si può iniziare. In caso contrario, la guida alle tecnologie di gioco per le app UWP offre una panoramica eccellente di molte delle tecnologie disponibili e ne è altamente consigliata la lettura per comprendere le opzioni e capire come si adattino insieme.

Panoramica sulle tecnologie dei giochi UWP Tecnologie di gioco per le app UWP

Pianificazione del gioco

Questi sono alcuni concetti generali e argomenti da considerare durante la pianificazione del gioco.

Rendere accessibile il gioco Accessibilità per i giochi
Creare giochi usando il cloud Cloud per i giochi
Monetizzare il gioco Monetizzazione per i giochi

Scelta della tecnologia grafica e del linguaggio di programmazione

Sono disponibili diversi linguaggi di programmazione e tecnologie grafiche per l'uso in Windows giochi. Il percorso da seguire dipende dal tipo di gioco che si sta sviluppando, dall'esperienza e dalle preferenze dell'ambiente di sviluppo e dagli specifici requisiti di funzionalità del gioco. Si userà C#, C++o JavaScript? DirectX, XAML o HTML5?

DirectX

Microsoft DirectX è la scelta ideale per la grafica e i contenuti multimediali 2D e 3D ad alte prestazioni.

DirectX 12 è più veloce ed efficiente di qualsiasi versione precedente. Direct3D 12 consente scene più avanzate, più oggetti, effetti più complessi e l'utilizzo completo dell'hardware GPU moderno su Windows PC e Xbox One.

Se si desidera usare la pipeline grafica familiare di Direct3D 11, potrai comunque trarre vantaggio dalle nuove funzionalità di rendering e ottimizzazione aggiunte a Direct3D 11.3. Inoltre, se sei uno sviluppatore di API Windows desktop esperto con radici in Win32, avrai comunque questa opzione per il tuo gioco per Windows.

Le funzionalità estese e l'integrazione completa della piattaforma di DirectX offrono la potenza e le prestazioni necessarie per i giochi più complessi.

DirectX per lo sviluppo UWP Programmazione DirectX
Esercitazione: Come creare un gioco DirectX UWP Creazione di un semplice gioco UWP con DirectX
Informazioni di riferimento e panoramica su DirectX Grafica e giochi DirectX
Guida alla programmazione e informazioni di riferimento su Direct3D 12 Grafica Direct3D 12
Video di sviluppo per grafica e DirectX 12 (canale YouTube) Microsoft DirectX 12 e Graphics Education

XAML

XAML è un linguaggio dichiarativo facile da usare con funzionalità pratiche come animazioni, storyboard, data binding, grafica scalabile basata su vettori, ridimensionamento dinamico e grafici della scena. XAML è ideale per l'interfaccia utente del gioco, i menu, gli sprite e la grafica 2D. Per semplificare il layout dell'interfaccia utente, XAML è compatibile con strumenti di progettazione e sviluppo come Expression Blend e Microsoft Visual Studio. XAML viene comunemente usato con C#, ma anche C++ è una buona scelta, ad esempio se il gioco ha esigenze di CPU elevate.

Panoramica della piattaforma XAML Piattaforma XAML
Interfaccia utente e controlli XAML Controlli, layout e testo

HTML 5

HyperText Markup Language (HTML) è un noto linguaggio di markup dell'interfaccia utente usato per pagine Web, app e client avanzati. I giochi di Windows possono usare HTML5 come livello di presentazione completo con le caratteristiche familiari di HTML, l'accesso alla Piattaforma Universale di Windows e il supporto per funzionalità web moderne come AppCache, Web Workers, canvas, trascinamento della selezione, programmazione asincrona e SVG. Dietro le quinte, il rendering HTML sfrutta la potenza dell'accelerazione hardware DirectX, in modo da poter ottenere comunque i vantaggi in termini di prestazioni di DirectX senza scrivere codice aggiuntivo. HTML5 è una buona scelta se si è esperti di sviluppo Web, conversioni di giochi Web o se si desidera usare livelli di linguaggio e grafica più facili da affrontare rispetto alle altre scelte. HTML5 viene usato con JavaScript, ma può anche chiamare nei componenti creati con C# o C++/CX.

Informazioni sul modello a oggetti di documenti e HTML5 Riferimento ad HTML ed DOM
Raccomandazione W3C HTML5 HTML5

Combinazione di tecnologie di presentazione

Microsoft DirectX Graphics Infrastructure (DXGI) offre interoperabilità e compatibilità tra più tecnologie grafiche. Per la grafica ad alte prestazioni, è possibile combinare XAML e DirectX; usando XAML per menu e altre semplici interfacce utente e DirectX per il rendering di scene 2D e 3D complesse. DXGI offre anche la compatibilità tra Direct2D, Direct3D, DirectWrite, DirectCompute e Microsoft Media Foundation.

Guida e informazioni di riferimento sulla programmazione dell'infrastruttura grafica DirectX DXGI
Combinazione di DirectX e XAML Interoperabilità DirectX e XAML

C++

C++/WinRT è un linguaggio a prestazioni elevate e a basso sovraccarico che offre la potente combinazione di velocità, compatibilità e accesso alla piattaforma. C++/WinRT semplifica l'uso di tutte le grandi funzionalità di gioco in Windows, tra cui DirectX e Xbox Live. È anche possibile riutilizzare codice e librerie C++ esistenti. C++/WinRT crea codice nativo veloce che non comporta il sovraccarico del Garbage Collection, in modo che il gioco possa avere prestazioni elevate e basso consumo energetico, assicurando una maggiore durata della batteria. Usare C++/WinRT con DirectX o XAML o creare un gioco che sfrutti la combinazione di entrambi.

C#

C# (pronunciato "C sharp") è un linguaggio moderno e innovativo che è semplice, potente, sicuro per i tipi e orientato agli oggetti. C# consente uno sviluppo rapido mantenendo al tempo stesso la familiarità e l'espressività dei linguaggi in stile C. Sebbene sia facile da usare, C# offre numerose funzionalità avanzate di linguaggio come polimorfismo, delegati, espressioni lambda, chiusura, metodi iteratori, covarianza ed espressioni LINQ (Language-Integrated Query). C# è una scelta eccellente se si usa XAML, se si desidera iniziare rapidamente a sviluppare il gioco o se si ha già avuto esperienza con C#. C# viene usato principalmente con XAML, quindi se si desidera usare DirectX, è preferibile scegliere C++ o scrivere parte del gioco come componente di C++ che interagisce con DirectX. In alternativa, è possibile considerare l'uso di Win2D, una libreria grafica Direct2D in modalità immediata per C# e C++.

Riferimenti e guida per programmatori C# Riferimenti al linguaggio C#

Usare componenti Windows Runtime per combinare i linguaggi

Con il Universal Windows Platform, è facile combinare i componenti scritti in lingue diverse. Creare componenti di Windows Runtime in C++, C# o Visual Basic e quindi chiamarli da JavaScript, C#, C++ o Visual Basic. È un ottimo modo per programmare parti del gioco nel linguaggio preferito. I componenti consentono anche di usare librerie esterne disponibili solo in un particolare linguaggio, nonché di usare codice già scritto.

Come creare componenti Windows Runtime componenti Windows Runtime con C++/WinRT

Quale versione di DirectX deve usare il gioco?

Se si sceglie DirectX per il gioco, si dovrà decidere quale versione usare: Microsoft Direct3D 12 o Microsoft Direct3D 11.

DirectX 12 è più veloce ed efficiente di qualsiasi versione precedente. Direct3D 12 consente scene più avanzate, più oggetti, effetti più complessi e l'utilizzo completo dell'hardware GPU moderno su Windows PC e Xbox One. Dal momento che Direct3D 12 lavora a un livello molto basso, può dare a un team di sviluppo di grafica esperto o a un team di sviluppo di DirectX 11 esperto tutto il controllo necessario per l'ottimizzazione grafica.

Direct3D 11.3 è un'API grafica di basso livello che usa il familiare modello di programmazione Direct3D e gestisce la complessità del rendering GPU. È supportato anche in Windows e Xbox One. Se si è già scritto un motore in Direct3D 11 e non è ancora il momento per passare a Direct3D 12, è possibile usare Direct3D 11 su 12 per ottenere alcuni miglioramenti delle prestazioni. Le versioni a partire dalla 11.3 contengono nuove funzionalità di rendering e ottimizzazione attivate anche in Direct3D 12.

Scelta di Direct3D 12 o Direct3D 11 Cos'è Direct3D 12?
Panoramica di Direct3D 11 Grafica Direct3D 11
Panoramica di Direct3D 11 su 12 Direct3D 11 su 12

Bridge, motori di gioco e middleware

A seconda delle esigenze del gioco, l'uso di bridge, motori di gioco o middleware può risparmiare tempo e risorse di sviluppo e test. Ecco alcune informazioni generali e risorse per bridge, motori di gioco e middleware.

Azure PlayFab

Ora parte della famiglia Microsoft, Azure PlayFab è una piattaforma back-end completa per i giochi live e un modo potente per gli studi indipendenti per iniziare. Incrementa i ricavi, il coinvolgimento e la fidelizzazione, riducendo al tempo stesso i costi, con servizi per i giochi, analisi in tempo reale e LiveOps.

PlayFab Panoramica di strumenti e servizi
Iniziare Che cos'è PlayFab?
Serie di esercitazioni video Serie di video dimostrativi sui sistemi principali di PlayFab
Ricette Ricette
repository GitHub Get script e SDK per varie piattaforme, tra cui Android, iOS, Windows, Unity e Unreal.
Documentazione sull'API Panoramica di REST API
Forum Forum di PlayFab

Unità

Unity offre una piattaforma per la creazione di accattivanti giochi e app 2D, 3D, VR e AR. Consente di realizzare rapidamente la propria visione creativa e di distribuire il contenuto a qualsiasi supporto o dispositivo.

A partire da Unity 5.4, Unity supporta lo sviluppo di Direct3D 12.

Motore di gioco Unity Unity - Motore di gioco
Scarica Unity Ottenere Unity
Documentazione di Unity per Windows Unity Manual/Windows
Aggiungere LiveOps con PlayFab Guida introduttiva: Libreria client PlayFab per C# in Unity
Come aggiungere interattività al gioco usando Mixer Interactive Guida introduttiva
Mixer SDK per Unity Plug-in Mixer Unity
Documentazione di riferimento di Mixer SDK per Unity Informazioni di riferimento sulle API per il plug-in Mixer Unity
Risoluzione dei problemi relativi ai riferimenti agli assembly mancanti relativi alle API di .NET API .NET mancanti in Unity e UWP
Pubblicare il gioco Unity come app Universal Windows Platform (video) Come pubblicare un gioco Unity come app UWP
Usare Unity per creare Windows giochi e app (video) Creazione di giochi e app Windows con Unity
Sviluppo di giochi Unity con Visual Studio (serie video) Uso di Unity con Visual Studio 2015

Havok

La suite modulare di strumenti e tecnologie di Havok aiuta i creatori di giochi a raggiungere nuovi livelli di interattività e di immersione. Havok consente di ottenere una fisica altamente realistica, simulazioni interattive e incredibili scene cinematografiche. La versione 2015.1 o successiva supporta ufficialmente la piattaforma UWP in Visual Studio 2015 su x86, 64 bit e Arm.

Sito Web di Havok Havok

Unreal Engine

Unreal Engine è una suite completa di strumenti di sviluppo per ogni tipo di gioco e di sviluppatore. Unreal Engine viene usato dagli sviluppatori di giochi in tutto il mondo per creare i giochi di console e PC più esigenti.

Panoramica di Unreal Engine Motore Unreal

BabylonJS

BabylonJS è un framework JavaScript completo per la creazione di giochi 3D con HTML5, WebGL, WebVR e Web Audio.

BabylonJS BabylonJS
Creazione di un gioco WebGL multipiattaforma con BabylonJS Usare BabylonJS per sviluppare un gioco multipiattaforma

Progettare e creare prototipi

Dopo avere stabilito il tipo di gioco da creare e gli strumenti e la tecnologia grafica da usare, scatta la fase di progettazione e di creazione del prototipo. Al suo centro, il tuo gioco è un'app Universal Windows Platform, quindi è qui che inizierai.

Introduzione alla piattaforma UWP (Universal Windows Platform)

La piattaforma UWP (Universal Windows Platform) offre una piattaforma API comune nei dispositivi Windows. I giochi destinati alla piattaforma UWP possono chiamare API WinRT comuni a tutti i dispositivi. Poiché la piattaforma UWP offre livelli API garantiti, puoi scegliere di creare un singolo pacchetto di app che verrà installato nei dispositivi Windows. E se vuoi, il tuo gioco può comunque chiamare API (incluse alcune API Windows classiche da Win32 e .NET) specifiche per i dispositivi in cui viene eseguito il gioco.

Di seguito sono riportate guide eccellenti che illustrano in dettaglio le app Universal Windows Platform e sono consigliate per comprendere la piattaforma.

Introduzione alle app Universal Windows Platform Che cos'è un'app di Universal Windows Platform?

Introduzione allo sviluppo UWP

La configurazione e la preparazione per lo sviluppo di un'app Universal Windows Platform è semplice e veloce. Le guide seguenti illustrano in modo dettagliato il processo.

Introduzione allo sviluppo UWP Introduzione alle app Windows
Prepararsi per lo sviluppo UWP Effettuare la configurazione

Se sei un principiante della programmazione UWP e stai prendendo in considerazione l'uso di XAML nel tuo gioco (vedi Scegliere la tecnologia grafica e il linguaggio di programmazione), la serie di video Windows 10 per principianti assoluti è un buon punto di partenza.

Annuncio della serie per principianti assoluti di Windows 10 con XAML (post sul blog) Sviluppo di Windows 10 per principianti assoluti

Concetti relativi allo sviluppo UWP

Panoramica dello sviluppo di app Universal Windows Platform Sviluppare app di Windows
Panoramica della programmazione di rete nella piattaforma UWP Rete e servizi Web
Uso di Windows. Web.HTTP e Windows. Networking.Sockets nei giochi Reti per i giochi
Concetti di programmazione asincrona nella piattaforma UWP Programmazione asincrona

API Windows per Desktop e UWP

I seguenti collegamenti illustrano come interagire con codice per desktop e UWP.

Usare codice C++ esistente per lo sviluppo di giochi UWP Procedura: Usare codice C++ esistente in un'app UWP
API Windows Runtime per le API Win32 e COM API Win32 e COM per applicazioni UWP
Funzioni CRT non supportate in UWP Funzioni CRT non supportate nelle app Universal Windows Platform
Alternative per le API di Windows Alternative alle API di Windows nelle app UWP (Universal Windows Platform)

Gestione della durata dei processi

La gestione della durata dei processi o il ciclo di vita delle app descrive i vari stati di attivazione che un'app Universal Windows Platform può attraversare. Il gioco può essere attivato, sospeso, ripreso o terminato e può passare attraverso tali stati in diversi modi.

Gestione delle transizioni di vita delle app Ciclo di vita dell'app
Uso di Microsoft Visual Studio per attivare le transizioni di app Come attivare eventi di sospensione, ripresa e in background per le app UWP in Visual Studio

Progettazione dell'esperienza utente di un gioco

La genesi di un grande gioco è un design ispirato.

Giochi e app condividono alcuni elementi di interfaccia e principi di progettazione; ma i giochi hanno spesso aspetti e obiettivi di progettazione del tutto particolari per quanto riguarda l'esperienza utente. I giochi hanno successo quando una progettazione ponderata viene applicata a entrambi gli aspetti: quando il gioco dovrebbe utilizzare un'esperienza utente comprovata e quando dovrebbe divergere e innovare. La tecnologia di presentazione del gioco, ovvero DirectX, XAML, HTML5 o una loro combinazione, influirà sui dettagli di implementazione, ma i principi di progettazione applicati sono in gran parte indipendenti da tale scelta.

A differenza dell'esperienza utente, il design del gioco (livelli, ritmo, caratterizzazione del mondo e altri aspetti) rappresenta una forma d'arte propria che dipende dalla creatività del team di sviluppo e non è trattata in questa guida.

Nozioni di base e linee guida sulla progettazione UWP Progettazione di app UWP
Progettazione per gli stati del ciclo di vita dell'app Linee guida UX per avvio, sospensione e ripresa

Linea guida sui colori e palette

Una linea guida di colore coerente nel gioco migliora l'estetica, facilita la navigazione e rappresenta un ottimo strumento per informare il giocatore sui menu e sulle funzionalità della grafica in sovrimpressione. La colorazione coerente degli elementi di gioco come avvisi, danni, punti e obiettivi può portare a un'interfaccia utente più pulita e ridurre la necessità di etichette esplicite.

Guida ai colori Colore nelle app di Windows 11

Tipografia

L'uso appropriato della tipografia migliora molti aspetti del gioco, tra cui il layout dell'interfaccia utente, la navigazione, la leggibilità, l'atmosfera, il marchio e l'immersione del giocatore.

Guida alla tipografia Procedure consigliate: tipografia

Mappa dell'interfaccia utente

Una mappa dell'interfaccia utente è un layout di spostamento e menu di gioco espressi in forma di diagramma di flusso. La mappa dell'interfaccia utente aiuta il team di sviluppo e chiunque si coinvolto nel lavoro sul gioco a comprenderne l'interfaccia e i percorsi di navigazione, e può risultare molto utile per scovare potenziali ostacoli e vicoli ciechi all'inizio del ciclo di sviluppo.

Guida alla mappa dell'interfaccia utente Procedure consigliate: Mappa interfaccia utente

Audio del gioco

Ecco le guide e i riferimenti per l'implementazione di audio nei giochi con XAudio2, XAPO e Windows Sonic. XAudio2 è un'API audio di basso livello che fornisce l'elaborazione dei segnali e la base di combinazione per lo sviluppo di motori audio a elevate prestazioni. L'API XAPO consente la creazione di oggetti di elaborazione audio multipiattaforma (XAPO) da usare in XAudio2 sia in Windows che in Xbox. Il supporto audio di Windows Sonic consente di aggiungere Dolby Atmos per Home Theater, Dolby Atmos per cuffie e il supporto HRTF di Windows per il gioco o l'applicazione multimediale di streaming.

API XAudio2 Guida alla programmazione e informazioni di riferimento sulle API per XAudio2
Creare oggetti di elaborazione audio multipiattaforma Panoramica XAPO
Introduzione ai concetti relativi all'audio Audio per i giochi
panoramica di Windows Sonic Audio spaziale

Direct3D 12

Novità e differenze in Direct3D 12 rispetto a Direct3D 11 e come iniziare a programmare con Direct3D 12.

Guida alla programmazione e informazioni di riferimento su Direct3D 12 Grafica Direct3D 12
Configurare l'ambiente di programmazione Configurazione dell'ambiente di programmazione Direct3D 12
Come creare un componente di base Creazione di un componente Direct3D 12 di base
Modifiche in Direct3D 12 Modifiche importanti nella migrazione da Direct3D 11 a Direct3D 12
Come portare da Direct3D 11 a Direct3D 12 Conversione da Direct3D 11 a Direct3D 12
Concetti relativi all'associazione di risorse (descrittore, tabella descrittore, heap del descrittore e firma radice) Associazione di risorse in Direct3D 12
Gestione della memoria Gestione della memoria in Direct3D 12

Sviluppo in DirectX

Guide e riferimenti per lo sviluppo di giochi con DirectX.

DirectX per lo sviluppo UWP Programmazione DirectX
Esercitazione: Come creare un gioco DirectX UWP Creazione di un semplice gioco UWP con DirectX
Interazione di DirectX con il modello di app UWP L'oggetto app e DirectX
Informazioni di riferimento e panoramica su DirectX Grafica e giochi DirectX
Nozioni fondamentali su DirectX 12 (video) Maggiore potenza, migliori prestazioni di gioco su DirectX 12

Kit e librerie degli strumenti DirectX

Il DirectX Tool Kit, la libreria di elaborazione delle texture DirectX, la libreria di elaborazione geometrica DirectXMesh, la libreria UVAtlas e libreria DirectXMath forniscono texture, mesh, sprite e altre funzioni utili e classi helper per lo sviluppo in DirectX. Queste librerie consentono di risparmiare tempo e sforzi di sviluppo.

Scarica il Kit di Strumenti DirectX per DirectX 12 DirectXTK 12
Ottieni il "DirectX Tool Kit" per DirectX 11 DirectXTK
Ottieni la libreria di elaborazione delle texture DirectX DirectXTex
Ottenere la libreria di elaborazione geometrica DirectXMesh DirectXMesh
Ottieni UVAtlas per creare e imballare un atlante di texture isochart. UVAtlas
Ottenere la libreria DirectXMath DirectXMath
Supporto di Direct3D 12 in DirectXTK (problema di GitHub) Supporto per DirectX 12

Risorse DirectX dei partner

La documentazione seguente proviene da documentazione DirectX aggiuntiva creata da partner esterni.

Nvidia: Cose da fare e da non fare con DX12 (post di blog) Cose da fare e da non fare con DX12, post aggiornato
Intel: Elaborazione parallela con DirectX 3D 12 Elaborazione parallela con DirectX 3D 12
Intel: Come implementare un'applicazione multi-adattatore esplicita con DirectX 12 Supporto di più adattatori in DirectX 12
Intel: White paper collaborativo di Intel, Suzhou Snail e Microsoft Esercitazione: Migrazione delle app a DirectX 12 - Parte 1

Produzione

In questa fase, il tuo studio è completamente coinvolto e si sta muovendo nel ciclo di produzione, con il lavoro distribuito tra tutto il team. Si perfezionano i dettagli, si fa refactoring e si estende il prototipo per trasformarlo in un gioco completo.

Riquadri animati e notifiche

Un riquadro è la rappresentazione del gioco nel menu Start di Windows. I riquadri e le notifiche possono favorire l'interesse dei giocatori anche quando non giocano.

Sviluppo di riquadri e badge Riquadri, distintivi e notifiche
Esempio che illustra riquadri animati e notifiche Esempio di Notifiche
Modelli di riquadri adattivi (post di blog) Modelli di riquadri adattivi - Schema e documentazione
Progettazione di riquadri e badge Linee guida per riquadri e distintivi
App di Windows 10 per lo sviluppo interattivo di modelli di riquadri dinamici Visualizzatore notifiche
Estensione del generatore di riquadri UWP per Visual Studio Strumento per la creazione dei riquadri usando un'unica immagine
Estensione del generatore di riquadri UWP per Visual Studio (post di blog) Suggerimenti sull'uso dello strumento di creazione di riquadri UWP

Attivare acquisti di prodotti (componenti aggiuntivi) in-app

Un componente aggiuntivo (prodotto in-app) è un articolo supplementare che i giocatori possono acquistare dall'interno del gioco. Gli add-on possono essere livelli di gioco, oggetti o qualsiasi altra cosa che i giocatori possano apprezzare. Usati in modo appropriato, i componenti aggiuntivi possono produrre ricavi e migliorare allo stesso tempo l'esperienza di gioco. Definire e pubblicare i componenti aggiuntivi del gioco tramite il Centro per i partner e attivare gli acquisti in-app nel codice del gioco.

Componenti aggiuntivi durevoli Attiva gli acquisti di prodotti in-app
Componenti aggiuntivi di consumo Abilitare gli acquisti di prodotti di consumo in-app
Dettagli e invio del componente aggiuntivo Invii di componenti aggiuntivi
Monitorare le vendite dei componenti aggiuntivi e i dati demografici per il tuo gioco Report delle acquisizioni di componenti aggiuntivi

Debug, monitoraggio e ottimizzazione delle prestazioni

Per ottimizzare le prestazioni, puoi sfruttare la modalità di gioco in Windows per offrire ai giocatori la migliore esperienza di gioco possibile utilizzando completamente la capacità del loro hardware corrente.

Il Windows Performance Toolkit (WPT) è costituito da strumenti di monitoraggio delle prestazioni che producono profili di prestazioni approfonditi di Windows sistemi operativi e applicazioni. Risulta particolarmente utile per monitorare l'utilizzo della memoria e migliorare le prestazioni del gioco. Il Windows Performance Toolkit è incluso in Windows SDK e Windows ADK. Questo toolkit è costituito da due strumenti indipendenti: Windows Performance Recorder (WPR) e Windows Performance Analyzer (WPA). ProcDump, che fa parte di Windows Sysinternals, è un'utilità della riga di comando che monitora i picchi della CPU e genera file di dump durante gli arresti anomali del gioco.

Test delle prestazioni del codice Piani di test di Azure
Migliorare le prestazioni ottenendo l'accesso esclusivo o prioritario alle risorse hardware usando le API modalità gioco Modalità gioco
Ottenere il Windows Performance Toolkit (WPT) Windows Performance Toolkit
Scarica Windows Performance Toolkit (WPT) da Windows ADK Windows ADK
Ottieni ProcDump ProcDump

Tecniche e concetti avanzati di DirectX

Alcune parti dello sviluppo DirectX possono essere complesse e piene di sfumature. Quando si arriva a un punto nella produzione in cui è necessario esaminare i dettagli del motore DirectX o eseguire il debug di problemi di prestazioni difficili, le risorse e le informazioni in questa sezione possono essere utili.

Strumento di ottimizzazione e debug delle prestazioni per DirectX 12 in Windows Introducing PIX in Windows
Guida alla programmazione di Direct3D 12 Grafica Direct3D 12
Combinazione di DirectX e XAML Interoperabilità DirectX e XAML

Sviluppo di contenuti HDR (High Dynamic Range)

Crea contenuto di gioco che usa le funzionalità di colore complete di HDR.

Informazioni su come eseguire il rendering del contenuto HDR e rilevare se lo schermo corrente lo supporta Esempio HDR di Direct3D 12
Creare e configurare un colore avanzato con DirectX Esempio di rendering avanzato dell'immagine a colori Direct2D

Globalizzazione e localizzazione

Sviluppare giochi pronti per il mondo per la piattaforma Windows e scoprire le funzionalità internazionali integrate nei principali prodotti Microsoft.

Preparare il tuo gioco per il mercato globale Globalizzazione e localizzazione

Invio e pubblicazione del gioco

Le guide e le informazioni seguenti consentono di rendere il processo di pubblicazione e invio il più agevole possibile.

Pubblicazione

Per pubblicare e gestire i pacchetti di gioco si usa il Centro per i partner.

Pubblicazione di app nel Partner Center Pubblicazione delle app Windows
Usare Azure Active Directory (AAD) per aggiungere utenti all'account del Centro per i partner Creare gruppi di clienti
Valutazione del gioco (post di blog) Ora disponibile: sistema di classificazione a fascia d'età singola per semplificare gli invii di app

Creazione di pacchetti e caricamenti

Dividere e raggruppare il contenuto per attivare l'installazione in streaming Installazione in streaming di app UWP
Creare pacchetti facoltativi come contenuti di gioco DLC Pacchetti facoltativi e creazione di set correlati
Creare un pacchetto di gioco UWP Creazione di pacchetti di app
Creare un pacchetto di gioco DirectX UWP Confezionare il tuo gioco DirectX UWP
Confezionamento del tuo gioco come sviluppatore di terze parti (post sul blog) Creare pacchetti caricabili senza accesso in qualità di editore all'account dello Store
Creazione di pacchetti di app e bundle di pacchetti di app con MakeAppx Creare pacchetti con lo strumento di creazione pacchetti di app MakeAppx.exe
Firma digitale dei file con SignTool Firmare i file e verificare le firme nei file con SignTool
Caricamento e versionamento del gioco Caricare pacchetti di app

Politiche e certificazione

Non lasciare che i problemi di certificazione posticipino il rilascio del gioco. Ecco i criteri e i problemi di certificazione comuni di cui tenere conto.

Contratto Microsoft Store App per gli sviluppatori Contratto per sviluppatori di app
Criteri per la pubblicazione di app sul Microsoft Store Criteri di Microsoft Store
Come evitare alcuni problemi comuni di certificazione delle app Evitare errori di certificazione comuni

File di manifesto del negozio (StoreManifest.xml)

Il manifesto dello store (StoreManifest.xml) è un file di configurazione facoltativo che è possibile includere nel pacchetto dell'app. Il manifesto dello store fornisce funzionalità aggiuntive che non fanno parte del AppxManifest.xml file. Ad esempio, è possibile usare il manifesto dello store per bloccare l'installazione del gioco se un dispositivo di destinazione non ha il livello minimo di funzionalità DirectX specificato o se il sistema non ha la memoria minima specificata.

Schema del manifesto del negozio schema StoreManifest (Windows 10)

Gestione del ciclo di vita del gioco

Dopo avere completato lo sviluppo e avere pubblicato il gioco, c'è ancora altro da fare. Lo sviluppo della versione 1 può anche essere terminato, ma il percorso del gioco nel marketplace è appena agli inizi. Sarà doveroso monitorare l'utilizzo e la segnalazione degli errori, rispondere ai commenti e ai suggerimenti degli utenti e pubblicare gli aggiornamenti del gioco.

Analisi e promozione nel Partner Center

Analisi nel Centro per i Partner Analizzare le prestazioni delle applicazioni
Risposte alle recensioni dei clienti Rispondere alle recensioni dei clienti
Modi per promuovere il gioco Attirare i clienti e promuovere le app

Visual Studio Application Insights

Visual Studio Application Insights offre prestazioni, dati di telemetria e analisi di utilizzo per il gioco pubblicato. Application Insights consente di rilevare e risolvere i problemi dopo il rilascio del gioco, monitorarne e migliorarne continuamente l'utilizzo e comprendere come i giocatori continuano a interagirvi. Application Insights funziona aggiungendo un SDK all'app, che invia dati di telemetria al portale Azure portale.

Analisi delle prestazioni e dell'utilizzo delle applicazioni Panoramica di Application Insights
Azure Monitor Panoramica di Azure Monitor

Soluzioni di terze parti per l'analisi e la promozione

Comprendere il comportamento del giocatore con GameAnalytics GameAnalytics
Connettere il gioco UWP in Google Analytics Scarica Windows SDK per Google Analytics
Usare Facebook App Installs Ads per promuovere il gioco agli utenti di Facebook Scarica Windows SDK per Facebook
Usare Vungle per aggiungere annunci video nei giochi Scaricare Vungle SDK per Windows

Creazione e gestione degli aggiornamenti del contenuto

Per aggiornare il gioco pubblicato, è necessario inviare un nuovo pacchetto dell'app con un numero di versione superiore. Una volta passato attraverso l'invio e la certificazione, il pacchetto sarà automaticamente disponibile per i clienti come aggiornamento.

Aggiornamento e controllo delle versioni del gioco Numerazione delle versioni dei pacchetti
Linee guida per la gestione dei pacchetti di giochi Linee guida per la gestione dei pacchetti dell'app

Aggiungi Xbox Live al tuo gioco

Xbox Live è una rete di gioco premier che collega milioni di giocatori in tutto il mondo. Gli sviluppatori ottengono l'accesso alle funzionalità di Xbox Live che possono aumentare in modo organico il pubblico del gioco, tra cui presenza su Xbox Live, classifiche, salvataggi nel cloud, hub di gioco, club, Party Chat, Game DVR e altro ancora.

Nota

Se desideri sviluppare titoli abilitati per Xbox Live, sono disponibili diverse opzioni per te. Per informazioni sui vari programmi, vedi Choosing an Xbox Live Developer Program.

Panoramica di Xbox Live Documentazione di Xbox Live

Per gli sviluppatori nel programma Xbox Live Creators Program

Panoramica Iscrizione al programma Creators

Per partner gestiti e sviluppatori nel programma ID@Xbox

Panoramica Introduzione a Xbox Live per i partner gestiti
Esempi esempi di sviluppo di giochi Xbox

Risorse aggiuntive

Video di grandi conferenze, ad esempio GDC e //build Video sullo sviluppo dei giochi