Guide de développement de jeux Windows
Bienvenue dans le guide de développement de jeux Windows !
Remarque
Avant d’investir du temps dans le développement d’un jeu basé sur l’infrastructure UWP, notez que UWP n’est plus en cours de développement actif. En outre, les jeux basés sur UWP ne sont plus acceptés dans le Xbox Store.
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)
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 sur Windows, le guide de prise en main peut être l’endroit où vous souhaitez commencer. 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. 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 |
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
Pour publier un jeu dans Microsoft Store, vous devez également créer un compte de développeur dans Espace partenaires .
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 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 |
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 |
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. Vous pouvez aussi considérer Win2D : une bibliothèque graphique 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 |
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 |
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)
Le plateforme Windows universelle (UWP) fournit une plateforme d’API commune sur les appareils Windows. 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 |
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 |
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 |
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 |
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 |