Guide de développement de jeux Windows

Bienvenue dans le guide de développement de jeux Windows !

Ce guide fournit une collection de bout en bout des ressources et des informations dont vous aurez besoin pour développer un jeu vidéo sur la plateforme Windows universelle (UWP). Une version en anglais (États-Unis) de ce guide est disponible au format PDF .

Présentation du développement de jeux vidéo pour la plateforme Windows universelle (UWP)

Lorsque vous créez un jeu Windows, vous avez la possibilité de toucher des millions de joueurs du monde entier sur PC et Xbox One. Avec Xbox sur Windows, Xbox Live, le mode multijoueur multiappareil, une communauté de joueurs incroyable et de nouvelles fonctionnalités performantes comme la plateforme universelle Windows (UWP) et DirectX 12, les jeux Windows vont ravir les joueurs de tous âges et de toutes sortes. La plateforme Windows universelle (UWP) permet à votre jeu d’être compatible avec tous les appareils Windows en offrant une API commune pour PC et Xbox One, ainsi que des outils et des options pour adapter votre jeu à chaque appareil.

Ce guide fournit une collection de bout en bout d’informations et de ressources qui vous aideront à développer votre jeu vidéo. Les sections sont organisées en fonction des phases de développement de jeux vidéo, de sorte que vous saurez où rechercher des informations lorsque vous en aurez besoin.

Si vous débutez avec le développement de jeux vidéo sur Windows ou Xbox, vous pouvez commencer par le guide de prise en main. La section Ressources de développement de jeux vidéo fournit également une enquête générale sur la documentation, les programmes et d’autres ressources utiles lors de la création d’un jeu vidéo. Si vous souhaitez commencer par examiner du code UWP, consultez les exemples de jeux vidéo.

Ressources de développement de jeux vidéo

Il existe de nombreuses ressources disponibles pour vous aider dans votre parcours de développement de jeux vidéo, telles que documentations, programmes de développement, forums, blogs et exemples. Voici un résumé des ressources à connaître lorsque vous commencez à développer votre jeu Windows.

Remarque

Certaines fonctionnalités sont gérées par différents programmes. Comme ce guide couvre une large gamme de ressources, vous pouvez donc constater que certaines d’entre elles ne sont pas accessibles en fonction du programme que vous utilisez ou votre rôle de développement. Par exemple, les liens qui sont résolus vers developer.xboxlive.com, forums.xboxlive.com, xdi.xboxlive.com, ou le réseau de développeur de jeu vidéo (Game Developer Network, GDN en anglais). Pour plus d’informations sur le partenariat avec Microsoft, consultez Programmes pour développeurs.

Documentation sur le développement de jeux

Tout au long de ce guide, vous trouverez des liens approfondis vers la documentation pertinente, organisée par tâche, par technologie et par étape du développement de jeux. Pour vous donner une vue d’ensemble de ce qui est disponible, voici les principaux portails de documentation destinés au développement de jeux Windows.

Portail principal du Centre de développement Windows Centre de développement Windows
Développement des applications Windows Développer des applications Windows
Développement des applications pour la plateforme Windows universelle (UWP) Documentation sur la plateforme Windows universelle
Guides pratiques pour les jeux UWP Jeux et DirectX
Informations de référence et vue d’ensemble de DirectX Graphiques et jeux DirectX
Gaming Créer et mettre à l’échelle vos jeux à l’aide d’Azure
Azure PlayFab Solution back-end complète pour les jeux en direct
UWP sur Xbox One Création d’applications UWP sur Xbox One
UWP sur HoloLens Création d’applications UWP sur HoloLens
Documentation Xbox Live Guide du développeur Xbox Live
Documentation sur le développement Xbox One (XGD) Développement Xbox One
Livre blanc sur le développement Xbox One (XGD) Livres blancs
Documentation interactive de Mixer Ajouter de l’interactivité à votre jeu

Espace partenaires

L’inscription en tant que développeur dans l’Espace partenaires est la première étape de la publication de votre jeu Windows. Un compte de développeur vous permet de réserver le nom de votre jeu et de proposer des jeux gratuits ou payants dans Microsoft Store pour tous les appareils Windows. Utilisez votre compte de développeur pour gérer votre jeu et vos produis dans le jeu, obtenir des analyses détaillées et activer des services qui créent de grandes expériences pour vos joueurs du monde entier.

Microsoft propose également plusieurs programmes de développement pour vous aider à développer et publier des jeux Windows. Nous vous recommandons de vérifier si l’un d’entre eux vous intéresse avant vous inscrire à un compte Espace partenaires. Pour plus d’informations, accédez aux Programmes de développement

Programmes pour développeurs

Microsoft propose plusieurs programmes destinés aux développeurs pour vous aider à développer et à publier des jeux Windows. Envisagez de rejoindre un programme de développement si vous souhaitez développer des jeux pour Xbox One et intégrer des fonctionnalités Xbox Live dans votre jeu. Pour publier un jeu dans Microsoft Store, vous devez également créer un compte de développeur dans Espace partenaires .

Programme Créateurs Xbox Live

Le programme Xbox Live Creators permet à tout le monde d’intégrer Xbox Live dans ses jeux et les publier sur Xbox One et Windows. Il existe un processus de certification simplifié et aucune approbation de concept n’est requise en dehors des stratégies Microsoft Store standard.

Vous pouvez déployer, concevoir et publier votre jeu dans le programme Creators sans kit de développement dédié, en utilisant uniquement du matériel commercial. Pour commencer, téléchargez l’application Dev Mode Activation sur votre Xbox One.

Si vous souhaitez accéder à encore plus de fonctionnalités Xbox Live, à un support marketing et de développement dédié et avoir la possibilité d’être présenté dans le magasin Xbox One principal, demandez à participer au programme ID@Xbox.

Programme Créateurs Xbox Live En savoir plus sur le programme Créateurs Xbox Live

