GMS2 Xbox Development
Since March, I have been building a platformer game called Ninja Caves for my son using GameMaker Studio 2. I have documented my progress across a series of articles.
- 30 Days of Code
- 30 Days of Code - Update
- 30 Days of Code - MVP
- Ninja Caves
- Ninja Caves - Update One
- Ninja Caves - Release
- Ninja Caves - Update Two
The game is currently available for Windows, macOS, and iPadOS. However, following the recent GameMaker Studio 2 license changes, I had the opportunity to export the game for the Universal Windows Platform (UWP).
The Universal Windows Platform targets a common API on all devices that run Windows 10 and can be distributed via a unified app store, covering PC, Xbox, HoloLens, Surface Hub, etc. Therefore, in theory, I should be able to export my game as a Universal Windows Platform app and have it run natively on an Xbox.
To get started, the following four prerequisites must be met:
- GameMaker Studio 2 running on Windows 10 (Free)
- GameMaker Studio 2 Indie License (£7.19)
- Visual Studio Community Edition (Free)
- Xbox Creators Program License (£14.40)
The GameMaker Studio 2 Indie License grants access to export to the Universal Windows Platform. The license is paid monthly but is only required at the point of export (development is free).
The Xbox Creators Program allows developers to self-publish games for Xbox (including Xbox Series S and Xbox Series X) via a simplified certification process. This is a great path for independent developers, learning, education, etc.
The program also supports the use of a consumer Xbox to be used for development via the “Xbox Developer Mode”, removing the need to acquire a dedicated Xbox development kit.
Once the prerequisites have been met, GameMaker Studio 2 can be configured to compile the game source code as a Universal Windows Platform app.
This process requires Visual Studio (not Visual Studio Code), with the “Universal Windows Platform Development” workload and the “v142 tools” component to be installed.
The linked guide provides an excellent overview of the setup process but does not include the locations for Visual Studio Community 2019.
If you are using Visual Studio Community 2019 on Windows 10, open GameMaker Studio 2 and select “File > Preferences > Platform Settings > Windows UWP”. Set the following locations:
-
Visual Studio Location: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd.bat
-
Win UWP Tools Location: C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x86
NOTE: These locations might be different depending on your version of Windows and Visual Studio.
With these locations configured, the rest of the guide should work without issue, covering the enablement of “Windows 10 Developer Mode”, as well as the setup and registration of the “Device Portal for Desktop”.
You should now be able to run/export your game from GameMaker Studio 2 as a Universal Windows Platform app.
If you want to test on Xbox hardware, you will need to acquire a consumer console and enable “Developer Mode”. This is a simple process, which does not void your warranty and can be switched on-demand (between developer and retail).
With developer mode enabled, any compatible Universal Windows Platform app can be transferred to the console and executed. This can be achieved via a network transfer using the Developer Portal.
The photo below highlights Ninja Caves running as a Universal Windows Platform app on an Xbox One Digital Edition. I have “Picture-in-Picture” mode enabled on my monitor, therefore the left side is showing my Windows 10 development environment, with the right side showing ninja Caves running on the Xbox One.
Ninja Caves runs well on the Xbox One, although I did notice a few minor input bugs and sub-optimal performance. Recognising that I did not optimise the code for this platform, I am impressed with the results of the default export.
As I continue the development of Ninja Caves, I may look to release the game on the Windows Store as a Universal Windows Platform app.