This summer, Microsoft have something planned for the Xbox One – something big. You might recall the many rumors Microsoft have been planning on opening up the Xbox One’s infrastructure for Cross-Platform applications, but just when that would happen, or would it would mean for the Xbox One is something of a mystery. Way back in the mists of time (well, okay, mid 2013), but then people scratched their head when Microsoft all but seemed to abandon ship. But later on, Microsoft told everyone that was “inaccurate” and since then all we’v heard are rumors.
We’ll learn a lot more about this (supposedly) in April, at the Build Developer Conference, but from what we know, it’ll involve turning the Xbox One retail units into full developer kits. A month after this, Microsoft will publish an SDK (Source Development Kit) preview, which will allow developers to hi the switch and start development on retail machines.
Remember, one of the big features (as far as game and application developers) were concerned when the Microsoft announced the Xbox One is that all retail units can operate as a development machine. Traditionally, development kits and retail units are totally different beasts, and while the ‘basic’ hardware in a development kit is the same, there are often extra features (or even additional bits of hardware) which allows developers to more easily debug and program the systems. This isn’t the case for the Xbox One, if you walk into your local retailer and buy the machine off the shelf, it can act as a development machine. But it requires special permissions to do so.
While the Xbox One SDK has leaked on the internet, you can’t really ‘do’ anything with it other than read the documentation and have a look at the development environment. You can set everything up, write “hello world” in Visual Studio, but there’s no way to get it to run on the machine as Microsoft have specific account credentials you need to run as a developer. Microsoft are currently giving those out to everything, and thus AAA studios have them, along with some indie studios.
With Microsoft opening up development, questions immediately are raised on exactly what you will and won’t be able to run. In theory, this would allow a user to start porting emulators over to the Xbox One – essentially, the architecture is so close to a PC it’d not require that much work. This is particularly true of emulators for the SNES or Genesis (or, Mega Drive if you’re in say the UK, like me, myself and I). Those emulators aren’t exactly processing power hungry, and could easily run on just a small percent of the X1’s CPU. Other emulators, such as Dolphin (which are notoriously CPU hungry) would probably require further multi-core optimization. On the PC, a fast Intel or AMD CPU is ideal – and while multi-threading helps, clock speed is often king. Considering the Xbox One’s CPU’s run at a more sedate 1.75GHZ, more effort to push the work load over multiple cores would be essential
But, before everyone jumps for joy, there’s a good chance that the system will be somewhat limited. Microsoft might not want to have these applications available on the Xbox One, although there are some emulators available on the Windows Store. Microsoft will (likely) want to test and authenticate applications before they’re put on the store. They’ll not want to risk applications which could crash the system, games which steal credit card information if entered or applications that are otherwise unhealthy from a PR standpoint. Whether emulators will be in the “nah” category – who knows!
Moving away from this, it’ll also allow applications that’ll allow you to run various music, perhaps word and other such ‘production’ type of software and just maybe, a few killer and fun indie games from bedroom developers. All of this is a great thing, at least in my opinion.
It’s pretty obvious, but this isn’t going to open up the floodgates for Xbox One ‘backups’ two weeks after launch either. There’ll still be certain security measures doubtlessly in place.
What about Kinect? Well, Microsoft have made a lot of changes with Kinect. We all know that from a developers perspective, Microsoft allows developers to tap into both additional CPU, GPU and memory bandwidth if Kinect isn’t used in a title. But when it comes to the actual ‘usage’ of Kinect, feelings and reports have been mixed.
Microsoft may opt to not allow Kinect to function with Universal Apps, and according to several (anonymous) reports, performance with Kinect isn’t stellar. It’d be a shame if these applications aren’t Kinect enabled, at least in my opinion.
From what is being reported, Microsoft are planning to update the Xbox One with a Windows 10 core this year (2015), but the features set and changes compared to now is a bit of a question mark. Supposedly, Microsoft are planning to get developers to switch over universal applications in November, this year.
With Windows 10 being put on the system, an obvious benefit is DirectX 12, which is the subject of a hell of a lot of discussion right now, Brad Wardell has commented that it will be a rather interesting situation with the Xbox One, due to limitations of bandwidth, but powerful CPU and GPU.
We can also question if we’ll see a shrinking of the memory footprint of the OS. Currently, the Xbox One allocates about 5GB to games, but possibly with a shrunk down W10, we could see the number grow a little. It’s also possible that won’t happen, as if Microsoft are serious about providing Cross-Platform apps they’ll have to weight up a balancing act of ensuring they’ve sufficient RAM and resources to run in the consoles triple operating system layout.
All in all, I think this is a great move by Microsoft – and it can only help the Xbox infrastructure thrive; that’s if it’s done correctly, of course.