ID@Xbox

Le programme ID@Xbox aide les développeurs de jeux qualifiés à publier automatiquement sur Windows et Xbox One. Si vous souhaitez développer des jeux pour Xbox One ou ajouter des fonctionnalités Xbox Live telles que les scores des joueurs, les succès et les classements à votre jeu Windows, inscrivez-vous sur ID@Xbox. Devenez un développeur ID@Xbox afin d’obtenir les outils et l’aide dont vous avez besoin pour laisser libre cours à votre créativité et optimiser vos chances de succès. Nous vous recommandons de postuler à ID@Xbox avant de vous inscrire pour un compte de développeur dans l’Espace partenaires.

programme de développement ID@Xbox Programme pour développeurs indépendants pour Xbox One
site consommateur ID@Xbox ID@Xbox

Exemples de jeux

De nombreux exemples de jeu et d’application Windows sont disponibles pour vous aider à comprendre les fonctionnalités de jeux Windows et à démarrer rapidement le développement de jeux. Des exemples sont développés et publiés régulièrement. En conséquence, n’oubliez pas de consulter de temps en temps les portails des exemples pour en voir les nouveautés. Vous pouvez également suivre les dépôts GitHub pour être informé des modifications et des ajouts.

Exemples d’applications de plateforme Windows universelle Windows-universal-samples
Exemples graphiques Direct3D 12 DirectX-Graphics-Samples
Exemples graphiques Direct3D 11 directx-sdk-samples
Exemple de jeu à la première personne direct3D 11 Créez un jeu UWP simple avec DirectX
Exemple d’effets d’image personnalisés Direct2D D2DCustomEffects
Exemple de maillage de dégradé Direct2D D2DGradientMesh
Exemple d’ajustement photo Direct2D D2DPhotoAdjustment
Exemples publics Xbox Advanced Technology Group Xbox-ATG-Samples
Exemples Xbox Live xbox-live-samples
Exemples de jeux Xbox One (XGD) Exemples
Exemples de jeux Windows (MSDN Code Gallery) Exemples de jeux dans Microsoft Store
Exemple de jeu JavaScript 2D Créer un jeu UWP en JavaScript
Exemple de jeu 3D JavaScript Création d’un jeu JavaScript 3D à l’aide de three.js
Exemple de jeu UWP MonoGame 2D Créer un jeu UWP dans MonoGame 2D

Forums des développeurs

Les forums des développeurs sont un lieu d’échange intéressant pour poser des questions sur le développement des jeux, y répondre et pour contacter la communauté des développeurs de jeux. Les forums peuvent également être des ressources très utiles pour trouver des réponses existantes à des problèmes difficiles auxquels les développeurs ont fait face et qu’ils ont résolus dans le passé.

Publication d’applications et de forums de développement de jeux Publication et publicités dans les applications
Forum des développeurs d’applications UWP Développement d’applications de plateforme Windows universelle
Forums des développeurs d’applications de bureau Forum dédié aux applications de bureau Windows
Jeux dans Microsoft Store DirectX (publications de forum archivés) Création de jeux Microsoft Store avec DirectX (archivé)
Forums des développeurs partenaires gérés pour Windows 10 Forums des développeurs XBOX : Windows 10
Forum Xbox Live Forum de développement Xbox Live
Forums PlayFab Forums PlayFab

Blogs des développeurs

Les blogs des développeurs sont une autre ressource intéressante pour les dernières informations sur le développement de jeux. Vous trouverez des publications sur les nouvelles fonctionnalités, les détails de l’implémentation, les meilleures pratiques, l’arrière-plan de l’architecture, etc.

Création d’applications pour Windows (blog) Création d’applications pour Windows
Windows 10 (publications de blog) Publications dans Windows 10
Blog de l’équipe d’ingénierie Visual Studio Le blog Visual Studio
Blogs des outils de développement Visual Studio Blogs Outils de développement
Blog des outils de développement de Somasegar Blog de Somasegar
Blog des développeurs DirectX Blog des développeurs DirectX
Présentation de DirectX 12 (publication de blog) DirectX 12
Blog de l’équipe d’outils Visual C++ Blog de l’équipe Visual C++
Blog de l’équipe PIX Réglage et débogage des performances pour les jeux DirectX 12 sur Windows et Xbox
Blog de l’équipe de déploiement d’applications Windows universelles Blog d’équipe sur la création et le déploiement d’applications UWP

Concept et planification

Lors de l’étape de concept et de planification, vous décidez de l’apparence de votre jeu, et vous choisissez les technologies et les outils que vous allez utiliser pour lui donner vie.

Vue d’ensemble des technologies de développement de jeux

Lorsque vous commencez à développer un jeu pour UWP, vous avez plusieurs options disponibles pour les graphiques, l’entrée, l’audio, la mise en réseau, les utilitaires et les bibliothèques.

Si vous avez déjà choisi toutes les technologies que vous utiliserez dans votre jeu, vous pouvez alors démarrer son développement. Si ce n’est pas le cas, le guide des technologies de jeu pour les applications UWP est une excellente vue d’ensemble de la plupart des technologies disponibles, et il est vivement recommandé de la lire pour vous aider à comprendre les options et comment elles fonctionnent ensemble.

Enquête sur les technologies de jeu UWP Technologies de jeu pour les applications UWP

Planification des jeux

Voici quelques concepts importants et de points concernant la planification à prendre en compte lors de l’élaboration de votre jeu.

Rendre votre jeu accessible Accessibilité pour les jeux
Créer des jeux à l’aide du cloud Cloud pour les jeux
Monétiser votre jeu Monétisation pour les jeux

Choisir votre technologie graphique et votre langage de programmation

Plusieurs langages de programmation et technologies graphiques peuvent être utilisés dans les jeux Windows. Votre choix dépend du type de jeu que vous développez, de l’expérience et des préférences de votre studio de développement, ainsi que des conditions requises spécifiques pour les fonctionnalités de votre jeu. Allez-vous utiliser C#, C++ou JavaScript ? DirectX, XAML ou HTML5 ?

