Passer au contenu principal
Utilisez cette rubrique si vous préparez votre jeu pour une publication sur le Microsoft Store sur PC et que votre jeu utilise un moteur C/C++ qui ne prend pas en charge le GDK de manière intégrée.

Création d’un produit dans Partner Center

Avant de pouvoir publier un jeu sur le Microsoft Store, vous devez créer votre produit compatible avec les services XBOX dans Partner Center. Pour plus d’informations sur Partner Center, consultez Configuration d’une application ou d’un jeu dans Partner Center, pour les partenaires gérés.

Intégration du GDK dans des jeux C/C++

Pour intégrer le GDK dans un jeu C/C++, le jeu a besoin de 4 éléments :
  1. Le ou les en-têtes du GDK et de l’API des services XBOX (XSAPI) qui décrivent les signatures d’API et les structures de données.
  2. Les bibliothèques d’importation qui indiquent à l’éditeur de liens comment résoudre les références externes aux fonctions exportées du GDK.
  3. Les bibliothèques statiques XSAPI ou les bibliothèques d’importation qui indiquent à l’éditeur de liens comment résoudre les références externes aux fonctions exportées de la DLL XSAPI.
    • XSAPI est disponible sous forme statique et dynamique. Reportez-vous au tableau ci-dessous pour plus d’informations et choisissez la forme statique ou dynamique.
  4. Les bibliothèques de liens dynamiques qui contiennent l’implémentation d’exécution réelle des fonctions du GDK et de XSAPI (si vous utilisez la version dynamique de XSAPI).
Pour que les jeux s’intègrent aux expériences essentielles de l’écosystème XBOX, ils doivent interagir avec deux composants : Gaming Runtime Services (GRTS) et XSAPI. Voici les fichiers nécessaires à un jeu non managé :
Pour les jeux qui utilisent une architecture basée sur des plug-ins avec des fonctionnalités réparties sur plusieurs DLL, nous recommandons et prenons en charge l’intégration de XSAPI au moyen de Thunks.dll. Cette approche fonctionne de manière fiable sur les plateformes PC et XBOX.Lorsque vous liez XSAPI de manière statique dans plusieurs DLL, chaque DLL conserve sa propre copie de l’état global. Par conséquent, l’appel de XblInitialize dans une DLL n’initialise pas XSAPI dans les autres. Le partage de handles XSAPI entre des DLL disposant d’instances statiques distinctes peut entraîner des plantages ou un comportement imprévisible.Thunks.dll résout ce problème en fournissant une instance partagée unique de XSAPI et de son état. Cela évite la duplication et garantit un comportement cohérent dans toutes les DLL.Bien qu’il soit techniquement possible de lier XSAPI de manière statique dans une DLL et d’exporter les symboles, cette approche est plus complexe et sujette aux erreurs. L’utilisation de Thunks.dll est plus simple, plus sûre et entièrement prise en charge.

Ajout des prérequis pour Gaming Runtime Services et XSAPI à votre projet

