Create a GDF file

9 out of 19 rated this helpful - Rate this topic

If you want to submit a game to the Windows Store, you must provide metadata that defines the ratings for your game as part of the game package. Here, we walk you through creating a simple resource DLL to contain the ratings XML data.

Important  The Windows Store displays only those ratings specified in the language resource instance identified as Neutral (NEU) in the GDF. Make sure all of your ratings are included in this instance.

Note  Familiarize yourself with the process of building DLLs and packaging them with your game in Microsoft Visual Studio Express 2012 for Windows 8 before you continue.

Creating a GDF file for your project

Here we assume you already have an existing game project in Visual Studio Express 2012 for Windows 8 that builds and is ready to submit to the Windows Store.

  1. Start the Game Definition File Maker tool by running GDFMAKER.EXE from the %ProgramFiles(x86)%\Windows Kits\8.0\bin\x86 directory. You will see this default screen when it starts.

    Main window of the Game Definition File Maker tool

  2. On the File menu, click New Project to create a new GDFMAKER project for your game.
  3. Type a project name and project location in the New Game Definition Project dialog box. (Choose a folder location that is different from your Visual Studio game project.) Note that the Windows Store does not require you to select any additional languages; it only uses the ratings in the Language Neutral data that is created for each game project by default.
  4. Now, specify the languages your game supports if you want to control how your game is displayed in the Family Safety user interface. For most games, providing only language-neutral data is acceptable, and you do not need to select any additional languages.

    Important  You must place any game ratings in the Language Neutral definition of your GDF file or your ratings will not be displayed in the Windows Store.

    New Game Definition Project dialog box in the Game Definition File Maker tool

  5. When the project is created, you will see a screen that looks like this one.

    Note  The Game ID value is a unique GUID generated for each project, and will not be the same as the one seen in the screenshot.

    The Game Definition File Maker tool with a newly created project

  6. Click the Language Neutral option on the left-hand side of the application window under Localization Information.

    Localization Information area in the Game Definition File Maker tool

  7. Verify that the Game Name and Description fields in the main screen of the Game Definition File Maker tool match the info you entered in your project’s Package.appxmanifest file.

    Description field in the Game Definition File Maker tool

  8. Clear the Use Windows Experience Index check box.
  9. Click the Play Tasks tab, and then click the Add button to add a Play Task.

    Play Tasks tab in the Game Definition File Maker tool

    In the Play Task dialog box, accept all defaults and type the name of your game in the Path field. (For Windows Store apps, Windows doesn't use the data entered in this dialog box, but for the Game Definition File Maker tool, you must specify at least one play task per game localization to save your GDF file.)

    Play Task dialog box in the Game Definition File Maker tool

  10. For each Rating system your game supports, click the Add button under Game Rating Information section to bring up the Add Rating dialog box.

    Game Rating Information area in the Game Definition File Maker tool

  11. In this dialog box, click the rating system, rating, and ratings descriptors as certified by that ratings agency. (For further information on game ratings, read Obtaining a game rating certificate.)

    Add Ratings dialog box in the Game Definition File Maker tool

  12. Select NEU {Language Neutral} under Localization Information, and then provide the localized Game Name and Description for that language. You must also provide a primary play task (under Play Tasks) and thumbnail image for each language.
  13. On the Resources menu, click Build Script for Project. This generates a directory for each language you support, as well as an .RC file and an .H file.

This process leaves many of the fields in the Game Definition File Maker tool blank. This is acceptable for a Windows Store app, because the Windows Parental Control system uses no fields other than Game Rating Information.

Creating a DLL project container for the GDF file

  1. Open your game solution in Visual Studio.
  2. Right-click your game solution in Solution Explorer and click New Project to add a new project to your game solution.
  3. In the Add New Project dialog box, choose the Windows Store category under Visual C++ in the Installed Templates section of the dialog.
  4. Choose the DLL (Windows Store) project type, enter a name and location for the project and click OK.
  5. The linker property /NOENTRY must be set. Right-click on the DLL solution file (.sln) in Solution Explorer, and then select Properties. In the the left pane of the (DLL) Properties Pages window, expand Configuration Properties, and then Linker. Click on the Advanced item in the left pane, and set the value for No Entry Point to "Yes (/NOENTRY)".
  6. Copy the .RC file and all subdirectories created by the Game Definition File Maker tool to a "res" subdirectory in the resource DLL project directory for the new project. Add the .RC file to the project
  7. Update the .RC file so it appears similar to the example below.

    Note  All instances of ID_GDF_XML should be changed to __GDF_XML.

    
    /////////////////////////////////////////////////////////////////////////////
    //  Resource File for : MyNewWin8Game
    //#include "MyNewWin8Game.h"
    
    // The following line is a workaround for a redefinition warning in sal.h
    // when using Visual Studio 2005 compilers and includes.  Comment out the
    // line if you would like to see the warning.
    #define _INC_CRTDEFS
    
    /////////////////////////////////////////////////////////////////////////////
    // This resource files requires the Platform SDK to be compiled.
    //#include <gameux.h>
    
    
    #define APSTUDIO_READONLY_SYMBOLS
    
    #include <winnt.rh>
    
    #undef APSTUDIO_READONLY_SYMBOLS
    
    /////////////////////////////////////////////////////////////////////////////
    // Neutral Resources
    #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_NEU)
    #ifdef _WIN32
    
    LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
    #pragma code_page(DEFAULT)
    #endif //_WIN32
    
    __GDF_XML           DATA     "NEU\\MyNewWin8Game.gdf.xml"
    
    #endif    // Neutral resources
    
    /////////////////////////////////////////////////////////////////////////////
    
    
    
  8. Switch to the Release configuration of the project, then Build and verify that your project builds with no errors or warnings.
  9. Copy the DLL just built to the source directory of your main game project.
  10. Add this DLL to your main game project in Visual Studio by right-clicking on the project and choosing the Add item under Existing Item.
  11. Edit the app manifest file for your project (typically named “package.appxmanifest”) to add a Game Explorer declaration. On the Declarations tab, click Game Explorer from the Available Declarations drop-down list, and then type the name of your ratings DLL.
  12. Build your project and verify that there are no errors or warnings.

You can verify that the game ratings are correct by deploying your game locally from Visual Studio.

  1. In the Family Safety control in Control Panel, select a local user account to use for test purposes. (You might need to create another local user account if you don’t have one that you can use for Family Safety.)
  2. On the User Settings page of Family Safety options, first turn Family Safety on, then select App restrictions.
  3. On the Game and Windows Store Restrictions options page, then select Allow or block specific games.
Your Windows Store app is now listed here, with the game rating and the ratings descriptors declared in your GDF file. In order to view ratings for a different system, you can choose a different game rating system under Game restrictions on the Family Safety website.

Manually adding the extension for your .GDF file to the manifest

Your app can register with Windows as a game. To do this, you must create a Game Definition File (GDF) following the process on this page, build it as a binary resource in your app, and declare that resource in the package manifest (see Step 11). If you’re not using Microsoft Visual Studio 2012, you must manually add the following to your package.appxmanifest file under the <Extensions> element:

<GameExplorer GameDefinitionContainer="MyNewWin8Game.gdf" />

For example, if your game is named MyNewWin8Game, the manifest XML for the extension looks like this:


<Extensions>
    <Extension Category="windows.gameExplorer">
      <GameExplorer GameDefinitionContainer="MyNewWin8Game.gdf" />
    </Extension>
</Extensions> 


Note that the GameDefinitionContainer attribute on the <GameExplorer> element must contain the relative path to the .GDF file created by GDFMaker.

Related topics

Windows game publishing requirements

 

 

Build date: 3/22/2013

Did you find this helpful?
(1500 characters remaining)
© 2013 Microsoft. All rights reserved.