DirectX

Microsoft DirectX est le meilleur choix en matière de performance pour les graphiques et multimédias 2D et 3D.

DirectX 12 est plus rapide et plus efficace que toutes les versions précédentes. Direct3D 12 permet la création de scénarios plus riches, d’avoir plus d’objets, d’effets plus complexes et permet une utilisation complète du matériel GPU moderne sur les PC Windows et Xbox One.

Si vous souhaitez utiliser le pipeline graphique familier de Direct3D 11, vous bénéficierez toujours de nouvelles fonctionnalités de rendu et d’optimisation ajoutées à Direct3D 11.3. Et si vous êtes un développeur éprouvé d’API de bureau pour Windows utilisant Win32, vous avez toujours cette option pour votre jeu Windows.

Les fonctionnalités étendues et l’intégration approfondie de DirectX fournissent la puissance et les performances nécessaires aux jeux les plus exigeants.

DirectX pour le développement UWP Programmation DirectX
Tutoriel : comment créer un jeu UWP DirectX Créez un jeu UWP simple avec DirectX
Vue d’ensemble et référence de DirectX Graphiques et jeux DirectX
Guide de programmation et référence direct3D 12 Graphiques Direct3D 12
Vidéos de développement Graphics et DirectX 12 (chaîne YouTube) Microsoft DirectX 12 et Graphics Education

XAML

XAML est un langage d’interface utilisateur déclaratif de simple utilisation avec des fonctionnalités pratiques telles que les animations, les scénarimage, la liaison de données, les graphiques vectoriels évolutifs, le redimensionnement dynamique et les graphiques de scène. XAML fonctionne parfaitement pour l’interface utilisateur de jeu, les menus, les sprites et les graphiques 2D. Pour faciliter la disposition de l’interface utilisateur, XAML est compatible avec les outils de conception et de développement tels que Expression Blend et Microsoft Visual Studio. XAML est couramment utilisé avec C#, mais C++ convient également si c’est votre langage préféré ou si les exigences d’unité centrale de votre jeu sont élevées.

Vue d’ensemble de la plateforme XAML Plateforme XAML
Interface utilisateur et contrôles XAML Contrôles, dispositions et texte

HTML 5

HyperText Markup Language (HTML) est un langage de balisage d’interface utilisateur courant utilisé pour les pages web, les applications et les clients avancés. Les jeux Windows peuvent utiliser HTML5 comme couche de présentation complète avec les fonctionnalités familières de HTML, l’accès à la plateforme Windows universelle et la prise en charge des fonctionnalités web modernes telles que AppCache, Web Workers, canevas, glisser-déplacer, programmation asynchrone et SVG. En arrière-plan, le rendu HTML tire parti de la puissance de l’accélération matérielle DirectX, ce qui vous permet d’obtenir les avantages en matière de performances de DirectX sans écrire de code supplémentaire. HTML5 est un bon choix si vous maîtrisez le développement web, si vous portez un jeu web ou si vous souhaitez utiliser des couches de langage et de graphiques dont l’approche est plus simple que les autres options. HTML5 est utilisé avec JavaScript, mais peut également appeler des composants créés avec C# ou C++/CX.

HTML5 information sur le Document Object Model Référence HTML et DOM
Recommandation HTML5 W3C HTML5

Combinaison de technologies de présentation

L’infrastructure DXGI (DirectX Graphics Infrastructure) de Microsoft fournit une interopérabilité et une compatibilité entre plusieurs technologies graphiques. Pour des graphismes de haute performance, vous pouvez allier XAML et DirectX; utilisez XAML pour les menus et les autres éléments simples de l’interface utilisateur et DirectX pour le rendu des scènes 2D et 3D complexes DXGI assure également la compatibilité entre Direct2D, Direct3D, DirectWrite, DirectCompute et Microsoft Media Foundation.

Guide et référence de programmation de DirectX Graphics Infrastructure DXGI
Combinaison de DirectX et XAML Interop DirectX et XAML

C++

C++/WinRT est un langage de haute performance à faible traitement, qui fournit une puissante combinaison de vitesse, compatibilité et accès aux plateformes. C++/WinRT facilite l’utilisation de l’ensemble des fonctionnalités de jeux remarquables de Windows, notamment DirectX et Xbox Live. Vous pouvez également réutiliser du code et des bibliothèques C++ existants. C++/WinRT crée un code rapide et natif qui n’implique pas la surcharge de nettoyage de la mémoire. Votre jeu peut donc bénéficier de performances exceptionnelles et d’une faible consommation d’énergie, ce qui conduit à une autonomie de la batterie plus longue. Utilisez C++/WinRT avec DirectX ou XAML, ou bien créez un jeu utilisant une combinaison des deux.

C#

C# (prononcé « C sharp ») est un langage moderne et innovant qui est simple, puissant, de type sécurisé et orienté objet. C# permet un développement rapide tout en conservant la familiarité et l’expressivité des langages de style C. Même s’il est facile à utiliser, C# possède de nombreuses fonctionnalités de langage avancées, telles que le polymorphisme, les délégués, les expressions lambda, les fermetures, la méthode Iterator, la covariance et les expressions LINQ (Language-Integrated Query). C# est un excellent choix si vous ciblez XAML et que vous souhaitez obtenir un démarrage rapide pour développer votre jeu ou avoir une expérience C# précédente. C# est utilisé essentiellement avec XAML. Si vous souhaitez utiliser DirectX, choisissez plutôt C++ ou écrivez une partie de votre jeu en tant que composant C++ qui interagit avec DirectX. Pensez également à Win2D : une bibliothèque de graphismes Direct2D en mode immédiat pour C# et C++.

Guide et référence de programmation C# Informations de référence sur le langage C#