Les étapes suivantes décrivent les modifications à apporter à votre projet pour vous assurer qu’il dispose de tous les prérequis nécessaires à l’utilisation de Gaming Runtime Services et de XSAPI.
  1. Assurez-vous de cibler x64. Dans Visual Studio, accédez à Build->Configuration Manager et définissez Active solution platform sur x64.
  2. Ajoutez les chemins d’inclusion suivants : C:\Program Files (x86)\Microsoft GDK\[GDK version number]\GRDK\GameKit\Include C:\Program Files (x86)\Microsoft GDK\[GDK version number]\GRDK\ExtensionLibraries\Xbox.Services.API.C\Include C:\Program Files (x86)\Microsoft GDK\[GDK version number]\GRDK\ExtensionLibraries\Xbox.LibHttpClient\Include Où GDK version number est un répertoire nommé d’après l’année, le mois et le numéro de sous-version de la version. Par exemple, pour le GDK de juin 2022, le nom du répertoire est 220600. Pour Microsoft GDK (juin 2024) ou une version antérieure, utilisez C:\Program Files (x86)\Microsoft GDK\[GDK version number]\GRDK\ExtensionLibraries\Xbox.Services.API.C\DesignTime\CommonConfiguration\Neutral\Include et C:\Program Files (x86)\Microsoft GDK\[GDK version number]\GRDK\ExtensionLibraries\Xbox.LibHttpClient\DesignTime\CommonConfiguration\Neutral\Include Dans Visual Studio, vous ajoutez ces chemins dans la page des propriétés du projet sous Configuration Properties->VC++ Directories->Include Directories.
  3. Ajoutez les chemins de bibliothèque suivants pour les bibliothèques d’importation : C:\Program Files (x86)\Microsoft GDK\[GDK version number]\GRDK\GameKit\Lib\amd64 C:\Program Files (x86)\Microsoft GDK\[GDK version number]\GRDK\ExtensionLibraries\Xbox.Services.API.C\Lib\x64\Release C:\Program Files (x86)\Microsoft GDK\[GDK version number]\GRDK\ExtensionLibraries\Xbox.LibHttpClient\Lib\x64 Où GDK version number est un répertoire nommé d’après l’année, le mois et le numéro de sous-version de la version. Par exemple, pour le GDK de juin 2022, le nom du répertoire est 220600. Pour Microsoft GDK (juin 2024) ou une version antérieure, utilisez C:\Program Files (x86)\Microsoft GDK\[GDK version number]\GRDK\ExtensionLibraries\Xbox.Services.API.C\DesignTime\CommonConfiguration\Neutral\Lib\Release et C:\Program Files (x86)\Microsoft GDK\[GDK version number]\GRDK\ExtensionLibraries\Xbox.LibHttpClient\DesignTime\CommonConfiguration\Neutral\Lib Dans Visual Studio, vous ajoutez ces chemins dans la page des propriétés du projet sous Configuration Properties->VC++ Directories->Library Directories.
  4. Ajoutez les bibliothèques suivantes à la liste des bibliothèques liées à votre projet : C:\Program Files (x86)\Microsoft GDK\[GDK version number]\GRDK\GameKit\Lib\amd64\xgameruntime.lib C:\Program Files (x86)\Microsoft GDK\[GDK version number]\GRDK\ExtensionLibraries\Xbox.Services.API.C\Lib\x64\Release\Microsoft.Xbox.Services.GDK.C.Thunks.lib (or Microsoft.Xbox.Services.142.GDK.C.lib, if statically linking) C:\Program Files (x86)\Microsoft GDK\[GDK version number]\GRDK\ExtensionLibraries\Xbox.LibHttpClient\Lib\x64\libHttpClient.GDK.lib Où GDK version number est un répertoire nommé d’après l’année, le mois et le numéro de sous-version de la version. Par exemple, pour le GDK de juin 2022, le nom du répertoire est 220600. Pour Microsoft GDK (juin 2024) ou une version antérieure, utilisez C:\Program Files (x86)\Microsoft GDK\[GDK version number]\GRDK\ExtensionLibraries\Xbox.Services.API.C\DesignTime\CommonConfiguration\Neutral\Lib\Release\Microsoft.Xbox.Services.GDK.C.Thunks.lib (ou Microsoft.Xbox.Services.142.GDK.C.lib, en cas de liaison statique) et C:\Program Files (x86)\Microsoft GDK\[GDK version number]\GRDK\ExtensionLibraries\Xbox.LibHttpClient\DesignTime\CommonConfiguration\Neutral\Lib\libHttpClient.GDK.lib Dans Visual Studio, vous ajoutez les bibliothèques dans la page des propriétés du projet sous Configuration Properties->Linker->Input->Additional Dependencies.
  5. Définissez _GAMING_DESKTOP et WINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP. Dans Visual Studio, vous ajoutez la ligne suivante dans la page des propriétés du projet sous C/C++->Command Line->Additional Options : /D "_GAMING_DESKTOP" /D "WINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP"
  6. Créez un fichier MicrosoftGame.config et assurez-vous qu’il est copié vers la même destination que le fichier .exe lors des builds. Remarque : si votre moteur prend en charge une fonctionnalité d’exécution dans l’éditeur qui utilise un autre fichier .exe lors de l’exécution, copiez également MicrosoftGame.config dans le même répertoire que ce fichier .exe. Si MicrosoftGame.config n’est pas présent dans le même répertoire que le fichier .exe, les services XBOX ne fonctionneront pas lorsque vous utiliserez votre fonctionnalité d’exécution dans l’éditeur. Pour commencer le développement, vous pouvez utiliser une configuration avec des valeurs par défaut comme dans l’exemple suivant. Les valeurs Identity Name, Executable Name et Executable Alias doivent toutes être remplacées par le nom de votre exécutable.
  7. Assurez-vous que des copies de Microsoft.Xbox.Services.GDK.C.Thunks.dll (en cas de liaison dynamique), XCurl.dll et libHttpClient.GDK.dll sont copiées vers la même destination que le fichier .exe lors des builds. Remarque : si votre moteur prend en charge une fonctionnalité d’exécution dans l’éditeur qui utilise un autre fichier .exe lors de l’exécution, assurez-vous que ce fichier .exe référence également ces DLL. Si les DLL ne sont pas référencées par le fichier .exe, les services XBOX ne fonctionneront pas lorsque vous utiliserez votre fonctionnalité d’exécution dans l’éditeur. En cas de liaison dynamique à XSAPI, Microsoft.Xbox.Services.GDK.C.Thunks.dll se trouve dans le répertoire suivant de l’installation du GDK : C:\Program Files (x86)\Microsoft GDK\[GDK version number]\GRDK\ExtensionLibraries\Xbox.Services.API.C\Lib\x64\[Debug|Release] XCurl.dll se trouve dans le répertoire suivant de l’installation du GDK : C:\Program Files (x86)\Microsoft GDK\[GDK version number]\GRDK\ExtensionLibraries\Xbox.XCurl.API\Redist\x64 libHttpClient.GDK.dll se trouve dans le répertoire suivant de l’installation du GDK : C:\Program Files (x86)\Microsoft GDK\[GDK version number]\GRDK\ExtensionLibraries\Xbox.LibHttpClient\Redist\x64 Où GDK version number est un répertoire nommé d’après l’année, le mois et le numéro de sous-version de la version. Par exemple, pour le GDK de juin 2022, le nom du répertoire est 220600. Pour Microsoft GDK (juin 2024) ou une version antérieure, utilisez C:\Program Files (x86)\Microsoft GDK\[GDK version number]\GRDK\ExtensionLibraries\Xbox.Services.API.C\DesignTime\CommonConfiguration\Neutral\Lib\[Debug|Release], C:\Program Files (x86)\Microsoft GDK\[GDK version number]\GRDK\ExtensionLibraries\Xbox.XCurl.API\Redist\CommonConfiguration\neutral et C:\Program Files (x86)\Microsoft GDK\[GDK version number]\GRDK\ExtensionLibraries\Xbox.LibHttpClient\Redist\CommonConfiguration\neutral
