Microsoft’s Game Development Kit (GDK) is now available for free on GitHub, the company is stepping up efforts to attract more developers to the Xbox ecosystem.

A few days after Google launched its Android Game Development Kit (AGDK), it was Microsoft’s turn to release its game development kit for its Xobox ecosystem. The GDK is the same core development kit used by hundreds of game makers today and was previously only available to trusted partners who made games for the Xbox ecosystem. It contains the common tools, libraries and documentation needed by developers. Microsoft believes it represents the future of the Xbox ecosystem across all platforms (PC, cloud, mobile and console).

Microsoft publishes GDK and GDKX for free

“Games have always been one of the most technically complex forms of media created. These are only limited by the imagination of the creators and their ability to translate that vision into reality through technology. We want to empower any creator, anywhere on the planet, to create games for our ecosystem. To achieve this, we’ve made the Microsoft Game Development Kit (GDK) available on GitHub, for free! Microsoft wrote in a blog post on Tuesday. This should help developers learn how to make games for the Xbox app on Windows and Game Pass.

“Enabling creators of all shapes and sizes to create high quality games is at the heart of our team’s concerns. This involves providing tools that developers can use to build games for multiple platforms on multiple engines, including tools to build games, programs to help distribute the games, services to monetize and market the games. , and the power to maintain, develop and evolve games, ”added the company. In addition to the publication of the GDK, the Redmond firm also announced the availability of the GDKX.

According to Microsoft, the GDKX is an add-on SDK to the GDK that exposes the API extensions specific to the Xbox console. While many of these extensions are common to the Xbox One and Xbox Series X | S generations, some are console generation specific. Note that the GDK and GDKX do not support Xbox 360 development. Extensions are largely graphics, media, and storage specific. All integration points of the Xbox ecosystem, such as commerce, community, and multiplayer, are available in the GDK and do not require the GDKX.

The company believes that by using the GDK, creators will get a head start on the development of their games by building on a technical foundation that will also allow them to unlock features to integrate into the Xbox ecosystem like commerce. , achievements, multiplayer and more. However, access to the publication on the Xbox store ecosystem remains private, consistent with standard licensing practices in the industry. It’s also important to note that while the GDK is available for free on GitHub, Microsoft has not released it as open source, but rather in binary form.

Why such a choice ? “We will continue to take steps to make the development of Xbox games more open. This is just a first step in that direction with a binary version of the installer to modernize the way we distribute software and enable collaboration around the source that is available (Xbox Live, PlayFab, and Game Development Samples). ), ”The company explained.

What are the different use cases of GDK?

“Our mission is to democratize game development in order to generate a rich and diverse portfolio of content that the gaming audience will love, and to create opportunities for all communities to share their stories through games. Making the GDK available to the public is the first step on this journey. We invite you to try the GDK, view the documentation, and start making games today on GitHub, ”Microsoft said. According to the firm, game development on Microsoft platforms dates back more than 40 years.

This means that there have been, and still are, many options for making games for PC gamers. Thus, the GDK is an evolution of the Win32 legacy, to unify the application model between Xbox consoles, Windows PCs, and now Cloud Gaming to allow developers to reach even more players on more devices, with less effort. Microsoft Gaming Services are agnostic across many ecosystems, and the GDK shares the app model across millions of devices.

Microsoft xbox

What is the schedule for the public releases of GDK?

Microsoft said there are three major releases of the GDK per year, with a mix of new features and fixes (April, June, and October to align with game development cycles). Updates to the GDK can be released in parallel as needed, on separate branches, focusing on reliability, stability and fixes. Developers can take updates from another major version to reduce the attrition rate and the risk of changes affecting compatibility.

Where are the detailed public release notes posted?

According to Microsoft, a public version of the patch notes that does not contain confidential information about Xbox functionality is in development. A full version of the Release Notes containing public and confidential information is available as part of the GDKX version available for the public GDK after June 2021; it will be published on the GitHub repository (http://aka.ms/gdk).

What are the key elements missing in the GDK?

The key missing elements in the GDK that are required to create games for Xbox consoles are as follows:

the Xbox Dev Environment APIs and tools needed to target and build games that work on Xbox consoles, currently provided only in the GDKX installation package;
the Xbox graphics driver and associated DirectX 12 components (for example, Shader Compiler) needed to create binaries that work with the Xbox’s proprietary hardware and software interfaces;
the corresponding confidential documentation for the APIs and tools of the Xbox environment; although some topics can only be discovered by accessing the GDKX, most topics are available as public documents (around 60%) or can be discovered through the table of contents as a redirect to confidential documentation libraries (about 35%).

How do I create games for Xbox App and Xbox Game Pass?

you need to configure your development environment;
using Win32 + GDK is the main supported app model to create games for the Xbox console, Xbox Game Pass (for Xbox and PC), and Xbox Game Streaming;
the main feature is that only the Win32 + GDK combination fully supports all Microsoft Gameplay services (Xbox Live identity, multiplayer, chat, leaderboards, achievements, trading, etc.), and is required for Xbox Game Pass on console and PC ;
For developers making Win32 PC games today, Win32 + GDK leverages Win32 C / C ++ programming models to unify development on Xbox consoles and Windows 10 PCs with the GDK.

How do I run a GDK game built for the Xbox App?

Microsoft explains below how you can run a GDK game built for the Xbox App on Windows 10 or Xbox Game Pass for PC on Xbox consoles.

Xbox console development requires the “Microsoft Game Development Kit with Xbox Extensions (GDKX)”. Games will need to be retargeted and rebuilt for Xbox One or Xbox Series X | S with GDKX installed;
you need to download, install and retarget your project for Xbox consoles using GDKX;
GDKX is currently only available under confidential license as part of an Xbox NDA program;
the GDKX is simply a bundled installer of the GDK with Xbox extensions. Building a game with the GDK shares about 80% of the same interfaces, but does not include the APIs of the Xbox environment and the tools included in the Xbox extensions;
the main difference between games built with GDK and GDKX is the interaction with the Xbox graphics driver and the DirectX12 shader compiler;
For developers making Xbox One games today, Win32 + GDK is a direct replacement for the WinRT-based, XDK-based Exclusive Resource Application (ERA) application model introduced on the Xbox One. Xbox 360 developers similarly migrated to ERA in 2013.

Comparison between GDK and UWP (Universal Windows Platform)

UWP was introduced in 2015 for Windows 10 as a gateway between all devices in the Windows family (Windows Phone, Surface, Windows PC and Xbox One);
the main feature of this platform is open development and self-publishing to Windows Mixed Reality (MR) or Microsoft Store on Windows 10 PCs and Xbox; particularly well suited to interactive media applications;
for developers building Win32 games today, UWP requires a port to the WinRT programming model;
UWP apps and games are only supported by the community; partners of programs managed by Xbox (Xbox, Xbox Game Pass, Xbox Game Streaming) must use Microsoft Win32 + GDK.