Combinaison des langages à l’aide des composants Windows Runtime

Grâce à la plateforme UWP, vous pouvez combiner facilement des composants écrits dans différents langages. Créez des composants Windows Runtime en C++, C# ou Visual Basic, puis appelez-les à partir de JavaScript, C#, C++ ou Visual Basic. C’est une excellente manière de programmer des parties de votre jeu dans la langue de votre choix. Les composants vous permettent également d’utiliser les bibliothèques externes qui ne sont disponibles que dans un langage particulier ainsi que le code hérité que vous avez déjà écrit.

Création de composants Windows Runtime Composants Windows Runtime avec C++/WinRT

Quelle version de DirectX dois-je utiliser ?

Si vous choisissez DirectX pour votre jeu, vous devez alors décider quelle version utiliser : Microsoft Direct3D 12 ou Microsoft Direct3D 11.

DirectX 12 est plus rapide et plus efficace que toutes les versions précédentes. Direct3D 12 permet la création de scénarios plus riches, d’avoir plus d’objets, d’effets plus complexes et permet une utilisation complète du matériel GPU moderne sur les PC Windows et Xbox One. Étant donné que Direct3D 12 fonctionne à un niveau très faible, il donne aux équipes de développement de graphiques expertes, ou aux équipes de développement de DirectX 11 expérimentées, les moyens de maximiser l’optimisation des graphiques.

Direct3D 11.3 est une API graphique de bas niveau qui utilise le modèle de programmation Direct3D familier et gère davantage la complexité impliquée dans le rendu GPU. Elle est également prise en charge dans Windows et Xbox One. Si vous avez un moteur existant écrit dans Direct3D 11 et que vous n’êtes pas tout à fait prêt à passer à Direct3D 12, vous pouvez utiliser Direct3D 11 sur 12 pour obtenir des améliorations des performances. Les versions 11.3+ contiennent les nouvelles fonctionnalités de rendu et d’optimisation activées également dans Direct3D 12.

Choisir Direct3D 12 ou Direct3D 11 Qu’est-ce que Direct3D 12 ?
Vue d’ensemble de Direct3D 11 Graphismes Direct3D 11
Vue d’ensemble de Direct3D 11 sur 12 Direct3D 11 sur 12

Ponts, moteurs de jeu et intergiciels

Selon les besoins de votre jeu, l’utilisation de ponts, de moteurs de jeu ou d’intergiciels peut économiser du temps et des ressources de développement et de test. Voici une vue d’ensemble et des ressources pour les ponts, les moteurs de jeu et les intergiciels.

Azure PlayFab

Azure PlayFab, qui fait désormais partie de la famille Microsoft, est une plateforme principale complète pour les jeux en direct et offre aux studios indépendants un moyen puissant pour se lancer. Boostez les revenus, l’engagement et la fidélisation, tout en réduisant les coûts, grâce aux services de jeux, aux analytiques en temps réel et à LiveOps.

PlayFab Vue d’ensemble des outils et services
Bien démarrer Qu’est-ce que PlayFab ?
Série de tutoriels vidéo Série de vidéos de démonstration sur les systèmes principaux de PlayFab
Recettes Recettes
Dépôt GitHub Obtenez des scripts et des kits SDK pour différentes plateformes, notamment Android, iOS, Windows, Unity et Unreal.
Documentation de l’API Vue d’ensemble de l’API REST
Forums Forums PlayFab

Unity

Unity offre une plateforme pour créer des jeux et applications 2D, 3D, VR et AR magnifiques et attrayants. Il vous permet de matérialiser rapidement votre vision créative et de fournir votre contenu à pratiquement n’importe quel média ou appareil.

Depuis Unity 5.4, Unity prend en charge le développement Direct3D 12.

Moteur de jeu Unity Unity - Moteur de jeu
Obtenir Unity Obtenir Unity
Documentation Unity pour Windows Manuel Unity / Windows
Ajouter LiveOps à l’aide de PlayFab Démarrage rapide : bibliothèque client PlayFab pour C# dans Unity
Comment ajouter une interactivité à votre jeu à l’aide de Mixer Interactive Guide de mise en route
Kit de développement logiciel (SDK) Mixer pour Unity Plug-in Mixer Unity
Documentation de référence sur le Kit de développement logiciel (SDK) Mixer pour Unity Informations de référence sur l’API pour le plug-in Mixer Unity
Résolution des références d’assembly manquantes liées aux API .NET API .NET manquantes dans Unity et UWP
Publier votre jeu Unity en tant qu’application de plateforme Windows universelle (vidéo) Comment publier votre jeu Unity en tant qu’application UWP
Utiliser Unity pour créer des jeux et applications Windows (vidéo) Création des jeux et des applications Windows avec Unity
Développement de jeux Unity à l’aide de Visual Studio (série de vidéos) Utilisation d’Unity avec Visual Studio 2015

Havok

Avec la suite modulaire d’outils et de technologies de Havok, les créateurs de jeux peuvent atteindre de nouveaux niveaux d’interactivité et d’immersion. Havok permet une physique très réaliste, des simulations interactives et des cinématiques spectaculaires. La version 2015.1 ou ultérieure prend officiellement en charge UWP dans Visual Studio 2015 sur x86, 64 bits et Arm.

Site web Havok Havok

MonoGame

MonoGame est un framework de développement de jeux multiplateforme open source basé à l’origine sur le XNA Framework 4.0 de Microsoft. Monogame prend actuellement en charge Windows et Xbox, ainsi que Linux, macOS, iOS, Android et plusieurs autres plateformes.

MonoGame Visitez le site web
Documentation MonoGame Consultez la documentation
Versions de MonoGame Obtenir la version la plus récente via NuGet

Cocos2d

Cocos2d-x est une suite d’outils et de moteurs de jeu open source multiplateforme qui prend en charge la création de jeux UWP. À compter de la version 3, les fonctionnalités 3D sont également ajoutées.

