Yesterday at the Build conference Microsoft announced that anyone can turn their Xbox One in to a dev kit for Universal Windows Program (UWP) development. This basically means you can take Windows 10 apps and run them on Xbox One! Luckily we added support for Windows 10 Universal apps back in August, so almost everything you need from C2 is already in place.
To get started, see Microsoft's guide on UWP on Xbox One. You'll need some extras like Visual Studio 2015 Update 2, the Windows 10 SDK preview build 14295 from the Windows Insider Program, and switching your Xbox One to the now-public developer mode. Microsoft's guide covers setting up all of that. However please do note this warning from Microsoft about putting your Xbox One in to developer mode:
Important When you activate Developer Mode on Xbox One, you are opting into Xbox system updates for a developer preview release that includes experimental and early pre-release software. This means that some popular games and apps will not work as expected, and you may experience occasional crashes and data loss. If you leave the developer preview, your console will factory reset and you will have to reinstall all of your games, apps, and content.
Follow the guide as far as setting up one of their blank/example apps and seeing it run on the Xbox One. Once you're all set up, you're ready to try running a C2 game!
Testing a Construct 2 game
All you need to do is export your game like a normal Windows 10 app: choose the Windows Store export option, and make sure the target version is Windows 10 Universal (VS2015). Open it with VS2015 as usual (remember you need Update 2).
Up by the green "run" button where it says "Local Machine", click the dropdown arrow and select "Remote Machine". The first time you do this you'll be prompted to enter a "remote machine name". Click 'Yes' to open the settings.
There are just two key changes to make here:
- For Machine Name, enter the IP address of the Xbox One, e.g. 10.20.30.40. The Xbox dev home section tells you this.
- Change Require Authentication to Universal (Unencrypted Protocol).
Press OK. That's it! Now you can press the "Remote Machine" run button, and it should start on the Xbox One!
From some brief testing, we've found most things work great. Xbox One, like Windows 10, uses Microsoft Edge to run UWP apps, and it's a solid browser with WebGL, Web Audio, Gamepad support and more. So the gamepad-based games we tried just worked right away!
The performance is good as well. UWP apps are limited in the resources they can use (currently ~500mb RAM, soon to be upgraded to 1 GB, and limits on CPU and GPU usage). However even these restricted specs are pretty high compared to a lot of systems out there, and is significantly better than many mobile systems out there that the C2 engine runs just fine on. On the Xbox One sbperftest scored a rock-solid 60 FPS, and renderperfgl could get a respectable 22,000 sprites on-screen at 30 FPS. So it's high-end enough that the throttling is probably not a significant impediment for Construct 2 games. And of course if the throttling is relaxed in future or with other publishing options, it's going to be even better!
I think the technical side is basically already sorted - Microsoft's vision of UWP apps running everywhere, even on the Xbox One, looks like it is working. The main concern now is how publishing works. It's not clear whether this UWP app support is actually intended for games publishing, whether game UWP apps will be accepted for the Xbox, or if you're meant to use some other publishing option.
The most likely route at this time is probably the ID@Xbox programme. This is Microsoft's existing official process for independent game developers to publish to the Xbox One. If your game runs well on the Xbox One and you want to go further, try applying to ID@Xbox and see what you can do. We're very keen to hear feedback from anyone who tries this, so please let us know your progress if you go for it! Questions over publishing are the only reason we're holding back from officially stating that Construct 2 can publish to the Xbox One, and obviously this would be an awesome thing to announce. If we hear from developers that this is indeed possible, we will do a lot more to publicise this.
Happy testing - and good luck with publishing!