Si vous intégrez le GDK dans un projet Visual Studio Desktop existant, vous pouvez également suivre les étapes de cette rubrique pour convertir votre projet en projet GDK : Ajout du Microsoft Game Development Kit à un projet de bureau existant.

Mettre à jour MicrosoftGame.config

Le fichier MicrosoftGame.config créé à l’étape précédente contient des valeurs par défaut qui permettent de commencer le développement sur PC et XBOX sans configuration supplémentaire. Vous ne devez mettre à jour ces valeurs que lorsque vous commencez à utiliser des fonctionnalités du Gaming Runtime, du Microsoft Store et de l’identité du titre. Pour utiliser les fonctionnalités des services XBOX, mettez à jour le fichier MicrosoftGame.config de votre projet avec les détails d’identité de votre projet Partner Center.
  1. Accédez au tableau de bord Partner Center.
  2. Sélectionnez votre jeu dans la liste des produits.
  3. Sélectionnez l’onglet Game setup, puis sélectionnez Identity details.
  4. Sélectionnez Show Details pour développer la section Identity details.
  5. Utilisez les valeurs suivantes du tableau de la section Identity details, puis copiez ces valeurs depuis Partner Center dans l’élément et le champ correspondants de MicrosoftGame.config.
Par exemple, les détails d’identité suivants dans Partner Center donneraient un fichier MicrosoftGame.config semblable à l’exemple ci-dessous :
Consultez Vue d’ensemble de MicrosoftGame.config pour plus d’informations sur les valeurs de MicrosoftGame.config.

Initialiser le runtime de jeu et XSAPI

Les étapes suivantes montrent comment initialiser Gaming Runtime Services et XSAPI dans votre jeu.
  1. Incluez l’en-tête XGameRuntime et l’en-tête services-c de XSAPI.
  2. Appelez XGameRuntimeInitialize pour initialiser le runtime du GDK.
  3. Appelez XblInitialize pour initialiser XSAPI.

Désinitialisation du runtime de jeu

Gaming Runtime Services doit être désinitialisé avant que votre jeu ne se ferme. XSAPI n’a pas besoin d’être explicitement nettoyé avant la fermeture. Désinitialisez le runtime du GDK en appelant XGameRuntimeUninitialize.
Consultez Prise en main des API des services XBOX pour une vue d’ensemble détaillée de l’utilisation de XSAPI dans votre jeu.
Consultez Fonctionnalités du Game Development Kit (GDK) pour des vues d’ensemble de l’implémentation des fonctionnalités du GDK.

Test des services XBOX dans votre jeu

Pour tester les fonctionnalités des services XBOX dans votre jeu, comme les succès, vous devez utiliser une sandbox et des comptes de test ayant accès à cette sandbox.

Création d’un compte de test

Pour tester les fonctionnalités des services XBOX dans votre jeu, créez des comptes de test ayant accès à votre sandbox de développement. Pour plus d’informations sur la création de comptes de test, consultez Création de comptes de test.

Changement de sandbox

Après avoir créé un compte de test, utilisez ce compte pour accéder à votre sandbox en procédant comme suit.
  1. Pour trouver votre ID de sandbox, accédez à Partner Center.
  2. Sélectionnez XBOX services, puis sélectionnez Gameplay Settings.
    Votre ID de sandbox se trouve sur le premier onglet et se présente sous la forme « ABCDEF.0 ».
  3. Ouvrez le menu Démarrer.
  4. Entrez Microsoft GDK Command Prompts, puis appuyez sur Entrée sur votre clavier.
  5. Ouvrez la première invite de commandes.
  6. Dans l’invite de commandes, entrez XblPCSandbox.exe [your sandbox ID].
  7. Une fois que l’invite de commandes a lancé plusieurs applications, connectez-vous à l’application XBOX avec votre compte de test.
Si vous parvenez à vous connecter, vous avez créé un compte de test et basculé vers votre sandbox pour commencer les tests. Pour plus d’informations sur les sandbox, consultez Vue d’ensemble des sandbox des services XBOX.

Publication

Pour être prêt à publier votre jeu, vous devez : Une fois ces deux conditions remplies, vous êtes prêt à publier. Pour soumettre votre jeu, accédez à Partner Center et suivez les instructions de l’interface utilisateur.
Dernière modification le 6 octobre 2026