Cocos2d-x Qu’est-ce que Cocos2d-x ?
Guide du programmeur Cocos2d-x Guide des programmateurs Cocos2d-x
Cocos2d-x sur Windows 10 (publication de blog) Exécution de Cocos2d-x sur Windows 10
Ajouter LiveOps à l’aide de PlayFab Démarrage rapide Cocos2D-x

Unreal Engine

Unreal Engine est une suite complète d’outils de développement de jeux pour tous les types de jeu et de développeurs. Unreal Engine est utilisé par les développeurs du monde entier pour les jeux les plus exigeants sur console et sur PC.

Vue d’ensemble d’Unreal Engine Unreal Engine

BabylonJS

BabylonJS est une infrastructure JavaScript complète destinée à créer des jeux en 3D avec HTML5, WebGL, WebVR et Web Audio.

BabylonJS BabylonJS
Création d’un jeu WebGL multiplateforme avec BabylonJS Utiliser BabylonJS pour développer un jeu multiplateforme

Portage de votre jeu

Si vous avez un jeu existant, il existe de nombreuses ressources et guides disponibles pour vous aider à apporter rapidement votre jeu à UWP.

Portage d’une application Windows 8 vers une application de plateforme Windows universelle Passer de Windows Runtime 8.x à UWP
Portage d’une application Windows 8 vers une application de plateforme Windows universelle (vidéo) Portage d’applications 8.1 sur Windows 10
Portage d’une application iOS vers une application de plateforme Windows universelle Passer d’iOS à UWP
Portage d’une application Silverlight vers une application de plateforme Windows universelle Passer de Silverlight pour Windows Phone à UWP
Portage de XAML ou Silverlight vers une application de plateforme Windows universelle (vidéo) Portage d’une application à partir de XAML ou Silverlight vers Windows 10
Portage d’un jeu Xbox vers une application de plateforme Windows universelle UWP sur Xbox One
Portage de DirectX 9 vers DirectX 11 Port de DirectX 9 vers la plateforme Windows universelle (UWP)
Portage de Direct3D 11 sur Direct3D 12 Portage de Direct3D 11 sur Direct3D 12
Portage d’OpenGL ES vers Direct3D 11 Portage d’OpenGL ES 2.0 vers Direct3D 11
OpenGL ES vers Direct3D 11 à l’aide d’ANGLE ANGLE
Équivalents de l’API Windows classique dans UWP Alternatives aux API Windows dans les applications de plateforme Windows universelle (UWP)

Prototype et conception

Maintenant que vous avez choisi le type de jeu à créer et les outils et la technologie graphique que vous allez utiliser pour ce faire, vous pouvez passer à sa conception et à la création de son prototype. À la base, votre jeu est une application de plateforme Windows universelle. C’est donc là que vous commencerez.

Introduction à la plateforme Windows universelle (UWP)

Windows 10 est le berceau de la plateforme Windows universelle (UWP), qui fournit une plateforme des API courantes des appareils Windows. UWP évolue et développe le modèle Windows Runtime (WinRT) pour le perfectionner et le transformer en noyau cohérent et unifié. Les jeux qui ciblent UWP peuvent appeler des API WinRT communes à tous les appareils. Comme la plateforme UWP fournit des couches API système garanties, vous pouvez choisir de créer un package d’application unique qui s’installera sur les appareils Windows 10. De plus, si vous le souhaitez, votre jeu peut toujours appeler des API (y compris certaines API Windows classiques de Win32 et .NET) spécifiques aux appareils sur lesquels votre jeu s’exécute.

Voici d’excellents guides qui décrivent en détail les applications de plateforme Windows universelle et qui sont recommandés pour vous aider à comprendre la plateforme.

Présentation des applications de plateforme Windows universelle Qu’est-ce qu’une application de plateforme Windows universelle ?

Prise en main du développement UWP

Il est facile et rapide de se préparer à développement une application de plateforme Windows universelle. Les guides suivants vous guident tout au long du processus pas à pas.

Prise en main du développement UWP Prise en main des applications Windows
Mise en place pour le développement UWP Se préparer

Si vous ne connaissez pas du tout la programmation UWP et que vous envisagez d’utiliser XAML dans votre jeu (voir Choix de la technologie graphique et du langage de programmation), la série de vidéos Développement sur Windows 10 pour les néophytes est idéale pour commencer.

Annonce de la série Windows 10 pour les néophytes avec XAML (publication de blog) Développement Windows 10 pour les néophytes

Concepts de développement UWP

Vue d’ensemble du développement d’applications de plateforme Windows universelle Développer des applications Windows
Vue d’ensemble de la programmation réseau dans UWP Mise en réseau et services web
Utilisation de Windows.Web.HTTP et Windows.Networking.Sockets dans les jeux Mise en réseau pour les jeux
Concepts de programmation asynchrones dans UWP Programmation asynchrone

API Windows Desktop et UWP

Voici des liens pour vous aider à interagir entre le bureau et le code UWP.

Utiliser le code C++ existant pour le développement de jeux UWP Guide pratique pour utiliser du code C++ existant dans une application UWP
API Windows Runtime pour les API Win32 et COM API Win32 et COM pour les applications UWP
Fonctions CRT non prises en charge dans UWP Fonctions CRT non prises en charge dans les applications de la plateforme Windows universelle
Alternatives pour les API Windows Alternatives aux API Windows dans les applications de plateforme Windows universelle (UWP)

Gestion de la durée de vie des processus

La gestion de la durée de vie des processus ou la durée de vie des applications décrit les différents états d’activation qu’une application de plateforme Windows universelle peut passer. Votre jeu peut être activé, suspendu, repris ou terminé, et peut passer par ces états de différentes manières.

