Learn what every PC game dev should know about Windows 10
Reposted with permission from Gamasutra
Introduction: Building the best place… to build
At GDC Europe 2016, the Microsoft developer platform team is excited to showcase the technologies we’ve been working on to make both game development and gaming better on Windows 10. Not only are we bringing games from our partners to play on the show floor, but we’ve also set up a hands-on area with workstations, where developers can engage 1:1 with Microsoft experts and get a free in-depth consultation on topics like Visual Studio, UWP, Unity, Azure gaming services, Windows Store, and Xbox. In the article below, we’re going into more depth into what gaming technologies are being rolled out as part of Windows 10 Anniversary Update this summer, and how Microsoft envisages the future of game development across Windows devices. You can also stay connected with us at future events or online on our game developer site.
Game development has come a long way since the first game of Tic-Tac-Toe appeared on a vacuum tube display in 1950. At Microsoft, we’ve been engaged in making game developers more productive for several decades, with the release of the Windows Games SDK in 1995 as only one example. Starting with the launch of Windows 10, and with the ongoing release cycle that moves away from monolithic OS releases, our vision for game devs has included constant integration of customer feedback to improve the developer experience. Moving forward, our developer platform and tools investments reflect this commitment. Combined with our broad vision of enabling developers to maximize their reach across devices with the Universal Windows Platform (UWP), we are building our vision future of game development on Windows devices – PCs, tablets, Xbox consoles, and HoloLens.
The way Microsoft is approaching the process of integrating customer feedback is by listening to developers’ needs and pain points, and constantly doing original research to come up with better ways to address them. This articles goes into depth on our key initiatives to make Windows game development better, what we’ve learned from that process over the years, and where our roadmap will lead us, starting with the release of Windows 10 Anniversary Update in August 2016. We are happy with the rapid embrace of Windows 10 by gamers, with over 45% of Steam users on Windows 10 as of July 2016, but understand that we need to remain responsive and engaged with this passionate audience.
When we were thinking about how to talk about our goals for game development tools on Windows 10, the conversation kept circling back to what we, many of us being software developers ourselves, expected from our dev environment. Together with asking game devs what they want, this has been our north star throughout: making sure game developers never having to ask themselves if Windows 10 is really the best possible dev box for creating PC games. This question informed how we’re thinking about building the over-arching goals we’ve set for ourselves: openness & community, power & capability, and finally engagement & reach.
Openness & Community
From the release of the new UWP technologies on Windows 10, our long-term vision has been to build a truly inclusive, open gaming ecosystem that spans device families and offers a great experience for all gamers, and an easy way to reach all of those customers for game developers.
In Windows Anniversary Update, a lot of the promise of openness is being realized. One concern that had previously been raised for the ease of selling and distributing UWP applications to users without using Windows Store, whether it’s a free download, or distributed through your own or a third-party online storefront. It’s clear that in prior Windows 10 releases, it wasn’t as intuitive to install UWP games obtained outside of Windows Store for many users. The end user had to either run a PowerShell script to install the certificate and install the game, or even type a command directly into PowerShell. Users were at times confused by certificate errors, or by the perception that sideloading games wasn’t the best way to install something. What we’re calling the “App Installer” is a pre-installed tool in Windows Anniversary Update that handles easy app installation: this enables a user to double-click any .appx or .appxbundle for straightforward installation, without the need for scripts or commands.
Just open Explorer and find your .appx or .appxbundle file, double-click, tell App Installer about your app, click Install, and that’s it. For advanced users, be aware that the game you’re installing needs to be trusted by your device, which safeguards against malware and other issues: this means that if you’re installing a developer or enterprise app with special rights/permissions, you need to have the signing certificate on the device you’re installing on. And unlike random .EXEs downloaded from the Internet, the App Installer specifically calls out what capabilities your game needs, such as accessing your Contacts.
We also keep openness in mind when building the Windows Store experiences on PC, which has traditionally been – and will remain – a rich, vibrant ecosystem, with competing and complementary platforms that allow developers to fully express their creativity, building and selling their games in any way they want. We are acutely aware that bringing games to market through Windows Store, for instance, needs to be a smooth, friction-free experience that gets out of the developers’ way whenever possible, but empowers them with tools and insights to improve their game experiences. Thinking about Store openness means having an easy onramp to sell your PC game in Windows Store: there’s no complicated account management process, requiring you to speak personally with someone at Microsoft to sell in Windows Store: simply create an account on Windows Dev Center, upload your content, and you’re ready to target the hundreds of millions of devices running Windows 10 today.
As Dev Center is evolving, we are adding new features and capabilities all the time, we roll them out first to the free Dev Center Insider Program. Recent dev-centric features added to the program were for instance targeted push notifications, allowing you to create custom notifications to send to specific groups of users only, for instance based on specific criteria you define, or bulk IAP management to avoid having to make submitting individual updates for each purchase.
As we roll out Windows Store to additional device families, we’re evolving the experience to where your games will be able to reach more gamers. With that in mind, we realize that many game developers have classic Windows games (Win32) that they’d like to bring to Windows Store. Our solution to that is Project Centennial, a set of technologies that game developers can use in the form of the Desktop App Converter.
This tool allows you to take your existing classic Windows game and convert it to a UWP app. After conversion, you will have a UWP app package (.appx or .appxbundle), which targets Windows 10. If you choose, you can then add UWP APIs to extend your game with Windows 10-specific functionality. In the coming weeks, we will have more announcements about how to take Centennial-converted classic Windows games and bring them to Windows Store.
Finally, we understand that games are often best played with others, and that game developers look for simple, powerful ways to plug into social gaming ecosystems to give their games staying power and build lasting communities. We are very proud of the success of Xbox LIVE, which has nearly fifty million monthly active users playing with and against each other, sharing gameplay videos, building clubs and making new friends. We’ve tried to make it as easy as possible to integrate LIVE into your games, including on Windows 10: the ID@Xbox program offers a simple sign-up process for getting access to the right Xbox APIs to reach those tens of millions of gamers.
Being part of ID@Xbox also gives game developers easy access to some of the most exciting gaming features we’re rolling out in 2016: Play Anywhere and Cross-Device Play. With Play Anywhere, participating game developers can make their game available on Windows 10 and Xbox One with the purchase of a single SKU, ensuring that your customer has your game playable on all of their gaming devices. Their progress is saved, and they can continue seamlessly from where they left off, including their game add-ons. Cross-Device play takes the promise of seamless gaming to another level: participating developers can enable play between different platforms, including Windows and Xbox One, in their games, reaching the widest audience of gamers and building the biggest possible community.
We are incredibly excited to see where game devs will take this, and what they’ll be building – IDARB, the first game to leverage the cross-device functionality is a great preview into what the future holds.
Power & Capability
The biggest reason why we talk about device families when we address game developers is because our goal is to build the best possible platform & APIs for each type of device, which in itself has multiple types – which make up the device family. A mobile experience, for instance, can come in different screen sizes and power levels, but shares commonalities around input method, rotation, and so on. Similarly, a desktop PC can have integrated graphics and limited RAM, for instance, but will usually have a mouse & keyboard connected. Consoles are often experiences at a ten-foot distance, with the resulting concerns around input mechanisms, UI display on screen, etc. Yet game developers will often want to target multiple device types without having to rewrite substantial chunks of code. The biggest challenge has been to accommodate device-specificity without requiring that ground-up rewrite, even when leveraging middleware and game engines that do a lot of heavy lifting.
This was the pain point we had in mind when building the Universal Windows Platform, enabling developers to write once and target multiple device families. Each device type needs code tailored to its unique capabilities. UWP provides that guarantee – both the core APIs that are available on every Windows device, and then unique APIs that are accessed conditionally depending on the device the code is run on. For game developers looking to target desktops, laptops, tablets, Xbox, and Windows Holographic, UWP will provide the seamless scalability requires on each device family.
Features are lit up by device type, presenting a differentiated, appropriate experience: if your UWP game is run on a tablet, for instance, it seamlessly adapts to touch controls and rotation, for instance. The same applies to UI and controls – UWP layout panels allow for tailoring across many screen sizes & resolutions.
The same applies to input handling – UWP games support universal controls that handle any input, such as mouse, keyboard, touch, pen, and controller (such as the Xbox controller). Scaling across displays and input modalities is only the beginning, however: UWP provides the building blocks for ensuring your game truly leverages the full capabilities of the multi-device family paradigm. Cloud services power your game no matter where the game’s users are, and game developers can build notifications to follow their user across Windows devices.
2016 is a big year for proving out the multi-device promise of UWP for game developers: the first huge block was the availability of Dev Mode for Xbox One, allowing any owner of a retail Xbox One console to start developing UWP games on their Xbox immediately. Coming soon, game-centric features from the Xbox Store will start appearing in the Windows Store, with the eventual combination of both stores into a single cohesive experience on Windows devices. Looking ahead, the announcement of Project Scorpio in 2016 also showed that developing for UWP is a straight path to deployment devices: creating UWP games today ensures compatibility with new Microsoft hardware initiatives.
Another peek at the future of game development on Windows was the introduction of DirectX12 on Windows 10. The best way to think about DirectX 12 is that it allows many gamers’ PC hardware to not just talk better to each other internally, squeezing out graphics performance out of existing GPUs and CPUs, but that it’s a technology that allows game developers to write closer to the metal than ever before. CPU and GPU performance is significantly increased, partially by reducing API overhead and by increasing overall efficiency.
Also in the graphics category, gamers and developers alike also asked us for broader support for core gaming features in UWP that they expect from classic Windows games. In May, Microsoft rolled out UWP support for AMD’s Freesync™ and NVIDIA’s G-SYNC™ in Universal Windows Platform games and apps, as well as unlocked frame rate support.
The last puzzle piece for capability is the support for Universal Windows Platform and Windows 10 in the most popular and powerful game development tools around, as well as their integration into the overall UWP ecosystem. Unity is a great example of a popular game engine integrating support for UWP, with easy creation of new UWP projects built into the interface. In turn support for new Unity projects is easily accessible from Visual Studio, with VS tools for Unity natively supported in Unity and both tools bundled in a single installer.
Similarly, recognizing of the popularity and power of Unreal Engine and game developer demand, Microsoft developed and released the source code of a UE4 fork with UWP support on GitHub in July, providing a clear development path to UWP for the most popular game development engines on Windows and game consoles.
Engagement & Reach
One of the biggest pain points we keep hearing from game developers isn’t necessarily around coding itself, but rather in how to reach an audience. The gaming market is getting crowded, with huge backlogs, tons of sales, and overflowing merchandising surfaces in online stores. Getting attention is getting harder all the time. Our goal is to ensure game developers have an end-to-end go-to-market pipeline that can maximize both the reach of their game, and engagement with potential customers. Unfortunately, this is often the least sexy part of making games, especially for indie devs, but crucial to driving developer success on a platform.
The first step is to make your game available in as many markets as possible; Windows Store is currently accessible in over 240 markets world-wide – knowing how to correctly engage with all of those potential customer is crucial. The advances promotional approaches available or coming soon to Windows Store are a result of listening to game devs’ long-running concern about how it’s sometimes very challenging to gain visibility, merchandising space or any kind of exposure when selling their game online.
- Reach gamers directly inside Windows: UWP games can send notifications and Live Tile updates to segments of your users directly from Dev Center. This helps connect your users directly with new offers, features, updates and other news.
- The promote your app feature is available in many markets, allowing developers to target regionally-relevant ads with localized content
- New community ads are a mechanism to share unused ads-in-games space to promote each other at no cost
- With Facebook Install Ads, devs can choose the type of user they want to reach, and deliver relevant ads directly to acquire & engage them. In addition, the Facebook Audience Network (SDK) allows devs to monetize through Facebook ads in Windows Store apps – more info coming later this year
Just as important as promotion and merchandising is your ability to understand what gamers are doing inside your game, and engaging with them in a way that deepens your game’s lifecycle and staying power. Some of the UWP development tools we offer are:
- The new feedback API allows gamers to provide more targeted feedback/reviews about your game, giving you the ability to solicit feedback about a flight or version, prompt customers for their opinion on a specific feature or level, and more
- Improved usage reports give you better insight into how customers are using your game
- App Health reports that go deeper into what’s happening with your game, including crash event breakdowns, failure logs, debugging tools, and a lot more
- Improved A/B testing for UWP games – by creating different experiences and rolling them out to different user segments, you can run experiments without modifying or republishing your game
Looking Ahead
So what does the future for game development on Windows devices look like? Above all, it’ll end up being even more about the gamer than today. The reason why the gaming market is rapidly getting crowded is because gamers are a passionate group of fans, and why many of us got into the gaming industry in the first place. For game developers, we think this means a couple of things:
First, attempts to limit game developers’ creativity or the desire of gamers to explore new types of games aren’t going to work, and shouldn’t be attempted. Success in this business means empowerment. The Windows gaming ecosystem can’t be locked down, and will defend itself against attempts to do so. For Microsoft, this means a commitment to preserving the open nature of the PC platform by making UWP as open as Win32 applications in terms of distribution, installation, and commerce.
Second, gamers want to play their content wherever they are, and where the game modality makes sense. If someone has both a console and a PC (or tablet with a connected controller), they usually don’t want to double-dip. But making a SKU available in multiple places will unquestionable deepen the gamer’s engagement with the product. We talked a lot about ‘scaling gracefully’ to the device the game finds itself on, and in the long run we will find that gamers are going to be expect their games just “be there,” a lot like what we’re seeing in music and video services.
Third, game development is undergoing massive changes right now to make it clear that it really is for everyone. Gamers have always come in all shapes and sizes, but not all of them have always felt that the culture was for them, even if they enjoyed gaming. This isn’t just about diversity in audience but also about inclusion in design. We’re incredibly aware of many gamers’ desire to have gaming become more accessible and welcoming.
If you’re in Cologne for GDC 2016, come by the Microsoft booth to see what games are coming to Windows and Xbox, or attend one of our tech sessions where we’ll go into more depth on the ways that we see game development evolving over the years to come, and what we’re building to make both developers and gamers’ lives easier. For specific questions about Windows, Xbox, or gaming technologies at Microsoft, drop by to schedule a free consultation with an expert. Stay in touch to find out how you can connect with us at future events or online on our GDC site.
Source: Learn what every PC game dev should know about Windows 10
Leave a Reply