Microsoft wants to bring the Xbox One into your PC, almost literally. The Universal Windows Platform, or UWP for short, attempts to meld Xbox One and Windows 10 into a single platform for game development.
I’m personally all for it as an idea in abstract. Imagine no more half-baked console ports on the PC. Instead, developers design, code, and publish their games without worrying (too much) about the targeted platform. On the technical front, UWP looks promising. Before I discuss its problems, let’s talk a bit about what’s under the hood.
UWP Under the Hood
DirectX 12 lies at the heart of UWP. Developers write to DX12 for both Xbox One and Windows 10. DirectX 12 includes significant new features, including being able to write closer to the metal, thinning out the abstraction layer so developers have more control over how games talk to the underlying 3D hardware.
Programming this close to the metal can be more challenging than DirectX 11 programming; Microsoft even suggests developers without much D3D experience should use Direct3D 11 API calls for simplicity. However, DX12 programming reduces the overall latency, as well as improving frame rate. Lower latency should enable better VR programming as well as improved performance in desktop games.
Game programmers need to give up the ability to write using earlier API calls, such as DirectX 9 and 10 — UPW games only support DirectX 11 and 12. That seems simple enough, but programmers will need to ensure commonly used libraries also avoid using earlier APIs. However, games can specify feature levels, so a DX12 game can run on old hardware as long as the game installd proper DirectX redistributable.
DX12 also offers improved multi-GPU support. In fact, you can theoretically mix-and-match Nvidia and AMD GPUs, with potentially good results. From a developer perspective, Windows 10 game programmers gain access to the same set of performance tools as Xbox One programmers — in particular, the PIX profiler.
DX12 also adds explicit support for high dynamic range (HDR) and wide color gamuts on displays that support them. Since current generation GPUs render at 10 bits-per-pixel internally, this allows games to support HDR with only a few tweaks to the code. Note that this is actual high dynamic range and wide color gamut, not bloom-like postprocessing effects, so could look much better than what’s been passing for HDR in earlier titles.
Building games using a unified tool chain is a big win for game developers, but programmers will need to adopt Visual Studio 2015 and preferably, Windows 10. (The company supports Windows 8.1 as well, but not earlier Microsoft OSes).
UWP games include enhanced security, but that comes with a tradeoff. Games will have more restricted access rights than standard users, minimizing potential issues with malware. The package containers contain whitelists of allowed files, so malware writers can’t just sneak an unauthorized file into the package. In addition, a UWP game can never grab admin rights. Finally, games will have restricted write capabilities. This trades convenience, such as the ability to specify game save locations, for security.
Two major changes affect end users. First, Xbox Live is coming to Windows 10, including voice chat, online matchmaking, and all the other features Xbox users have had. Microsoft didn’t discuss pricing; I doubt PC users would want to pony up $50 or more per year for Xbox Live Gold, for example. One cool aspect of the updated Xbox Live will be cross-platform gaming between Windows and Xbox One users, though I don’t know how much this will occur in practice.
Converging the Xbox and Windows store looks to be the biggest deal (or deal-breaker, depending on your perspective) for users and devs. Developers only need to submit to one store, through the Universal Developer Center. Microsoft has been cagey about whether this means UWP games will only be sold through the Windows Store — more on that shortly.
What It Means
Microsoft pushed out UWP to developers pretty early, and several UWP games already exist in the Microsoft Store. Initial results have not been pretty. Rise of the Tomb Raider buyers encountered issues due to UWP’s inability to disable vsync and always run in borderless windowed mode.
However, problems with Rise of the Tomb Raider seem trivial next to issues users faced with Gears of Wars: Ultimate Edition. To be fair, Gears of War originally shipped on the Xbox 360 in 2006, so is the very definition of a console port, requiring a substantial rewrite given the Xbox 360’s binary incompatibility with x86 processors.
You could argue these problems could simply be teething issues with a new technology, and that’s a fair cop. Microsoft announced improvements in its UWP technology at the 2016 GDC, including adding the ability to disable vsync, as well as incorporating support for the G-Sync and FreeSync adaptive refresh-rate technologies.
The Trust Issue
The most significant underlying issue lies with trust. Microsoft’s past efforts at content technologies have been less than stellar:
- Playsforsure promised reliable media playback on any device, and tried to add a universal content protection scheme.
- Microsoft then dumped Playsforsure in favor of Zune, abandoning all the hardware manufacturers who bought into Playsforsure. Users who bought content based on Playsforsure eventually lost access to all the content they paid good money for.
- The company eventually abandoned Zune, once again leaving users in the lurch.
- The ill-fated Games for Windows Live program suffered from endless technical glitches, a difficult user interface, and onerous copy-protection.
- When Microsoft eventually gave up on GFWL, users who bought games directly from GFWL eventually lost access to all their games. Ironically, users who bought GFWL games from Steam mostly retained access — but only if the game publishers removed the Games for Windows Live “features”.
These past transgressions naturally make both developers and users more than a little skittish. While the Xbox will likely soldier on, who’s to say Microsoft won’t someday abandon users who bought UWP games from the Windows 10 store?
The UWP initiative looks like a much bigger bet on Microsoft’s part, so they’re less likely to just walk away from it. However, no one — least of all Microsoft — should be surprised at the lack of trust they face. The company can do several things to help regain user trust:
- Commit more publicly, including working with developers of popular Xbox One games to ensure Windows 10 support.
- Keep making improvements to the program based on end-user and developer feedback — and be public with those improvements.
- Publicly acknowledge the lack of trust; a little mea culpa would go a long way.
- Allow distribution of UWP games through other platforms, including Steam, EA Origin, and similar digital distribution platforms.
That last one in particular would send a clear signal that the company isn’t trying to monopolize game development and distribution. If that happens, then the odds of success for the Universal Windows Platform increase by leaps and bounds.