Gestion des transitions du cycle de vie de l’application Cycle de vie de l’application
Utilisation de Microsoft Visual Studio pour déclencher des transitions d’application Comment déclencher des événements de suspension, de reprise et en arrière-plan pour des applications UWP dans Visual Studio

Conception de l’expérience utilisateur du jeu

La genèse d’un grand jeu est une conception inspirée.

Les jeux partagent certains éléments d’interface utilisateur et des principes de conception communs avec les applications, mais ils ont souvent une apparence et un objectif de conception uniques pour leur expérience utilisateur. Les jeux ont du succès lorsque la conception réfléchie est appliquée aux deux aspects : quand votre jeu doit-il utiliser l’expérience utilisateur testée, et quand doit-il différer et innover ? La technologie de présentation que vous choisissez pour votre jeu (DirectX, XAML, HTML5 ou une combinaison des trois) influence les détails de l’implémentation, mais les principes de conception que vous appliquez sont largement indépendants de ce choix.

Indépendamment de la conception de l’expérience utilisateur, la conception de jeu, comme la conception de niveau, le rythme, la conception du monde et d’autres aspects est une forme d’art propre, celle qui vous appartient et appartient à votre équipe, et qui n’est pas couverte dans ce guide de développement.

Principes de base et instructions de conception UWP Conception d’applications UWP
Conception pour les états de cycle de vie des applications Instructions d’expérience utilisateur pour le lancement, la suspension et la reprise
Concevoir votre application UWP pour Xbox One et écrans de télévision Conception pour Xbox et TV

Guide de couleur et palette

La suite d’un guide de couleur cohérent dans votre jeu améliore l’esthétique, facilite la navigation et est un outil puissant pour informer le joueur des fonctionnalités de menu et HUD. L’application de couleurs cohérentes aux éléments du jeu comme les avertissements, dégâts, EXP et succès peut permettre d’obtenir une interface utilisateur plus claire et de réduire l’emploi de libellés explicites.

Guide de couleur Couleur dans Windows 11

Typographie

L’utilisation appropriée de la typographie améliore de nombreux aspects de votre jeu, notamment la disposition de l’interface utilisateur, la navigation, la lisibilité, l’atmosphère, la marque et l’immersion des joueurs.

Guide typographique Meilleures pratiques : typographie

Carte d’interface utilisateur

Une carte d’interface utilisateur est une disposition de la navigation du jeu et des menus exprimés sous la forme d’un organigramme. La carte d’interface utilisateur permet à toutes les parties concernées de comprendre l’interface et les chemins de navigation du jeu, et peut mettre en évidence les obstacles potentiels et les possibles impasses dès la phase de développement.

Guide de carte d’interface utilisateur Meilleures pratiques : carte d’interface utilisateur

Audio de jeu

Voici des guides et des références pour l’implémentation de l’audio dans des jeux à l’aide de XAudio2, XAPO et Windows Sonic. XAudio2 est une API audio de bas niveau qui fournit un traitement de signal et une base de mixage pour développer des moteurs audio de haute performance. L’API XAPO permet de créer des objets de traitement audio multiplateforme (XAPO) à utiliser dans XAudio2 sur Windows et Xbox. La prise en charge audio de Windows Sonic vous permet d’ajouter Dolby Atmos pour Home Theater, Dolby Atmos pour casques et permet la prise en charge de Windows HRTF à votre application multimédia de diffusion en continu ou de jeu.

API XAudio2 Guide de programmation et informations de référence sur l’API pour XAudio2
Créer des objets de traitement audio multiplateforme Vue d’ensemble de XAPO
Présentation des concepts audio Audio pour les jeux
Vue d’ensemble de Windows Sonic Son spatial
Exemples sonores spatiaux Windows Sonic Exemples audio du groupe de technologies avancées Xbox

Direct3D 12

Découvrez les nouveautés et les différences dans Direct3D 12 (par rapport à Direct3D 11) et comment commencer à programmer avec Direct3D 12.

Guide de programmation et référence direct3D 12 Graphismes Direct3D 12
Configurer l’environnement de programmation Configuration de l’environnement de programmation Direct3D 12
Guide pratique pour créer un composant de base Création d’un composant Direct3D 12 de base
Modifications apportées à Direct3D 12 Modifications importantes de la migration de Direct3D 11 vers Direct3D 12
Comment porter depuis Direct3D 11 vers Direct3D 12 Portage de Direct3D 11 sur Direct3D 12
Concepts de liaison de ressources (couvrant le descripteur, la table descripteur, le tas de descripteur et la signature racine) Liaison de ressources dans Direct3D 12
Gestion de la mémoire Gestion de la mémoire dans Direct3D 12

Développement DirectX

Guides et références pour le développement de jeux DirectX.

DirectX pour le développement UWP Programmation DirectX
Tutoriel : comment créer un jeu UWP DirectX Créez un jeu UWP simple avec DirectX
Interaction DirectX avec le modèle d’application UWP Objet d’application et DirectX
Vue d’ensemble et référence de DirectX Graphiques et jeux DirectX
Principes fondamentaux de DirectX 12 (vidéo) Plus puissant, plus performant : votre jeu sous DirectX 12

Kit d’outils et bibliothèques DirectX

Le Kit d’outils DirectX, la bibliothèque de traitement de textures DirectX, la bibliothèque de traitement géométrique DirectXMesh, la bibliothèque UVAtlas et la bibliothèque DirectXMath fournissent une texture, un maillage, un sprite et d’autres fonctionnalités utilitaires et classes d’assistance pour le développement DirectX. Ces bibliothèques peuvent vous faire gagner du temps et de l’énergie lors du développement.

Obtenir le Kit d’outils DirectX pour DirectX 12 DirectXTK 12
Obtenir le Kit d’outils DirectX pour DirectX 11 DirectXTK
Obtenir la bibliothèque de traitement de texture DirectX DirectXTex
Obtenir la bibliothèque de traitement géométrique DirectXMesh DirectXMesh
Obtenir UVAtlas pour créer et empaqueter l’atlas de texture Isochart UVAtlas
Obtenir la bibliothèque DirectXMath DirectXMath
Prise en charge de Direct3D 12 dans DirectXTK (problème GitHub) Prise en charge de DirectX 12

