1. Michael Quandt
Technical Evangelist - Microsoft
The New Existing
Market
2. Start
1 2
Vaughan Knight -
Why Windows 8? Bitrave
3
Tools & Support Q&A
3. Why Windows 8?
• 690+ Million Windows 7 Licenses Sold
• Existing Device Support (Intel x86/x64)
• New Architecture: ARM
• One Unified Platform
• Tiered Profit Share
• 70/30, then 80/20 @ $25k
6. Games on Windows
Everyone Gets: + Xbox Live Games Get:
• Ratings + Parental Controls • Achievements
• 100 KB Roaming Storage • Leaderboards
• In App Purchases • Xbox Profile
• 100% Profit with Custom
Payments
7. From Scratch
• C++ / DirectX
• C++ / XAML
• C# / DirectX + SharpDX
• C# / XAML
• HTML5 / Javascript
8. WinRT Components
• Write in C++/C#/Javascript
• Consume in C++/C#/Javascript
• Performance code in C++, Front End in HTML5/Javascript
• Write once, reuse anywhere
10. The Store
• 70/30, 80/20
• ARM + Intel Together
• Simple Submission
• Non-Restrictive Certification
• Good Feedback
• Easy Trial Support
11. Visual Studio
• IDE for C++, C#, Visual Basic, HTML+Javascript
• C++11 Standard
• PIX comes standard
• Debug your pixels!
12. WACK
• Windows Application Certification Kit
• 100% Automated Testing
• Catch Failures before Certification
• Comes with Visual Studio 2012
• Use It!
13. How Can We Help?
• DPE – Developer Platform Evangelism
• Also: Private Support Channel ;)
• Store Tokens
• Xbox Live Publishing
• Test Devices
• Promotion
• Whatever else we can do to help
So let’s get the business part out of the way, why should you consider Windows 8?First of all, Windows 7 enjoys a massive install base, over 690 million licenses sold as of earlier this year. We can assume that many of them will convert, either with their existing devices or through new device purchases. That’s the other great thing, Windows 8 supports existing devices really well, with support right back to Netbooks that supported Windows 7. The only limits are around screen resolution for features such as snapping, which I will show soon.On top of that, Windows 8 now supports the ARM system on a chip platform, enabling Windows to run on low powered, always connected devices. A great example of this is the Microsoft Surface RT which will launch on Friday. This means that there will be a broad range of devices that will run Windows 8, and to get on to all of them, you need to write a Windows Store app. Win32 apps – we call them desktop apps – will only run on Intel devices, as they are compiled for x86/x64 and not ARM.It is however really easy to target both the ARM and Intel versions of Windows 8. If you’re using C# you can compile for “Any CPU” and it will just work. If you’re using HTML5/JS it just works, and if you are using C++ you will need to create a separate ARM build, however the platform libraries are exactly the same and in many cases it will just be a case of re-building for ARM without code changes.The final note for this slide is about the profit split for selling your games on the store. We use a tiered approach based on the number of sales you make. Initially we take 30%. Once you hit $25,000 in total revenue for the app, this reduces to 20%.
Windows 8 is the PC side of the multiple screens strategy.What is multiple screens?Ubiquitous computing throughout our livesAlways connected through the cloudA single experience rather than a spread of incompatible onesUse my phone to control a video playing on my xbox from a cloud service. Then pull out my tablet and get more information on the actors appearing on screen so I can find other movies I like. Then take that movie, pause it and pick up again from my laptop on the train to work.This is all possible with Xbox, Windows Phone, Windows 8, Smartglass and Xbox Video.I can change my wallpaper on my desktop, and have it appear on my slate within minutes, without any extra actions. Synchronise settings between desktop, laptop, slate and phone easily.Windows 8, Windows Phone 8 and the upcoming Xbox update completes the picture and makes this possible.
Demo the items below and get them to think about what their games could do to take advantage of the shown features.Start ScreenMicrosoft Account + RoamingLive TilesSnappingSharing (Share GCAP Web Page to Twitter)SearchGames HubShow Desktop, indicate it still exists for Intel machines.
Here are some features that Windows provides. In the first column we have a list of the stuff every game gets for free.Windows 8 has built in support for parental controls and allows for ratings certificates to be uploaded for each game to allow for proper content restriction.Every app or game gets 100KB automatically roaming storage (think “Cloud Saves”) for free, tied to the logged in user’s Microsoft account. Past 100KB the syncing stops. This is to prevent issues with metered connections and to keep things fast and fluid, even on slow connections. You’re free to connect your game to other cloud services such as Azure to provide richer cloud save support and leaderboards, etc.The Windows Store offers easy support for in-app purchases with a tiered revenue split. The big benefit here is that if you elect to implement or provide your own payment gateway (so you handle the transaction), then Microsoft takes $0 for each transaction, meaning 100% profits for you.If you gain a publishing contract with Microsoft Studios (or go through another publisher) you can gain access to the Xbox Live services available to Windows 8. Gamers have full support for their Xbox gamertags, and as an Xbox Live game, you can access Live services such as Achievements, Leaderboards or the Xbox profile. (think avatars, etc) This one is a bit harder to get, but it is certainly possible, and Microsoft is always looking for high quality innovative games to bring to the platform.For those wondering about certification, we will cover this in more detail when I cover the Store, but know that Xbox Live titles have a separate cert process for quality, but if you aren’t a Live title then you don’t need that.
So how can I build a game for Windows 8? Well there are a few options, and first you need to decide if you want to start from scratch or use an existing engine.If you’re writing your own code, or porting your own engine, there are numerous options available, and in many cases these can be mixed through the WinRT component system which will be covered later.DirectX is available to both C++ and C#, as is XAML, which is more of a UI library – however it can work well for 2D games. There is great support for using both DirectX and XAML together, as XAML sits on top of DirectX, so I would suggest you consider that as a way to handle your game UI. If you’re developing in C#, there is
Win32 is no more for Windows Store Apps. Microsoft has created something called WinRT which is intended to replace Win32 functionality, but with a modern design based on asynchrony and language interoperability. Every blocking method in WinRT makes use of the “async programming” concept, allowing developers to easily write code that handles slow operations gracefully.Another huge benefit is that this stack is common between all of the supported WinRT languages, and the technology used to create this also allows you to create your own components that easily work between languages. Write a high performance physics engine in C++, and then use it in a HTML5 game.
Of course there’s no need to reinvent the wheel just to work in Windows 8. I know many of you use the technologies listed on screen already for existing games, and there are huge communities and vast resources surrounding technologies like Unity. I think their involvement in this conference is a perfect example of that.To that end, both Unity and Epic have announced support for Windows Store apps in their developer offerings, and while they aren’t here yet, they will be soon. This means that it will be barely any work to bring your games to multiple platforms, including Windows 8 devices (both ARM and Intel) using these technologies. For those who haven’t really tried these technologies, another huge benefit is their focus on cross platform development. You don’t need to make a lot of changes to build for a new platform, and there will be resources available to take advantage of the Windows 8 only features.On the HTML5 front, many tools already support Windows 8, one of which is Construct 2. You can easily create your games, and export them to a project ready to compile and submit to the store.If you’re used to developing in XNA, Monogame matches the XNA API 1:1, meaning that you can port games over extremely easily. This is also a great tool to use if you don’t really want to use the larger engines like Unity and Unreal, and instead just want great framework support.There certainly are more technologies I haven’t mentioned, and many more coming, so if you have a favourite tech, check with them to see if they support, or plan to support Windows 8.
Now Vaughan will talk about his experiences developing and publishing games on Windows 8.
As I mentioned before, we initially take 30% of the revenue from paid apps in the store. Once you hit $25,000 we reward success by bringing that down to 20%. On top of that if you elect to use your own payment gateway for in-app purchases, we take nothing from those purchases.So now that you know how much you are going to get, you want to know what your reach is. The great thing about the store is that it is a common place to access apps, no matter if you’re using an ARM device or an x86 device. As long as you have a build on there that supports the platform, your game will appear in the store. So now it’s really easy to target most of those screens through one location, no jumping around.We take this simplicity aspect even further with the submission process. You can reserve your game name ahead of time, and when you’re ready to submit it’s just a few simple questions, some screenshots and your app package, then you’re in certification. You can even run through some of the certification process on your own machine to make sure it doesn’t fail immediately, and making updates is really easy, just upload a new package, enter some change notes and you’re done.Then your game is in certification. Here we make sure it passes the technical and security requirements, which you can even test yourself using the WACK tool I will talk about later. The long part of this is content certification, which can take a few days. Right now in the massive rush to get in before Friday we’re sitting at 10 days, but usually it’s around 7 days.In terms of content compliance, it depends on your chosen age range, but there is no quality check, just certification requirements.If you happen to fail certification, you get a nice report detailing what went wrong, and you can use that to implement any changes that need to be made to get through certification. There are requirements around having a privacy policy that have caught out many devs so be sure to look through the requirements to prevent any issues, as content compliance failures can take a while to fail.Finally many of you with paid apps will want to support a trial mode. Just like Windows Phone, and Xbox Live Indie Games, the Windows Store supports trials as a first class feature. Instead of making a “Lite” version for free, you use the store APIs to detect if the user has a license for your game, and then you can limit your features accordingly. If the user wants to buy your game, they can do so and the game just unlocks, rather than having to re-download the game. If you’re feeling lazy or just want to offer a timed trial, the store can automatically do this for you when you select your game price. It will let you set a time period and will handle restricting the user automatically.