Guida allo sviluppo di giochi per Windows
Benvenuti nella guida allo sviluppo di giochi in 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 in Xbox Store.
Questa guida fornisce una raccolta approfondita delle risorse e delle informazioni necessarie per sviluppare un gioco sulla piattaforma UWP (Universal Windows Platform). Una versione in inglese (Stati Uniti) di questa guida è disponibile in formato PDF.
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 introduttiva 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.
Dalla documentazione ai programmi per sviluppatori, forum, blog ed esempi, sono disponibili molte risorse di aiuto nel percorso di sviluppo di un gioco. Ecco le risorse da conoscere quando si inizia a sviluppare un gioco di 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.
Questa guida fornisce collegamenti diretti alla documentazione pertinente, organizzata per attività, tecnologia e fase di sviluppo del gioco. Per una panoramica generale delle funzionalità disponibili, ecco i principali portali di documentazione per lo sviluppo di giochi di Windows.
Portale principale di Windows Dev Center | Windows Dev Center |
Sviluppo di app di Windows | Sviluppare app di Windows |
Sviluppo per la piattaforma UWP (Universal Windows Platform) | Documentazione della piattaforma UWP (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 il gioco | Creare e scalare giochi con Azure |
Azure PlayFab | Soluzione back-end completa per giochi live |
Documentazione interattiva Mixer | Aggiungere interattività al gioco |
La registrazione come sviluppatore nel Centro per i partner è il primo passo per pubblicare un gioco di Windows. Un account per sviluppatore consente di riservare il nome del gioco e inviare giochi gratuiti o a pagamento nel Microsoft Store per tutti i dispositivi Windows. Usare il proprio account per sviluppatore per gestire i giochi e i prodotti.in-game, ottenere analisi dettagliate e attivare servizi che creano esperienze eccezionali per i giocatori in tutto il mondo.
Microsoft offre anche diversi programmi per sviluppatori che consentono di sviluppare e pubblicare giochi di Windows. Consigliamo di controllare se sono adatti prima di registrarsi per un account del Centro per i partner. Per maggiori informazioni, vedere Programmi per sviluppatori
Per pubblicare un gioco in Microsoft Store, si dovrà anche creare un account per sviluppatore nel Centro per i partner.
Sono disponibili molti esempi di giochi e app di Windows per comprendere le funzionalità di gioco di Windows, nonché una guida introduttiva allo sviluppo di giochi. Nuovi esempi vengono sviluppati e pubblicati regolarmente, quindi non dimenticare di controllare i portali per scoprire le novità. È anche possibile osservare i repository GitHub per ricevere notifichi su modifiche e aggiunte.
Esempi di app UWP (Universal Windows Platform) | Esempi di Windows universale |
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 di 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 |
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 per applicazioni desktop di Windows |
Giochi di Microsoft Store DirectX (post del forum archiviati) | Creazione di giochi di Microsoft Store con DirectX (archiviato) |
Forum per sviluppatori di partner gestiti di Windows 10 | Forum per sviluppatori XBOX: Windows 10 |
Forum di PlayFab | Forum di PlayFab |
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) | Sviluppo di app per Windows |
Windows 10 (post di blog) | Post in Windows 10 |
Blog del team di progettazione di Visual Studio | Blog di Visual Studio |
Blog di strumenti per sviluppatori di 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 di Visual C++ | Blog del team di Visual C++ |
Blog del team PIX | Ottimizzazione delle prestazioni e debug per giochi DirectX 12 in Windows e Xbox |
Blog del team di distribuzione di app di Windows universale | Blog del team di creazione e distribuzione app UWP |
Nel concetto e nella fase di pianificazione si decide quale sarà il gioco e quali tecnologie e strumenti lo porteranno a compimento.
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 |
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 |
Sono disponibili diversi linguaggi di programmazione e tecnologie grafiche per i giochi di Windows. 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?
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ù complete, più oggetti, effetti più complessi e l'uso completo dell'hardware GPU moderno nei PC Windows 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, gli sviluppatori di API Desktop Windows con esperienza e radici in Win32 avranno anche questa opzione per il gioco di 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 è 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 |
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 UWP (Universal Windows Platform) e il supporto per funzionalità Web moderne come AppCache, Web Worker, 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 |
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++/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 di operazioni Garbage Collection, in modo che il gioco possa avere prestazioni elevate e basso consumo di energia, garantendo così una maggiore durata della batteria. Usare C++/WinRT con DirectX o XAML o creare un gioco che sfrutti la combinazione di entrambi.
C# (pronunciato "See sharp") è un linguaggio moderno e innovativo con caratteristiche di semplicità e potenza, indipendente dai 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# |
Con la piattaforma UWP (Universal Windows Platform), è facile combinare componenti scritti in linguaggi diversi. Creare componenti 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 |
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ù complete, più oggetti, effetti più complessi e l'uso completo dell'hardware GPU moderno nei PC Windows 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. È supportata 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 |
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, è una piattaforma back-end completa per giochi live che offre un approccio avanzato per attività iniziali delle case di produzione indipendenti. 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 |
Introduzione | Che cos'è PlayFab? |
Serie di esercitazioni video | Serie di video dimostrativi sui sistemi principali di PlayFab |
Ricette | Ricette |
Repository GitHub | Ottenere 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 |
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 |
Ottenere Unity | Ottenere Unity |
Documentazione di Unity per Windows | Manuale di Unity/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 con riferimenti mancanti agli assembly in API.NET | API .NET mancanti in Unity e UWP |
Pubblicare il gioco Unity come app piattaforma UWP (Universal Windows Platform) (video) | Come pubblicare un gioco Unity come app UWP |
Usare Unity per creare giochi e app di Windows (video) | Creazione di giochi e app di Windows con Unity |
Sviluppo di giochi Unity con Visual Studio (serie di video) | Uso di Unity con Visual Studio 2015 |
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. Dalla 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 è 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 | Unreal Engine |
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 |
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. Il cuore del gioco è un'app della piattaforma UWP (Universal Windows Platform), perciò è da qui che occorre iniziare.
La piattaforma UWP (Universal Windows Platform) (UWP) 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, è possibile scegliere di creare un singolo pacchetto di app che verrà installato nei dispositivi Windows. Se lo si desidera, il gioco può comunque chiamare API (incluse alcune API di Windows classiche da Win32 e.NET) specifiche per i dispositivi sui quali viene eseguito il gioco.
Di seguito sono riportate alcune ottime guide che illustrano in dettaglio le app della piattaforma UWP (Universal Windows Platform) e sono consigliate per comprendere la piattaforma.
Introduzione alle app della piattaforma UWP (Universal Windows Platform) | Cos'è un'app UWP (Universal Windows Platform)? |
La configurazione e la preparazione per lo sviluppo di un'app piattaforma UWP (Universal Windows Platform) è semplice e veloce. Le guide seguenti illustrano in modo dettagliato il processo.
Introduzione allo sviluppo UWP | Iniziare a usare le app di Windows |
Configurazione per lo sviluppo UWP | Effettuare la configurazione |
Se si è agli inizi della programmazione UWP e si sta valutando l'uso di XAML nel gioco (vedere Scelta della tecnologia grafica e del linguaggio di programmazione), la serie di video per principianti nello sviluppo di Windows 10 è un buon punto di partenza.
Annuncio della serie per principianti di Windows 10 con XAML (post di blog) | Windows 10: sviluppo per principianti assoluti) |
Panoramica dello sviluppo di app per la piattaforma UWP | 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 |
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 di Windows Runtime per API Win32 e COM | API Win32 e COM per app UWP |
Funzioni CRT non supportate in UWP | Funzioni CRT non supportate nelle app della piattaforma UWP (Universal Windows Platform) |
Alternative per API Windows | Alternative alle API di Windows nelle app UWP (Universal Windows Platform) |
La gestione della durata dei processi (detta anche durata delle app) descrive i vari stati di attivazione che può attraversare un'app UWP (Universal Windows Platform). 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 background nelle applicazioni UWP in Visual Studio |
La genesi di un grande gioco è nella sua progettazione.
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 la loro ponderata progettazione viene applicata a entrambi questi aspetti e deve scegliere tra un'esperienza utente comprovata e scelte divergenti e innovative. 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 |
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 |
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 |
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 |
Di seguito sono riportate guide e 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 con XAudio2 in Windows e Xbox. Il supporto audio di Windows Sonic consente di aggiungere Dolby Atmos per Home Theater, Dolby Atmos per le cuffie e il supporto HRTF di Windows per lo streaming del gioco o del'applicazione multimediale.
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 |
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 convertire 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 |
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 | 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 |
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.
Ottenere DirectX Tool Kit per DirectX 12 | DirectXTK 12 |
Ottenere DirectX Tool Kit per DirectX 11 | DirectXTK |
Ottenere la libreria di elaborazione delle texture DirectXTex | DirectXTex |
Ottenere la libreria di elaborazione geometrica DirectXMesh | DirectXMesh |
Ottenere UVAtlas per la creazione e la compressione dell'atlas delle texture isochart | UVAtlas |
Ottenere la libreria DirectXMath | DirectXMath |
Supporto di Direct3D 12 in DirectXTK (problema in GitHub) | Supporto per DirectX 12 |
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 a più schede 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 |
In questa fase il team è totalmente immerso nelle attività di sviluppo e nel ciclo di produzione, occupando ogni singolo membro. Si perfezionano i dettagli, si fa refactoring e si estende il prototipo per trasformarlo in un gioco completo.
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, badge e notifiche |
Esempio che illustra riquadri animati e notifiche | Esempio di notifica |
Modelli di riquadri adattivi (post di blog) | Modelli di riquadri adattivi - Schema e documentazione |
Progettazione di riquadri e badge | Linee guida per riquadri e badge |
App di Windows 10 per lo sviluppo interattivo di modelli di riquadri animati | Notifications Visualizer |
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 |
Un componente aggiuntivo (prodotto in-app) è un articolo supplementare che i giocatori possono acquistare dall'interno del gioco. Possono essere livelli di gioco, articoli, oggetti o qualsiasi altro elemento interessante per i giocatori. 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 | Report Acquisizioni componenti aggiuntivi |
Per ottimizzare le prestazioni, è possibile sfruttare la modalità gioco in Windows per offrire ai giocatori la migliore esperienza di gioco possibile utilizzando completamente la capacità dell'hardware in uso.
Windows Performance Toolkit (WPT) è costituito da strumenti di monitoraggio delle prestazioni che producono profili di prestazioni approfonditi di sistemi operativi e applicazioni Windows. Risulta particolarmente utile per monitorare l'utilizzo della memoria e migliorare le prestazioni del gioco. 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 di CPU e genera file di dump durante gli arresti anomali del gioco.
Test delle prestazioni del codice | Azure Test Plans |
Migliorare le prestazioni ottenendo l'accesso esclusivo o prioritario alle risorse hardware usando le API modalità gioco | Modalità gioco |
Ottenere Windows Performance Toolkit (WPT) | Windows Performance Toolkit |
Ottenere Windows Performance Toolkit (WPT) da Windows ADK | Windows ADK |
Ottenere ProcDump | ProcDump |
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 | Introduzione a PIX in Windows |
Guida alla programmazione di Direct3D 12 | Grafica Direct3D 12 |
Combinazione di DirectX e XAML | Interoperabilità DirectX e XAML |
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 delle immagini a colori Direct2D |
Sviluppare giochi pronti per la pubblicazione mondiale sulla piattaforma Windows e scoprire le funzionalità internazionali integrate nei prodotti principali di Microsoft.
Preparazione del gioco per il mercato globale | Globalizzazione e localizzazione |
Le guide e le informazioni seguenti consentono di rendere il processo di pubblicazione e invio il più agevole possibile.
Per pubblicare e gestire i pacchetti di gioco si usa il Centro per i partner.
Pubblicazione di app con il Centro per i partner | Pubblicare app di 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 |
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 delle app |
Creare un pacchetto di gioco DirectX UWP | Creare un pacchetto di gioco DirectX UWP |
Creazione del pacchetto di gioco come sviluppatore di terze parti (post di 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 controllo delle versioni del gioco | Caricare pacchetti di app |
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 gli 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 gli errori di certificazione comuni |
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 file di manifesto dello store | Schema StoreManifest (Windows 10) |
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 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 offre analisi di prestazioni, telemetria e 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. Con Application Insights all'app viene aggiunto un SDK che invia dati di telemetria al portale di Azure.
Analisi delle prestazioni e dell'utilizzo delle applicazioni | Panoramica di Application Insights |
Monitoraggio di Azure | Panoramica di Monitoraggio di Azure |
Comprendere il comportamento del giocatore con GameAnalytics | GameAnalytics |
Connettere il gioco UWP in Google Analytics | Ottenere Windows SDK per Google Analytics |
Usare Facebook App Installs Ads per promuovere il gioco agli utenti di Facebook | Ottenere Windows SDK per Facebook |
Usare Vungle per aggiungere annunci video nei giochi | Scaricare Vungle SDK per Windows |
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 |
Xbox Live è una rete di gioco premier che connette 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, tra cui la presenza di Xbox Live, classifiche, salva nel cloud, hub di gioco, club, chat di party, game DVR e altro ancora.
Nota
Se si desidera sviluppare titoli attivati per Xbox Live, sono disponibili diverse opzioni. Per informazioni sui vari programmi, vedere Scelta di un programma per sviluppatori Xbox Live.
Panoramica di Xbox Live | Documentazione di Xbox Live |
Panoramica | Iscrizione al programma Creators |
Video di grandi conferenze, ad esempio GDC e //build | Video sullo sviluppo dei giochi |