Figure 1. Windows* 10 provides a common OS across the spectrum of Microsoft devices.
Among a long list of improved features, Windows 10 is positioned to tie together the wide variety of potential gaming platforms with UWP apps. The augmented support for 2-in-1s brings a more natural adaptability to interaction modes. With all platforms running variants of the same system, the apps are delivered by the same store. For other PC games, the support provided for Steam* makes it even stronger than before. Whichever distribution works for your game, DirectX* 12 brings new life to games with significantly increased power.
Power with DirectX 12
DirectX 12 is the most recent version of Microsoft’s graphics API suite designed to manage and optimize multimedia functionality – most notably handling video game graphics; in fact, Xbox* got its name from originally being conceived as the DirectX Box, so it’s no surprise that the technology has continued to be a pillar of game development.
Figure 2. DirectX* 12 brings PCs console-level optimization
DirectX 12 on Windows 10 improves that relationship further by reducing call overhead, memory paging, and system footprint, to give your game more space and processor time. Games being run in the foreground are granted better control over their process execution, with reserved memory to minimize texture swaps and other potential conflicts with external apps. Without going into a deeper explanation, these capabilities translate into a smoother experience for the user and a wider range of computers being able to maintain acceptable performance.
One of the biggest concerns when considering use of a new technology is how much of the existing content and development process will need to change. Fortunately, the jump from DirectX 11 to 12 keeps interdepartmental workings consistent; development can continue unimpeded with the same textures and models, formats, render targets, compute models, etc. The most significant changes are constrained to the code of custom engines, and MSDN even offers some official guidance for porting those. In most situations, developers use an existing engine—DirectX 12 has already been introduced for Unreal* and Unity* (specifically providing boosts for multicore scaling, with continued improvement ahead). Combined with its native support on 6th generation Intel® Core™ processors, DirectX 12 really gets the engine running on all cylinders.
Distribution with Steam
Steam is the leading digital distribution service for PC games, making it easy for gamers to discover, purchase, and access their games. It may seem counterproductive for Microsoft to support an external app store, but it’s not trying to compete for the same space; the Windows app store is focused on serving the full spectrum of Windows devices (which last year total upward of 1.5 billion), so you can do things like shopping on your phone to find and download games to your Xbox One and PC.
Just like developers moving to new tools, gamers can be hesitant to upgrade to a new OS when so much of their game library is in a potentially unsupported program. Fortunately, Steam* on Windows 10 is fully backward compatible, requiring no changes aside from updated video drivers.
There is even a Steam Tile to create tiles for quick access to individual games. Microsoft really wants Steam to “run great on Windows 10,” and these various points of solid support are definitely gaining traction; according to Steam’s opt-in hardware survey, Windows 10 has become the second most widely used OS on Steam, with over a quarter of users having made the switch in the short few months since its release.
Figure 3. Second only to Windows* 7 (total 44.86%), Windows 10 continues to grow (27.42%) as much as all others combined.
Versatility with 2-in-1s
With the hardware of modern convertible devices, a tablet ideal for gaming on the go can become a laptop with the high-quality graphics and performance expected of PC games. In combination, the versatility afforded to gamers having a touch screen and laptop can create a gestalt experience tailored to the ideal interaction methods for various activities. And with technology like the Intel® RealSense™ SDK enabling perceptual computing with 3D cameras and voice commands (here’s a quick-start guide to using it in Windows 10), the spectrum of user controls continues to grow.
Windows 10 bridges the gap between these two modes, allowing seamless transitions between interfaces tailored for the control scheme currently available to the user; when in tablet mode, most input is likely to be designed for touch, whereas keyboard usage can be expected when the keyboard is present.
Integration across the Windows Universe
The dream goal of “write once, run anywhere” becomes clearer with the advent of Universal Windows Platform (UWP) apps. Microsoft is standardizing the operating systems of all platforms under the Windows 10 banner, creating a significant opportunity for code reuse. While you still have the option of writing a different version for each platform, you can write a single game that runs on a PC, Xbox One, tablets, phones, and even the HoloLens*, or target entire device families by their hardware commonalities.
UWP apps bridge the gaps while allowing device-specific customization. Detecting the device family and specific features available can be done before installation by deciding which binary to use, or it can be done by API contracts at runtime, allowing adaptive features to make things like 2-in-1s and peripherals easier to use.
One notable addition to make the most of Windows Apps is the way app life cycle transitions are handled. Rather than being in the dark as to whether your game is in stasis or even about to be closed, these changes can trigger program events to handle operations for a more persistent player experience. In addition to apps being able to gracefully manage state changes, Windows is able to more effectively manage the resources needed.
There are a number of resources that provide technical information, such as Microsoft’s GDC 2015 talks, presenting good overviews touching on many aspects this article doesn’t have the space to explore: Chris Tector and Don Box explain how the systems work together under this paradigm, Bill Schiefelbein demonstrates how gamers and game developers connect in a new form of social network around the Xbox app, Vijay Gajjala and Brian Tyler elaborate on using the Xbox Live APIs to quickly make use of these new features, and Chris Charla introduces the ID@XBOX program for independent developers to self-publish at the same level as anyone else (even receiving two dev kits at no charge as long as you have an email address with your company website).
Connection via the Xbox App
The Xbox app—the PC hub of gaming activity that extends Xbox Live functionality to other devices—ties all the game experiences together. It unites gamer friends in more of a social network dynamic, driving discovery, engagement, and player retention by enabling development of a player culture.
Figure 4. The Xbox* app is geared toward enriching the gamer experience.
Players can capture clips and screenshots of their games to share, with the bonus option of capturing the last 30 seconds of gameplay for when something awesome but unexpected happens. Since the network of friends and followers connects across platform differences, any game enabled with these features is granted the same degree of exposure—even users viewing the app on a mobile device can watch your game clips.
The single sign-on approach of Xbox accounts makes user profile association easy, letting the OS handle a lot of the leg work (and import friends from Facebook*). Similarly, since Windows apps have explicit manifest information, the system can manage installation and updates, saving significant developer hours (which are especially critical once the game goes live).
Those developers can also simplify gathering and using in-game metrics, granting a richer online presence; rather than simply knowing what game you’re playing, your friends could potentially see where you are in the game and how you’re doing—presumably with privacy options. The friends list is viewable alongside the games library, where developers can live-update the game’s information for announcements and updates.
The Windows Dev Center also provides dashboards on analytics, tracking things like player data and monetization, as well as dynamic creation of engagement drivers like achievements, challenges, and leaderboards. With the information available to developers, players can connect with new aspects of your game, while connecting with others through your game in new ways.
Bonus: Streaming Xbox One to the PC
In addition to its ability to play and connect with friends across platform differences, the Xbox One can stream to any Windows 10 PC on the same network. Granted, there are some considerations to ensure the gameplay stays in top shape, but the ability to play console games without being tethered to a TV seems like a dream come true.
Figure 5. Streaming gameplay to anywhere on your network.
Looks like a Win-Win
If you are a gamer or game developer targeting the PC or Xbox One, Windows 10 is your friend. The features delivered by the Xbox app and APIs lay the foundation for a broader and deeper engagement with players. By anticipating gamer preferences for power and ease of use, the details of Microsoft’s newest offering all lean toward augmenting the gamer experience on multiple levels.
For More Information
The meaning of Xbox: http://www.economist.com/node/5214861
DirectX 12: http://blogs.msdn.com/b/directx/archive/2014/03/20/directx-12.aspx
What DirectX 12 means for gamers and developers: http://www.pcgamer.com/what-directx-12-means-for-gamers-and-developers/
Important Changes from Direct 3D 11 to Direct 3D 12: https://msdn.microsoft.com/en-us/library/windows/desktop/dn899194(v=vs.85).aspx
Porting from Direct3D 11 to Direct 3D 12: https://msdn.microsoft.com/en-us/library/windows/desktop/mt431709(v=vs.85).aspx
Any developer can now make a DirectX 12 game with updated Unreal Engine 4: http://www.windowscentral.com/any-developer-can-now-make-directx-12-game-updated-unreal-engine-4
Unity Founder: DirectX 12 API Alone Doesn’t Give A Significant Performance Boost: http://gamingbolt.com/unity-founder-directx-12-api-alone-doesnt-give-a-significant-performance-boost
Product Brief: 6th Gen Intel® Core™ Processor Platform: http://www.intel.com/content/www/us/en/processors/core/6th-gen-core-family-mobile-brief.html
Valve Lines Up Console Partners in Challenge to Microsoft, Sony: http://www.bloomberg.com/news/articles/2013-11-04/valve-lines-up-console-partners-in-challenge-to-microsoft-sony
Microsoft’s Xbox Store isn’t trying to cut out Steam in Windows 10: http://venturebeat.com/2015/05/21/microsofts-xbox-store-isnt-trying-to-cut-out-steam-in-windows-10/
Microsoft: We have 1.5 billion Windows devices in the market: http://www.neowin.net/news/microsoft-we-have-15-billion-windows-devices-in-the-market
Steam Tile: https://www.microsoft.com/en-us/store/apps/steam-tile/9wzdncrfhzkv
Microsoft wants to support Steam and “help it run great on Windows 10”: http://www.technobuffalo.com/2015/08/07/microsoft-wants-to-support-steam-and-help-it-run-great-on-windows-10/
Steam Hardware & Software Survey: November 2015: http://store.steampowered.com/hwsurvey
Intel RealSense: http://www.intel.com/content/www/us/en/architecture-and-technology/realsense-overview.html
Get Started Developing Intel® RealSense™ SDK for Windows* 10 Desktop Apps: https://software.intel.com/en-us/articles/get-started-developing-intel-realsense-sdk-for-windows-10-desktop-apps
Windows 10 on the Surface Pro 3: Now the 2-in-1 makes perfect sense: http://www.gizmag.com/windows-10-surface-pro-3-review/38189/
What's a Universal Windows Platform (UWP) app?: https://msdn.microsoft.com/en-us/library/windows/apps/dn726767.aspx
Dynamically detecting features with API contracts (10 by 10): https://blogs.windows.com/buildingapps/2015/09/15/dynamically-detecting-features-with-api-contracts-10-by-10/
It's Universal: Understanding the Lifecycle of a Windows 10 Application: https://visualstudiomagazine.com/articles/2015/09/01/its-universal.aspx
MSDN Channel 9 – GDC 2015: https://channel9.msdn.com/Events/GDC/GDC-2015
Developing Games for Windows 10: https://channel9.msdn.com/Events/GDC/GDC-2015/Developing-Games-for-Windows-10
Gaming Consumer Experience on Windows 10: https://channel9.msdn.com/Events/GDC/GDC-2015/Gaming-Consumer-Experience-on-Windows-10
Developing with Xbox Live for Windows 10: https://channel9.msdn.com/Events/GDC/GDC-2015/Developing-with-Xbox-Live-for-Windows-10?ocid=SessionsInEvent
New Opportunities for Independent Developers: https://channel9.msdn.com/Events/GDC/GDC-2015/New-Opportunities-for-Independent-Developers?ocid=SessionsInEvent
The Xbox Experience on Windows 10: http://www.xbox.com/en-US/windows-10/xbox-app
Windows Dev Center: https://dev.windows.com/en-us/games
How to use game streaming in the Xbox app on Windows 10: https://support.xbox.com/en-US/xbox-on-windows/gaming-on-windows/how-to-use-game-streaming
About the Author
Brad Hill is a software engineer at Intel in the Developer Relations Division. Brad investigates new technologies on Intel® hardware and shares the best methods with software developers via the Intel® Developer Zone and at developer conferences. His focus is on turning students and developers into game developers and helping them change the world.