Ressources DirectX de partenaires

Voici des documentations supplémentaires sur DirectX, créées par des partenaires externes.

Nvidia : meilleures pratiques de DX12 (publication de blog) Mise à jour des meilleurs pratiques de DX12 !
Intel : traitement parallèle avec DirectX 3D 12 Traitement parallèle avec DirectX 3D 12
Intel : implémentation d’une application explicite comportant plusieurs adaptateurs à l’aide de DirectX 12 Prise en charge de plusieurs adaptateurs dans DirectX 12
Intel : livre blanc collaboratif, élaboré par Intel, Suzhou Snail et Microsoft Tutoriel : migration de vos applications vers DirectX 12 – Partie 1

Production

À ce stade, votre studio est totalement engagé dans le cycle de production, des tâches étant distribuées à tous les membres de votre équipe. Vous peaufinez, refactorisez et développez le prototype pour le faire devenir un jeu complet.

Notifications et vignettes actives

Une vignette est la représentation de votre jeu dans le menu Démarrer. Les vignettes et les notifications peuvent stimuler l’intérêt du joueur même lorsqu’ils ne jouent pas actuellement à votre jeu.

Développement de vignettes et de badges Mosaïques, badges et notifications
Exemple illustrant des vignettes dynamiques et des notifications Exemple de notifications
Modèles de vignette adaptative (publication de blog) Modèles de vignette adaptative : schéma et documentation
Conception de vignettes et de badges Recommandations en matière de vignettes et de badges
Application Windows 10 pour développer de manière interactive des modèles de vignettes dynamiques Notifications Visualizer
Extension générateur de vignettes UWP pour Visual Studio Outil de création de toutes les vignettes nécessaires à l’aide d’une seule image
Extension générateur de vignettes UWP pour Visual Studio (publication de blog) Conseils sur l’utilisation de l’outil Générateur de vignettes UWP

Activer les achats de produits dans l’application (extension)

Une extension (produit dans l’application) est un élément supplémentaire que les joueurs peuvent acheter dans le jeu. Les extensions peuvent être des niveaux de jeu, des éléments ou tout autre élément que vos joueurs peuvent apprécier. Si utilisées correctement, les extensions peuvent fournir des revenus tout en améliorant l’expérience de jeu. Vous pouvez définir et publier les extensions de votre jeu via l’Espace partenaires, ainsi qu’activer les achats dans l’application dans le code de votre jeu.

Extensions durables Activer les achats de produits dans l’application
Extensions consommables Activer les achats de produits consommables dans l’application
Détails et soumission des extensions Soumissions de modules complémentaires
Surveiller les ventes et les données démographiques des extensions pour votre jeu Rapport sur les acquisitions des extensions

Débogage, optimisation des performances et surveillance

Pour optimiser les performances, vous pouvez tirer parti du mode jeu dans Windows pour fournir à vos joueurs la meilleure expérience de jeu possible en utilisant pleinement la capacité de leur matériel actuel.

Le Windows Performance Toolkit (WPT) est un ensemble d’outils de surveillance des performances qui produisent des profils de performances approfondis des systèmes d’exploitation et des applications Windows. Il s’avère particulièrement précieux pour surveiller l’utilisation de la mémoire et améliorer les performances des jeux. Le Kit Windows Performance Toolkit est inclus dans le Kit de développement logiciel Windows et dans Windows ADK. Ce kit d’outils comprend deux outils indépendants : l’enregistreur de performance Windows et Windows Performance Analyzer. ProcDump, qui fait partie de Windows Sysinternals, est un utilitaire en ligne de commande qui surveille les pics du processeur et génère des fichiers dump pendant les incidents de jeu.

Test des performances de votre code Azure Test Plans
Obtenir le type de console Xbox à l’aide des informations sur l’appareil de jeu Informations sur l’appareil de jeu
Améliorer les performances en obtenant un accès exclusif ou prioritaire aux ressources matérielles à l’aide des API en mode jeu Mode jeu
Obtenir Windows Performance Toolkit (WPT) Windows Performance Toolkit
Obtenir Windows Performance Toolkit à partir de Windows ADK Kit de déploiement et d’évaluation Windows
Obtenir ProcDump ProcDump

Techniques et concepts DirectX avancés

Certaines parties du développement DirectX peuvent être nuancées et complexes. Lorsque vous accédez au point de production où vous devez explorer les détails de votre moteur DirectX ou déboguer des problèmes complexes de performances, les ressources et les informations de cette section peuvent vous aider.

Outil de paramétrage et de débogage des performances pour DirectX 12 sur Windows Présentation de PIX sur Windows
Guide de programmation Direct3D 12 Graphismes Direct3D 12
Combinaison de DirectX et XAML Interop DirectX et XAML

Développement de contenu de plage dynamique étendue (HDR)

Créez un contenu de jeu qui utilise les fonctionnalités de couleur complètes de HDR.

Découvrez comment afficher le contenu HDR et détecter si l’affichage actuel le prend en charge Exemple HDR Direct3D 12
Créer et configurer une couleur avancée à l’aide de DirectX Exemple de rendu d’image de couleur avancée Direct2D

Globalisation et localisation

Développez des jeux prêts pour le monde entier sur la plateforme Windows et découvrez les fonctionnalités internationales intégrées dans les principaux produits de Microsoft.

Préparation de votre jeu pour le marché mondial Globalisation et localisation

Envoi et publication de votre jeu

Les informations et guides suivants contribuent à rendre le processus de soumission et de publication le plus fluide possible.

Publication

Vous utiliserez l’Espace partenaires pour publier et gérer vos packages de jeux.

Publication d’applications de l’Espace partenaires Publier des applications Windows
Utiliser Azure Active Directory (AAD) pour ajouter des utilisateurs à votre compte Espace partenaires Créer des groupes de clients
Évaluer votre jeu (publication de blog) Disponible dès maintenant : système d’évaluation d’âge unique pour simplifier les soumissions d’applications

Empaquetage et chargement

Diviser et regrouper le contenu pour activer l’installation de streaming Installation d’application UWP par diffusion en continu
Créer des packages facultatifs comme les contenus DLC du jeu Création de packages facultatifs et d’ensembles associés
Empaqueter votre jeu UWP Empaquetage d’applications
Empaqueter votre jeu UWP DirectX Empaqueter votre jeu UWP DirectX
Empaquetage de votre jeu en tant que développeur tiers (publication de blog) Créer des packages téléchargeables sans accès au compte de magasin de l’éditeur
Création de packages d’application et d’ensembles de packages d’application à l’aide de MakeAppx Créer des packages à l’aide de l’outil de package d’application MakeAppx.exe
Signature numérique de vos fichiers à l’aide de SignTool Signer des fichiers et vérifier les signatures dans les fichiers à l’aide de SignTool
Chargement et contrôle de version de votre jeu Chargement de packages d’applications

Stratégies et certification

Ne laissez pas les problèmes de certification retarder la publication de votre jeu. Voici les stratégies et les problèmes de certification courants à prendre en compte.

Contrat développeur d’applications de Microsoft Store Contrat du développeur d’application
Stratégies de publication d’applications dans Microsoft Store Politiques du Microsoft Store
Comment éviter certains problèmes courants de certification des applications Éviter les échecs de certification courants

Manifeste de magasin (StoreManifest.xml)

Le manifeste de magasin (StoreManifest.xml) est un fichier de configuration facultatif que vous pouvez inclure dans votre package d’application. Il fournit des fonctionnalités supplémentaires qui ne font pas partie du fichier AppxManifest.xml. Par exemple, vous pouvez utiliser le manifeste de magasin pour bloquer l’installation de votre jeu si un appareil cible ne possède pas le niveau de fonctionnalité DirectX minimal spécifié ou la mémoire système minimale spécifiée.

Schéma du manifeste de magasin Schéma StoreManifest (Windows 10)

Gestion de cycle de vie Azure

Après que vous avez terminé le développement et la publication de votre jeu, ce n’est pas Game Over. Si vous en avez fini avec le développement de la première version, l’aventure de votre jeu dans le marketplace vient à peine de commencer. Il est important de surveiller l’utilisation et la création de rapports d’erreurs, répondre aux commentaires des utilisateurs et publier des mises à jour dans votre jeu.

Analytics et promotion de l’Espace partenaires

analytique de l’Espace partenaires Analyser les performances des applications
Découvrez comment vos clients interagissent avec les fonctionnalités Xbox de votre jeu Rapport d’analyse Xbox
Réponse aux avis des clients Répondre aux avis des clients
Stratégies pour promouvoir votre jeu Attirer des clients et promouvoir vos applications

Visual Studio Application Insights

Visual Studio Application Insights fournit des analyses de performances, de données de télémétrie et d’utilisation pour votre jeu publié. Application Insights vous permet de détecter et de résoudre les problèmes après la publication de votre jeu, de surveiller et d’améliorer en continu son utilisation et de comprendre comment les joueurs continuent d’interagir avec votre jeu. Application Insights fonctionne par l’ajout d’un kit de développement logiciel (SDK) à votre application, qui envoie la télémétrie au portail Azure.

Analyse des performances et de l’utilisation des applications Vue d’ensemble d’Application Insights
Azure Monitor Vue d’ensemble d’Azure Monitor

Solutions de tiers pour l’analyse et la promotion

Comprendre le comportement des joueurs à l’aide de GameAnalytics GameAnalytics
Connecter votre jeu UWP à Google Analytics Obtenir le Kit de développement logiciel (SDK) Windows pour Google Analytics
Utiliser Facebook App Installs Ads pour promouvoir votre jeu aux utilisateurs Facebook Obtenir le Kit de développement logiciel (SDK) Windows pour Facebook
Utiliser Vungle pour ajouter des publicités vidéo dans vos jeux Télécharger le kit de développement logiciel (SDK) Vungle pour Windows

Création et gestion des mises à jour de contenu

Pour mettre à jour votre jeu publié, vous devez soumettre un nouveau package d’application avec un numéro de version supérieur. Une fois que le package a fait son chemin par le biais de la soumission et de la certification, il sera automatiquement disponible pour les clients sous forme de mise à jour.

Mise à jour et gestion de version de votre jeu Numérotation des versions de packages
Conseils de gestion des packages du jeu Conseils de gestion des packages de l’application

Ajouter Xbox Live à votre jeu

Xbox Live est un réseau de jeux Premier qui connecte des millions de joueurs dans le monde entier. Les développeurs ont accès aux fonctionnalités Xbox Live qui peuvent augmenter de manière organique le public de leur jeu, notamment la présence Xbox Live, les classements, les sauvegardes cloud, les hubs de jeux, les clubs, les conversations en groupe, le DVR de jeu, etc.

Remarque

Si vous souhaitez développer des titres avec Xbox Live, plusieurs options sont disponibles. Pour plus d’informations sur les différents programmes, consultez Choisir un programme de développeur Xbox Live.

Vue d’ensemble de Xbox Live Documentation Xbox Live

Pour les développeurs dans le programme Xbox Live Creators

Vue d’ensemble Rejoindre le programme Creators

Pour les partenaires gérés et les développeurs dans le programme ID@Xbox

Vue d’ensemble Prise en main de Xbox Live, pour les partenaires gérés
Exemples Exemples de développement de jeux Xbox

Ressources supplémentaires

Vidéos de conférences majeures telles que GDC et //build Vidéos de développement de jeux