How To Package Your Game For Download Game Develop
- Free Game For Download Full Version
- How To Package Your Game For Download Game Develop For Kids
- How To Package Your Game For Download Game Develop For Windows
[This article has been updated to work with both Windows 8 and 10]
This article is specifically for Windows 10 UWP application packaging. The instructions below may be used to package Windows 8 UAP applications but Step 6 should be ignored.
While this guide to.package files explains how to get the.package files in your game, TS3 CC Basics explains all about custom content in general, including using zip/rar/7z files, identifying file types, and what information to look for before downloading particular files. Buildbox is the world's first software that truly allows anyone to create amazing games regardless of technical skill. Due to its unique user interface, making games becomes a fluid process that doesn't require any scripting, programming or software design experience. Star Citizen Free Download Full Version RG Mechanics Repack PC Game In Direct Download Links. It Is Cracked And Highly Compressed Game. After The Installation Of The Star Citizen Free Download PC Game On Your Operating System, You Can Enjoy Some Main Features Which Are.
If you’re a publisher developing your app in-house, stop here. If you’re a 3rd party development vendor who has been given access by your publisher to their Store account credentials, no need to read further. In both of these cases, assigning multi-user account access and packaging your app for the publisher’s Store account is well-documented and straightforward. This article is for developers who need to package an app but are unable to get access to the publisher’s Dev Center account. In this scenario, you’ll have to take some manual steps to ensure that the information in the appxmanifest.xml file matches what the publisher has configured in their Store account. Read on.
- Dec 15, 2015 Packaging your Windows Store application using Visual Studio’s built in “Create App Packages” wizard is a straightforward and easy way to automatically configure your app’s appxmanifest.xml file with the correct app and publisher ID information for the Store.
- Building a Peer-to-Peer Multiplayer Networked Game. Short messages demand fewer CPU time to pack, send, and unpack. Subscribe below and we’ll send you a weekly email summary of all new Game Development tutorials. Never miss out on learning about the next big thing. Update me weekly.
Tutorial: Build a Simple VR Unity Game. This section describes the steps necessary to build, load, and run a simple Unity 3D application on the Oculus Rift or Samsung Gear VR. Download and install the Oculus Mobile SDK from Oculus Mobile SDK Downloads. Prepare for development as described by the Device and Environment Setup Guide. Download and install Yoyo Game Maker and start exploring your own creativity. The main menu has options to add objects, things, people, backgrounds, sounds, applying actions etc to your game. The picture below shows the main menu options that come with Game Maker.
Packaging your Windows Store application using Visual Studio’s built in “Create App Packages” wizard is a straightforward and easy way to automatically configure your app’s appxmanifest.xml file with the correct app and publisher ID information for the Store. When you launch the wizard (Project > Store > Create App Packages…) you are asked “Do you want to build packages to upload to the Windows Store?”
If you select “Yes,” you’re prompted to enter in your Store (aka Dev Center) account credentials.
This is how Visual Studio associates the app with your publisher account so that it can pull down all the correct information from the Store to automatically populate the appxmanifest.xml. However, what if you don’t have access to the publisher’s Store account credentials? It’s common for a publisher to hire a 3rd party vendor to develop their application but retain the Store publishing processes in-house. In this case, the vendor is expected to deliver the packaged app to the publisher who then uploads it to their Store account separately. The “gotcha” in this scenario is that when the publisher attempts to upload the package to their Store account, Microsoft will reject the package with errors because it doesn’t include the correct publisher and app information in the appxmanifest.xml file.
The Create App Packages wizard clearly states that you need to sign into the Store account. Your only other option is to select “No” and you’re told you can only use the resulting package “…on a computer that has a developer license installed…”
Fortunately, there’s a work-around! Developers can ensure the app is configured with the correct publisher and app information without having to sign into the publisher’s Store account. This does, however, require that the publisher delivers specific information to the developer that they will manually insert into the Visual Studio Manifest Designer before proceeding with the Create App Packages wizard.
Step 1. After the publisher has reserved an app name, have them send you a screenshot of the Dev Center app identity page.
They will log into the Dev Center and navigate to the App Overview for the app. Once there, they’ll choose the App Identity item under App management on the left menu:
Step 2. You will open the solution in Visual Studio and view the Manifest Designer for the project (Note: the Manifest Designer opens when you open the package.appxmanifest file, not when you choose the “view code” option). Go to the “Packaging” tab. Click on the “Choose Certificate” button in the “Publisher” field of the form. The dialog below opens.
Step 3. Choose to “Create test certificate…” in the dialog.
Step 4. Enter the Package/Identity/Publisher string (without the “CN=”) you received from the publisher in Step 1 into the “Publisher Common Name:” field. No need to enter a password since this is only a temporary cert used just to get the correct publisher ID to populate the manifest. (Note: When the app has been uploaded to the Dev Center, the Store will automatically strip out this signing signature and will replace it with the Store signature anyways.)
On hitting “OK” you may get a message asking if you want to replace the existing [YourProjectName]_TemporaryKey.pfx file on the machine. Choose yes.
You should now see the proper “Publisher:” value.
Step 5. Populate the rest of the fields:
- “Package name:” = “Package/Identity/Name” value in the screenshot from Step 1.
- “Package display name:” = “Name” value from Step 1.
- “Version:” – whatever you want it to be. Just make sure that it is higher than any packages you’ve already uploaded to the Store for your target Device Family and architecture. Otherwise, users who already have your app installed won’t get the update. More details on app versioning are available here.
- “Publisher:” – per Step 4 this should be the “Package/Identity/Publisher” value and is automatically populated from the Subject attribute of the signing cert you created in Step 4.
- “Publisher display name:” = “Package/Properties/PublisherDisplayName” value from Step 1.
- “Package family name:” – gets automatically populated as a combination of the “Package name:” and a hash of the “Publisher:” value.
After making these changes, save the “Package.appxmanifest” file.
Step 6. In order to force the Create App Packages wizard to build the required “.appxupload” file for the Store, you need to make a simple modification to the “*proj.user” file in your project. Navigate to your project folder as shown below and open the file with Notepad. (Note that the “*proj.user” file is only created after you’ve packaged your project for the first time, so make sure you’ve built a debug package with the wizard before trying this step.) Add the following tag as a child within the <PropertyGroup> element and save the file:
Step 7. After saving the file, go to Project > Store > Create App Package. Make sure you select “No” since you’ve manually set the publisher/app manifest values already.
Step 8. Proceed to build the release packages for the architectures you want to release to. To check that the appxmanifest.xml was created with the appropriate values, unzip the .appx package and open the appxmanifest.xml file.
Following these simple steps, you’ve now created an .appxupload package that the publisher can upload successfully to their Store account. When the Store does its automatic check of the manifest values no errors should be thrown and the package should show up on the Packages page for the app. We hope this article has been helpful. Additional information on packaging your apps for the Windows Store can be found on the Windows Dev Center.
Post written by Tim Harader, Sr. Program Manager at Microsoft
-->Welcome to the Windows 10 game development guide!
This guide provides an end-to-end collection of the resources and information you'll need to develop a Universal Windows Platform (UWP) game. An English (US) version of this guide is available in PDF format.
Introduction to game development for the Universal Windows Platform (UWP)
When you create a Windows 10 game, you have the opportunity to reach millions of players worldwide across phone, PC, and Xbox One. With Xbox on Windows, Xbox Live, cross-device multiplayer, an amazing gaming community, and powerful new features like the Universal Windows Platform (UWP) and DirectX 12, Windows 10 games thrill players of all ages and genres. The new Universal Windows Platform (UWP) delivers compatibility for your game across Windows 10 devices with a common API for phone, PC, and Xbox One, along with tools and options to tailor your game to each device experience.
This guide provides an end-to-end collection of information and resources that will help you as you develop your game. The sections are organized according to the stages of game development, so you'll know where to look for information when you need it.
If you're new to developing games on Windows or Xbox, the Getting Started guide may be where you want to start off. The Game development resources section also provides a high-level survey of documentation, programs, and other resources that are helpful when creating a game. If you want to start by looking at some UWP code instead, see Game samples.
This guide will be updated as additional Windows 10 game development resources and material become available.
Game development resources
From documentation to developer programs, forums, blogs, and samples, there are many resources available to help you on your game development journey. Here's a roundup of resources to know about as you begin developing your Windows 10 game.
Note
Some features are managed through various programs. This guide covers a broad range of resources, so you may find that some resources are inaccessible depending on the program you are in or your specific development role. Examples are links that resolve to developer.xboxlive.com, forums.xboxlive.com, xdi.xboxlive.com, or the Game Developer Network (GDN). For information about partnering with Microsoft, see Developer Programs.
Game development documentation
Throughout this guide, you'll find deep links to relevant documentation—organized by task, technology, and stage of game development. To give you a broad view of what's available, here are the main documentation portals for Windows 10 game development.
Windows Dev Center main portal | Windows Dev Center |
Developing Windows apps | Develop Windows apps |
Universal Windows Platform app development | How-to guides for Windows 10 apps |
How-to guides for UWP games | Games and DirectX |
DirectX reference and overviews | DirectX Graphics and Gaming |
Azure for gaming | Build and scale your games using Azure |
PlayFab | Complete backend solution for live games |
UWP on Xbox One | Building UWP apps on Xbox One |
UWP on HoloLens | Building UWP apps on HoloLens |
Xbox Live documentation | Xbox Live developer guide |
Xbox One development documentation (XGD) | Xbox One Development |
Xbox One development whitepapers (XGD) | White Papers |
Mixer Interactive documentation | Add interactivity to your game |
Partner Center
Registering a developer account in Partner Center is the first step towards publishing your Windows game. A developer account lets you reserve your game's name and submit free or paid games to the Microsoft Store for all Windows devices. Use your developer account to manage your game and in-game products, get detailed analytics, and enable services that create great experiences for your players around the world.
Microsoft also offers several developer programs to help you develop and publish Windows games. We recommend seeing if any are right for you before registering for a Partner Center account. For more info, go to Developer programs
Developer programs
Microsoft offers several developer programs to help you develop and publish Windows games. Consider joining a developer program if you want to develop games for Xbox One and integrate Xbox Live features in your game. To publish a game in the Microsoft Store, you'll also need to create a developer account in Partner Center .
Xbox Live Creators Program
The Xbox Live Creators Program allows anyone to integrate Xbox Live into their title and publish to Xbox One and Windows 10. There is a simplified certification process and no concept approval is required outside of the standard Microsoft Store Policies.
You can deploy, design, and publish your game in the Creators Program without a dedicated dev kit, using only retail hardware. To get started, download the Dev Mode Activation app on your Xbox One.
If you want access to even more Xbox Live capabilities, dedicated marketing and development support, and the chance to be featured in the main Xbox One store, apply to the ID@Xbox program.
Xbox Live Creators Program | Learn more about the Xbox Live Creators Program |
ID@Xbox
The ID@Xbox program helps qualified game developers self-publish on Windows and Xbox One. If you want to develop for Xbox One, or add Xbox Live features like Gamerscore, achievements, and leaderboards to your Windows 10 game, sign up with ID@Xbox. Become an ID@Xbox developer to get the tools and support you need to unleash your creativity and maximize your success. We recommend that you apply to ID@Xbox first before registering for a developer account in Partner Center.
ID@Xbox developer program | Independent Developer Program for Xbox One |
ID@Xbox consumer site | ID@Xbox |
Xbox tools and middleware
The Xbox Tools and Middleware Program licenses Xbox development kits to professional developers of game tools and middleware. Developers accepted into the program can share and distribute their Xbox XDK technologies to other licensed Xbox developers.
Contact the tools and middleware program |
Game samples
There are many Windows 10 game and app samples available to help you understand Windows 10 gaming features and get a quick start on game development. More samples are developed and published regularly, so don't forget to occasionally check back at sample portals to see what's new. You can also watch GitHub repos to be notified of changes and additions.
Universal Windows Platform app samples | Windows-universal-samples |
Direct3D 12 graphics samples | DirectX-Graphics-Samples |
Direct3D 11 graphics samples | directx-sdk-samples |
Direct3D 11 first-person game sample | Create a simple UWP game with DirectX |
Direct2D custom image effects sample | D2DCustomEffects |
Direct2D gradient mesh sample | D2DGradientMesh |
Direct2D photo adjustment sample | D2DPhotoAdjustment |
Xbox Advanced Technology Group public samples | Xbox-ATG-Samples |
Xbox Live samples | xbox-live-samples |
Xbox One game samples (XGD) | Samples |
Windows game samples (MSDN Code Gallery) | Microsoft Store game samples |
JavaScript 2D game sample | Create a UWP game in JavaScript |
JavaScript 3D game sample | Creating a 3D JavaScript game using three.js |
MonoGame 2D UWP game sample | Create a UWP game in MonoGame 2D |
Developer forums
Developer forums are a great place to ask and answer game development questions and connect with the game development community. Forums can also be fantastic resources for finding existing answers to difficult issues that developers have faced and solved in the past.
Publishing apps and games developer forums | Publishing and ads-in-apps |
UWP apps developer forum | Developing Universal Windows Platform apps |
Desktop applications developer forums | Windows desktop applications forums |
DirectX Microsoft Store games (archived forum posts) | Building Microsoft Store games with DirectX (archived) |
Windows 10 managed partner developer forums | XBOX Developer Forums: Windows 10 |
DirectX forums | DirectX 12 forum |
Azure platform forums | Azure forum |
Xbox Live forum | Xbox Live development forum |
PlayFab forums | PlayFab forums |
Developer blogs
Developer blogs are another great resource for the latest information about game development. You'll find posts about new features, implementation details, best practices, architecture background, and more.
Building apps for Windows blog | Building Apps for Windows |
Windows 10 (blog posts) | Posts in Windows 10 |
Visual Studio engineering team blog | The Visual Studio Blog |
Visual Studio developer tools blogs | Developer Tools Blogs |
Somasegar's developer tools blog | Somasegar’s blog |
DirectX developer blog | DirectX Developer blog |
DirectX 12 introduction (blog post) | DirectX 12 |
Visual C++ tools team blog | Visual C++ team blog |
PIX team blog | Performance tuning and debugging for DirectX 12 games on Windows and Xbox |
Universal Windows App Deployment team blog | Build and deploy UWP apps team blog |
Concept and planning
In the concept and planning stage, you're deciding what your game is going to be like and the technologies and tools you'll use to bring it to life.
Overview of game development technologies
When you start developing a game for the UWP you have multiple options available for graphics, input, audio, networking, utilities, and libraries.
If you've already decided on all the technologies you'll be using in your game, great! If not, the Game technologies for UWP apps guide is an excellent overview of many of the technologies available, and is highly recommended reading to help you understand the options and how they fit together.
Survey of UWP game technologies | Game technologies for UWP apps |
These three GDC 2015 videos give a good overview of Windows 10 game development and the Windows 10 gaming experience.
Overview of Windows 10 game development (video) | Developing Games for Windows 10 |
Windows 10 gaming experience (video) | Gaming Consumer Experience on Windows 10 |
Gaming across the Microsoft ecosystem (video) | The Future of Gaming Across the Microsoft Ecosystem |
Game planning
These are some high level concept and planning topics to consider when planning for your game.
Make your game accessible | Accessibility for games |
Build games using cloud | Cloud for games |
Monetize your game | Monetization for games |
Choosing your graphics technology and programming language
There are several programming languages and graphics technologies available for use in Windows 10 games. The path you take depends on the type of game you’re developing, the experience and preferences of your development studio, and specific feature requirements of your game. Will you use C#, C++, or JavaScript? DirectX, XAML, or HTML5?
DirectX
Microsoft DirectX is the choice to make for the highest-performance 2D and 3D graphics and multimedia.
DirectX 12 is faster and more efficient than any previous version. Direct3D 12 enables richer scenes, more objects, more complex effects, and full utilization of modern GPU hardware on Windows 10 PCs and Xbox One.
If you want to use the familiar graphics pipeline of Direct3D 11, you’ll still benefit from the new rendering and optimization features added to Direct3D 11.3. And, if you’re a tried-and-true desktop Windows API developer with roots in Win32, you’ll still have that option in Windows 10.
The extensive features and deep platform integration of DirectX provide the power and performance needed by the most demanding games.
DirectX for UWP development | DirectX programming |
Tutorial: How to create a UWP DirectX game | Create a simple UWP game with DirectX |
DirectX overviews and reference | DirectX Graphics and Gaming |
Direct3D 12 programming guide and reference | Direct3D 12 Graphics |
Graphics and DirectX 12 development videos (YouTube channel) | Microsoft DirectX 12 and Graphics Education |
XAML
XAML is an easy-to-use declarative UI language with convenient features like animations, storyboards, data binding, scalable vector-based graphics, dynamic resizing, and scene graphs. XAML works great for game UI, menus, sprites, and 2D graphics. To make UI layout easy, XAML is compatible with design and development tools like Expression Blend and Microsoft Visual Studio. XAML is commonly used with C#, but C++ is also a good choice if that’s your preferred language or if your game has high CPU demands.
But there is one problem that always disturbs the Android users- how to free download music from Pandora on Android phone? This article can give you a full guide. See Also: Top Music Radio Apps for Android. Free Download Pandora Music on Android Phone and Tablets. First, open the Android Market on your cell phone. Then press the shortcut link. Dec 09, 2015 Step 1 Log in Pandora in your browser on PC, find the music that you want to download, play the music on Pandora to check if it is the exact one. Step 2 Download, install and double click to launch this program on your PC. Recording Pandora music or download songs from Pandora Pandora is the top if not the best internet radio to listen free music. It comes with attractive and intuitive interface, and excellent music recommendation. How to download music from pandora premium. Download Pandora Radio with TunesKit Audio Capture. One of the best ways to download radio from Pandora is using TunesKit Audio Capture, a professional Pandora downloader and recorder that can easily download and convert any Pandora playlist in lossless high quality and save them in common audio formats like MP3, AAC, WAV, FLAC, etc. Aug 25, 2015 NOTICE: If You Already Have Pandora App Uninstall it! This is nesecery to install the Pandora ONE+MOD APK TIHIS 1ST LINK DOES NOT HAVE MOD http://onhax.net/.
XAML platform overview | XAML platform |
XAML UI and controls | Controls, layouts, and text |
HTML 5
HyperText Markup Language (HTML) is a common UI markup language used for web pages, apps, and rich clients. Windows games can use HTML5 as a full-featured presentation layer with the familiar features of HTML, access to the Universal Windows Platform, and support for modern web features like AppCache, Web Workers, canvas, drag-and-drop, asynchronous programming, and SVG. Behind the scenes, HTML rendering takes advantage of the power of DirectX hardware acceleration, so you can still get the performance benefits of DirectX without writing any extra code. HTML5 is a good choice if you are proficient with web development, porting a web game, or want to use language and graphics layers that can be easier to approach than the other choices. HTML5 is used with JavaScript, but can also call into components created with C# or C++/CX.
HTML5 and Document Object Model information | HTML and DOM reference |
The HTML5 W3C Recommendation | HTML5 |
Combining presentation technologies
Free Game For Download Full Version
The Microsoft DirectX Graphics Infrastructure (DXGI) provides interop and compatibility across multiple graphics technologies. For high-performance graphics, you can combine XAML and DirectX, using XAML for menus and other simple UI, and DirectX for rendering complex 2D and 3D scenes. DXGI also provides compatibility between Direct2D, Direct3D, DirectWrite, DirectCompute, and the Microsoft Media Foundation.
DirectX Graphics Infrastructure programming guide and reference | DXGI |
Combining DirectX and XAML | DirectX and XAML interop |
C++
C++/CX is a high-performance, low overhead language that provides the powerful combination of speed, compatibility, and platform access. C++/CX makes it easy to use all of the great gaming features in Windows 10, including DirectX and Xbox Live. You can also reuse existing C++ code and libraries. C++/CX creates fast, native code that doesn’t incur the overhead of garbage collection, so your game can have great performance and low power consumption, which leads to longer battery life. Use C++/CX with DirectX or XAML, or create a game that uses a combination of both.
C++/CX reference and overviews | Visual C++ Language Reference (C++/CX) |
Visual C++ programming guide and reference | Visual C++ in Visual Studio 2017 |
C#
C# (pronounced 'C sharp') is a modern, innovative language that is simple, powerful, type-safe, and object-oriented. C# enables rapid development while retaining the familiarity and expressiveness of C-style languages. Though easy to use, C# has numerous advanced language features like polymorphism, delegates, lambdas, closures, iterator methods, covariance, and Language-Integrated Query (LINQ) expressions. C# is an excellent choice if you are targeting XAML, want to get a quick start developing your game, or have previous C# experience. C# is used primarily with XAML, so if you want to use DirectX, choose C++ instead, or write part of your game as a C++ component that interacts with DirectX. Or, consider Win2D, an immediate mode Direct2D graphics libary for C# and C++.
C# programming guide and reference | C# language reference |
JavaScript
JavaScript is a dynamic scripting language widely used for modern web and rich client applications.
Windows JavaScript apps can access the powerful features of the Universal Windows Platform in an easy, intuitive way—as methods and properties of object-oriented JavaScript classes. JavaScript is a good choice for your game if you’re coming from a web development environment, are already familiar with JavaScript, or want to use HTML5, CSS, WinJS, or JavaScript libraries. If you’re targeting DirectX or XAML, choose C# or C++/CX instead.
JavaScript and Windows Runtime reference | JavaScript reference |
Use Windows Runtime Components to combine languages
How To Package Your Game For Download Game Develop For Kids
With the Universal Windows Platform, it’s easy to combine components written in different languages. Create Windows Runtime Components in C++, C#, or Visual Basic, and then call into them from JavaScript, C#, C++, or Visual Basic. This is a great way to program portions of your game in the language of your choice. Components also let you consume external libraries that are only available in a particular language, as well as use legacy code you’ve already written.
How to create Windows Runtime Components | Creating Windows Runtime Components |
Which version of DirectX should your game use?
If you are choosing DirectX for your game, you'll need to decide which version to use: Microsoft Direct3D 12 or Microsoft Direct3D 11.
DirectX 12 is faster and more efficient than any previous version. Direct3D 12 enables richer scenes, more objects, more complex effects, and full utilization of modern GPU hardware on Windows 10 PCs and Xbox One. Since Direct3D 12 works at a very low level, it is able to give an expert graphics development team or an experienced DirectX 11 development team all the control they need to maximize graphics optimization.
Direct3D 11.3 is a low level graphics API that uses the familiar Direct3D programming model and handles for you more of the complexity involved in GPU rendering. It is also supported in Windows 10 and Xbox One. If you have an existing engine written in Direct3D 11, and you're not quite ready to make the jump to Direct3D 12, you can use Direct3D 11 on 12 to achieve some performance improvements. Versions 11.3+ contain the new rendering and optimization features enabled also in Direct3D 12.
Choosing Direct3D 12 or Direct3D 11 | What is Direct3D 12? |
Overview of Direct3D 11 | Direct3D 11 Graphics |
Overview of Direct3D 11 on 12 | Direct3D 11 on 12 |
Bridges, game engines, and middleware
Depending on the needs of your game, using bridges, game engines, or middleware can save development and testing time and resources. Here are some overview and resources for bridges, game engines, and middleware.
The backwards ball pushes the furthest-out chain (depending on if all of the balls are connected) backwards for a short length of time. Four different types of power-ups show up in balls, which can be activated by exploding the ball with the power-up. When three or more of the same color come in contact, they explode, possibly triggering other explosions as part of a chain reaction. Download game zuma deluxe gratis pc. The level is completed when after the bar is filled, the player eliminates all of the balls on the screen.
Universal Windows Platform Bridges
Universal Windows Platform Bridges are technologies that bring your existing app or game over to the UWP. Bridges are a great way to get a quick start on UWP game development.
UWP bridges | Bring your code to Windows |
Windows Bridge for iOS | Bring your iOS apps to Windows |
Windows Bridge for desktop applications (.NET and Win32) | Convert your desktop application to a UWP app |
PlayFab
Now part of the Microsoft family, PlayFab is a complete back-end platform for live games and a powerful way for independent studios to get started. Boost revenue, engagement, and retention—while cutting costs—with game services, real-time analytics, and LiveOps.
PlayFab | Overview of tools and services |
Getting started | General getting started guide |
Video tutorial series | Series of demo videos about PlayFab's core systems |
Recipes | Popular game mechanics and design pattern samples |
Platforms | Specific documentation for various platforms and game engines |
GitHub repo | Get scripts and SDKs for various platforms including Android, iOS, Windows, Unity, and Unreal. |
API documentation | Access PlayFab service directly via REST-like Web APIs |
Forums | PlayFab forums |
Unity
Unity offers a platform for creating beautiful and engaging 2D, 3D, VR, and AR games and apps. It enables you to realize your creative vision fast and delivers your content to virtually any media or device.
Beginning with Unity 5.4, Unity supports Direct3D 12 development.
The Unity game engine | Unity - Game Engine |
Get Unity | Get Unity |
Unity documentation for Windows | Unity Manual / Windows |
Add LiveOps using PlayFab | Getting started - Make your first PlayFab API call from your Unity game |
How to add interactivity to your game using Mixer Interactive | Getting started guide |
Mixer SDK for Unity | Mixer Unity plugin |
Mixer SDK for Unity reference documentation | API reference for Mixer Unity plugin |
Publish your Unity game to Microsoft Store | Porting guide |
Troubleshooting missing assembly references related to .NET APIs | Missing .NET APIs in Unity and UWP |
Publish your Unity game as a Universal Windows Platform app (video) | How to publish your Unity game as a UWP app |
Use Unity to make Windows games and apps (video) | Making Windows games and apps with Unity |
Unity game development using Visual Studio (video series) | Using Unity with Visual Studio 2015 |
Havok
Havok’s modular suite of tools and technologies help game creators reach new levels of interactivity and immersion. Havok enables highly realistic physics, interactive simulations, and stunning cinematics. Version 2015.1 and higher officially supports UWP in Visual Studio 2015 on x86, 64-bit, and ARM.
Havok website | Havok |
Havok tool suite | Havok Product Overview |
Havok support forums | Havok |
MonoGame
MonoGame is an open source, cross-platform game development framework originally based on Microsoft's XNA Framework 4.0. Monogame currently supports Windows, Windows Phone, and Xbox, as well as Linux, macOS, iOS, Android, and several other platforms.
MonoGame | MonoGame website |
MonoGame Documentation | MonoGame Documentation (latest) |
Monogame Downloads | Download releases, development builds, and source code from the MonoGame website, or get the latest release via NuGet. |
MonoGame 2D UWP game sample | Create a UWP game in MonoGame 2D |
Cocos2d
Cocos2d-x is a cross-platform open source game development engine and tools suite that supports building UWP games. Beginning with version 3, 3D features are being added as well.
Cocos2d-x | What is Cocos2d-x? |
Cocos2d-x programmer's guide | Cocos2d-x Programmers Guide |
Cocos2d-x on Windows 10 (blog post) | Running Cocos2d-x on Windows 10 |
Add LiveOps using PlayFab | Getting started - Make your first PlayFab API call from your Cocos2d game |
Unreal Engine
Unreal Engine 4 is a complete suite of game development tools for all types of games and developers. For the most demanding console and PC games, Unreal Engine is used by game developers worldwide.
Unreal Engine overview | Unreal Engine 4 |
Add LiveOps using PlayFab - C++ | Getting started - Make your first PlayFab API call from your Unreal game |
Add LiveOps using PlayFab - Blueprints | Getting started - Make your first PlayFab API call from your Unreal game |
BabylonJS
BabylonJS is a complete JavaScript framework for building 3D games with HTML5, WebGL, WebVR, and Web Audio.
BabylonJS | BabylonJS |
WebGL 3D with HTML5 and BabylonJS (video series) | Learning WebGL 3D and BabylonJS |
Building a cross-platform WebGL game with BabylonJS | Use BabylonJS to develop a cross-platform game |
Porting your game
If you have an existing game, there are many resources and guides available to help you quickly bring your game to the UWP. To jumpstart your porting efforts, you might also consider using a Universal Windows Platform Bridge.
Porting a Windows 8 app to a Universal Windows Platform app | Move from Windows Runtime 8.x to UWP |
Porting a Windows 8 app to a Universal Windows Platform app (video) | Porting 8.1 Apps to Windows 10 |
Porting an iOS app to a Universal Windows Platform app | Move from iOS to UWP |
Porting a Silverlight app to a Universal Windows Platform app | Move from Windows Phone Silverlight to UWP |
Porting from XAML or Silverlight to a Universal Windows Platform app (video) | Porting an App from XAML or Silverlight to Windows 10 |
Porting an Xbox game to a Universal Windows Platform app | Porting from Xbox One to Windows 10 UWP |
Porting from DirectX 9 to DirectX 11 | Port from DirectX 9 to Universal Windows Platform (UWP) |
Porting from Direct3D 11 to Direct3D 12 | Porting from Direct3D 11 to Direct3D 12 |
Porting from OpenGL ES to Direct3D 11 | Port from OpenGL ES 2.0 to Direct3D 11 |
OpenGL ES to Direct3D 11 using ANGLE | ANGLE |
Classic Windows API equivalents in the UWP | Alternatives to Windows APIs in Universal Windows Platform (UWP) apps |
Prototype and design
Now that you've decided the type of game you want to create and the tools and graphics technology you'll use to build it, you're ready to get started with the design and prototype. At its core, your game is a Universal Windows Platform app, so that's where you'll begin.
Introduction to the Universal Windows Platform (UWP)
Windows 10 introduces the Universal Windows Platform (UWP), which provides a common API platform across Windows 10 devices. UWP evolves and expands the Windows Runtime model and hones it into a cohesive, unified core. Games that target the UWP can call WinRT APIs that are common to all devices. Because the UWP provides guaranteed API layers, you can choose to create a single app package that will install across Windows 10 devices. And if you want to, your game can still call APIs (including some classic Windows APIs from Win32 and .NET) that are specific to the devices your game runs on.
The following are excellent guides that discuss the Universal Windows Platform apps in detail, and are recommended reading to help you understand the platform.
Introduction to Universal Windows Platform apps | What's a Universal Windows Platform app? |
Overview of the UWP | Guide to UWP apps |
Getting started with UWP development
Getting set up and ready to develop a Universal Windows Platform app is quick and easy. The following guides take you through the process step-by-step.
Getting started with UWP development | Get started with Windows apps |
Getting set up for UWP development | Get set up |
If you're an 'absolute beginner' to UWP programming, and are considering using XAML in your game (see Choosing your graphics technology and programming language), the Windows 10 development for absolute beginners video series is a good place to start.
Beginners guide to Windows 10 development with XAML (Video series) | Windows 10 development for absolute beginners |
Announcing the Windows 10 absolute beginners series using XAML (blog post) | Windows 10 development for absolute beginners |
UWP development concepts
Overview of Universal Windows Platform app development | Develop Windows apps |
Overview of network programming in the UWP | Networking and web services |
Using Windows.Web.HTTP and Windows.Networking.Sockets in games | Networking for games |
Asynchronous programming concepts in the UWP | Asynchronous programming |
Windows Desktop APIs to UWP
These are some links to help you move your Windows desktop game to UWP.
Use existing C++ code for UWP game development | How to: Use existing C++ code in a UWP app |
UWP APIs for Win32 and COM APIs | Win32 and COM APIs for UWP apps |
Unsupported CRT functions in UWP | CRT functions not supported in Universal Windows Platform apps |
Alternatives for Windows APIs | Alternatives to Windows APIs in Universal Windows Platform (UWP) apps |
Process lifetime management
Process lifetime management, or app lifecyle, describes the various activation states that a Universal Windows Platform app can transition through. Your game can be activated, suspended, resumed, or terminated, and can transition through those states in a variety of ways.
Handling app lifecyle transitions | App lifecycle |
Using Microsoft Visual Studio to trigger app transitions | How to trigger suspend, resume, and background events for UWP apps in Visual Studio |
Designing game UX
The genesis of a great game is inspired design.
Games share some common user interface elements and design principles with apps, but games often have a unique look, feel, and design goal for their user experience. Games succeed when thoughtful design is applied to both aspects—when should your game use tested UX, and when should it diverge and innovate? The presentation technology that you choose for your game—DirectX, XAML, HTML5, or some combination of the three—will influence implementation details, but the design principles you apply are largely independent of that choice.
Separately from UX design, gameplay design such as level design, pacing, world design, and other aspects is an art form of its own—one that's up to you and your team, and not covered in this development guide.
UWP design basics and guidelines | Designing UWP apps |
Designing for app lifecycle states | UX guidelines for launch, suspend, and resume |
Design your UWP app for Xbox One and television screens | Designing for Xbox and TV |
Targeting multiple device form factors (video) | Designing Games for a Windows Core World |
Color guideline and palette
Following a consistent color guideline in your game improves aesthetics, aids navigation, and is a powerful tool to inform the player of menu and HUD functionality. Consistent coloring of game elements like warnings, damage, XP, and achievements can lead to cleaner UI and reduce the need for explicit labels.
How To Package Your Game For Download Game Develop For Windows
Color guide | Best Practices: Color |
Typography
The appropriate use of typography enhances many aspects of your game, including UI layout, navigation, readability, atmosphere, brand, and player immersion.
Typography guide | Best Practices: Typography |
UI map
A UI map is a layout of game navigation and menus expressed as a flowchart. The UI map helps all involved stakeholders understand the game’s interface and navigation paths, and can expose potential roadblocks and dead ends early in the development cycle.
UI map guide | Best Practices: UI Map |
Game audio
Guides and references for implementing audio in games using XAudio2, XAPO, and Windows Sonic. XAudio2 is a low-level audio API that provides signal processing and mixing foundation for developing high performance audio engines. XAPO API allows the creation of cross-platform audio processing objects (XAPO) for use in XAudio2 on both Windows and Xbox. Windows Sonic audio support allows you to add Dolby Atmos for Home Theater, Dolby Atmos for Headphones, and Windows HRTF support to your game or streaming media application.
XAudio2 APIs | Programming guide and API reference for XAudio2 |
Create cross-platform audio processing objects | XAPO Overview |
Intro to audio concepts | Audio for games |
Windows Sonic overview | Spatial sound |
Windows Sonic spatial sound samples | Xbox Advanced Technology Group audio samples |
Learn how to integrate Windows Sonic into your games (video) | Introducing Spatial Audio Capabilities for Xbox and Windows |
DirectX development
Guides and references for DirectX game development.
DirectX for UWP development | DirectX programming |
Tutorial: How to create a UWP DirectX game | Create a simple UWP game with DirectX |
DirectX interaction with the UWP app model | The app object and DirectX |
Graphics and DirectX 12 development videos (YouTube channel) | Microsoft DirectX 12 and Graphics Education |
DirectX overviews and reference | DirectX Graphics and Gaming |
Direct3D 12 programming guide and reference | Direct3D 12 Graphics |
DirectX 12 fundamentals (video) | Better Power, Better Performance: Your Game on DirectX 12 |
Learning Direct3D 12
Learn what changed in Direct3D 12 and how to start programming using Direct3D 12.
Set up programming environment | Direct3D 12 programming environment setup |
How to create a basic component | Creating a basic Direct3D 12 component |
Changes in Direct3D 12 | Important changes migrating from Direct3D 11 to Direct3D 12 |
How to port from Direct3D 11 to Direct3D 12 | Porting from Direct3D 11 to Direct3D 12 |
Resource binding concepts (covering descriptor, descriptor table, descriptor heap, and root signature) | Resource binding in Direct3D 12 |
Managing memory | Memory management in Direct3D 12 |
DirectX Tool Kit and libraries
The DirectX Tool Kit, DirectX texture processing library, DirectXMesh geometry processing library, UVAtlas library, and DirectXMath library provide texture, mesh, sprite, and other utility functionality and helper classes for DirectX development. These libraries can help you save development time and effort.
Get DirectX Tool Kit for DirectX 11 | DirectXTK |
Get DirectX Tool Kit for DirectX 12 | DirectXTK 12 |
Get DirectX texture processing library | DirectXTex |
Get DirectXMesh geometry processing library | DirectXMesh |
Get UVAtlas for creating and packing isochart texture atlas | UVAtlas |
Get the DirectXMath library | DirectXMath |
Direct3D 12 support in the DirectXTK (blog post) | Support for DirectX 12 |
DirectX resources from partners
These are some additional DirectX documentation created by external partners.
Nvidia: DX12 Do's and Don'ts (blog post) | DirectX 12 on Nvidia GPUs |
Intel: Efficient rendering with DirectX 12 | DirectX 12 rendering on Intel Graphics |
Intel: Multi adapter support in DirectX 12 | How to implement an explicit multi-adapter application using DirectX 12 |
Intel: DirectX 12 tutorial | Collaborative white paper by Intel, Suzhou Snail and Microsoft |
Production
Your studio is now fully engaged and moving into the production cycle, with work distributed throughout your team. You're polishing, refactoring, and extending the prototype to craft it into a full game.
Notifications and live tiles
A tile is your game's representation on the Start Menu. Tiles and notifications can drive player interest even when they aren't currently playing your game.
Developing tiles and badges | Tiles, badges, and notifications |
Sample illustrating live tiles and notifications | Notifications sample |
Adaptive tile templates (blog post) | Adaptive Tile Templates - Schema and Documentation |
Designing tiles and badges | Guidelines for tiles and badges |
Windows 10 app for interactively developing live tile templates | Notifications Visualizer |
UWP Tile Generator extension for Visual Studio | Tool for creating all required tiles using single image |
UWP Tile Generator extension for Visual Studio (blog post) | Tips on using the UWP Tile Generator tool |
Enable in-app product (add-on) purchases
An add-on (in-app product) is a supplementary item that players can purchase in-game. Add-ons can be game levels, items, or anything else that your players might enjoy. Used appropriately, add-ons can provide revenue while improving the game experience. You define and publish your game's add-ons through Partner Center, and enable in-app purchases in your game's code.
Durable add-ons | Enable in-app product purchases |
Consumable add-ons | Enable consumable in-app product purchases |
Add-on details and submission | Add-on submissions |
Monitor add-on sales and demographics for your game | Add-on acquisitions report |
Debugging, performance optimization, and monitoring
To optimize performance, take advantage of Game Mode in Windows 10 to provide your gamers with the best possible gaming experience by fully utilizing the capacity of their current hardware.
The Windows Performance Toolkit (WPT) consists of performance monitoring tools that produce in-depth performance profiles of Windows operating systems and applications. This is especially useful for monitoring memory usage and improving game performance. The Windows Performance Toolkit is included in the Windows 10 SDK and Windows ADK. This toolkit consists of two independent tools: Windows Performance Recorder (WPR) and Windows Performance Analyzer (WPA). ProcDump, which is part of Windows Sysinternals, is a command-line utility that monitors CPU spikes and generates dump files during game crashes.
Performance test your code | Cloud based load testing |
Get Xbox console type using Gaming Device Information | Gaming Device Information |
Improve performance by getting exclusive or priority access to hardware resources using Game Mode APIs | Game Mode |
Get Windows Performance Toolkit (WPT) from Windows 10 SDK | Windows 10 SDK |
Get Windows Performance Toolkit (WPT) from Windows ADK | Windows ADK |
Troubleshoot unresponsible UI using Windows Performance Analyzer (video) | Critical path analysis with WPA |
Diagnose memory usage and leaks using Windows Performance Recorder (video) | Memory footprint and leaks |
Get ProcDump | ProcDump |
Learn to use ProcDump (video) | Configure ProcDump to create dump files |
Advanced DirectX techniques and concepts
Some portions of DirectX development can be nuanced and complex. When you get to the point in production where you need to dig down into the details of your DirectX engine, or debug difficult performance problems, the resources and information in this section can help.
PIX on Windows | Performance tuning and debugging tool for DirectX 12 on Windows |
Debugging and validation tools for D3D12 development (video) | D3D12 Performance Tuning and Debugging with PIX and GPU Validation |
Optimizing graphics and performance (video) | Advanced DirectX 12 Graphics and Performance |
DirectX graphics debugging (video) | Solve the tough graphics problems with your game using DirectX Tools |
Visual Studio 2015 tools for debugging DirectX 12 (video) | DirectX tools for Windows 10 in Visual Studio 2015 |
Direct3D 12 programming guide | Direct3D 12 Programming Guide |
Combining DirectX and XAML | DirectX and XAML interop |
High dynamic range (HDR) content development
Build game content that uses the full color capabilities of HDR.
Introduction to HDR and color concepts (video) | Lighting up HDR and advanced color in DirectX |
Learn how to render HDR content and detect whether the current display supports it | HDR sample |
Create and configure an advanced color using DirectX | Direct2D advanced color image rendering sample |
Globalization and localization
Develop world-ready games for the Windows platform and learn about the international features built into Microsoft’s top products.
Preparing your game for the global market | Guidelines when developing for a global audience |
Bridging languages, cultures, and technology | Online resource for language conventions and standard Microsoft terminology |
Submitting and publishing your game
The following guides and information help make the publishing and submission process as smooth as possible.
Publishing
You'll use Partner Center to publish and manage your game packages.
Partner Center app publishing | Publish Windows apps |
Partner Center advanced publishing (GDN) | Partner Center advanced publishing guide |
Use Azure Active Directory (AAD) to add users to your Partner Center account | Manage account users |
Rating your game (blog post) | Single workflow to assign age ratings using IARC system |
Packaging and uploading
Learn to use streaming install and optional packages (video) | Nextgen UWP app distribution: Building extensible, stream-able, componentized apps |
Divide and group content to enable streaming install | UWP App Streaming install |
Create optional packages like DLC game content | Optional packages and related set authoring |
Package your UWP game | Packaging apps |
Package your UWP DirectX game | Package your UWP DirectX game |
Packaging your game as a 3rd party developer (blog post) | Create uploadable packages without publisher's store account access |
Creating app packages and app package bundles using MakeAppx | Create packages using app packager tool MakeAppx.exe |
Signing your files digitally using SignTool | Sign files and verify signatures in files using SignTool |
Uploading and versioning your game | Upload app packages |
Policies and certification
Don't let certification issues delay your game's release. Here are policies and common certification issues to be aware of.
Microsoft Store App Developer Agreement | App Developer Agreement |
Policies for publishing apps in the Microsoft Store | Microsoft Store Policies |
How to avoid some common app certification issues | Avoid common certification failures |
Store manifest (StoreManifest.xml)
The store manifest (StoreManifest.xml) is an optional configuration file that can be included in your app package. The store manifest provides additional features that are not part of the AppxManifest.xml file. For example, you can use the store manifest to block installation of your game if a target device doesn't have the specified minimum DirectX feature level, or the specified minimum system memory.
Store manifest schema | StoreManifest schema (Windows 10) |
Game lifecycle management
After you've finished development and shipped your game, it's not 'game over'. You may be done with development on version one, but your game's journey in the marketplace has only just begun. You'll want to monitor usage and error reporting, respond to user feedback, and publish updates to your game.
Partner Center analytics and promotion
Partner Center analytics | Analyze app performance |
Learn how your customers are engaging with the Xbox features in your game | Xbox analytics report |
Responding to customer reviews | Respond to customer reviews |
Ways to promote your game | Promote your apps |
Visual Studio Application Insights
Visual Studio Application Insights provides performance, telemetry, and usage analytics for your published game. Application Insights helps you detect and solve issues after your game is released, continuously monitor and improve usage, and understand how players are continuing to interact with your game. Application Insights works by adding an SDK into your app, which sends telemetry to the Azure portal.
Application performance and usage analytics | Visual Studio Application Insights |
Enable Application Insights in Windows apps | Application Insights for Windows Phone and Store apps |
Third party solutions for analytics and promotion
Understand player behavior using GameAnalytics | GameAnalytics |
Connect your UWP game to Google Analytics | Get Windows SDK for Google Analytics |
Learn how to use Windows SDK for Google Analytics (video) | Getting started with Windows SDK for Google Analytics |
Use Facebook App Installs Ads to promote your game to Facebook users | Get Windows SDK for Facebook |
Learn how to use Facebook App Installs Ads (video) | Getting started with Windows SDK for Facebook |
Use Vungle to add video ads into your games | Get Windows SDK for Vungle |
Creating and managing content updates
To update your published game, submit a new app package with a higher version number. After the package makes its way through submission and certification, it will automatically be available to customers as an update.
Updating and versioning your game | Package version numbering |
Game package management guidance | Guidance for app package management |
Adding Xbox Live to your game
Xbox Live is a premier gaming network that connects millions of gamers across the world. Developers gain access to Xbox Live features that can organically grow their game’s audience, including Xbox Live presence, Leaderboards, Cloud Saves, Game Hubs, Clubs, Party Chat, Game DVR, and more.
Note
If you would like to develop Xbox Live enabled titles, there are several options are available to you. For info about the various programs, see Developer program overview.
Xbox Live overview | Xbox Live developer guide |
Understand which features are available depending on program | Developer program overview: Feature table |
Links to useful resources for developing Xbox Live games | Xbox Live resources |
Learn how to get info from Xbox Live services | Introduction to Xbox Live APIs |
For developers in the Xbox Live Creators Program
Overview | Get started with the Xbox Live Creators Program |
Add Xbox Live to your game | Step by step guide to integrate Xbox Live Creators Program |
Add Xbox Live to your UWP game created using Unity | Get started developing an Xbox Live Creators Program title with the Unity game engine |
Set up your development sandbox | Xbox Live sandboxes introduction |
Set up accounts for testing | Authorize Xbox Live accounts in your test environment |
Samples for Xbox Live Creators Program | Code samples for Creators Program developers |
Learn how to integrate cross-platform Xbox Live experiences in UWP games (video) | Xbox Live Creators Program |
For managed partners and developers in the ID@Xbox program
Overview | Get started with Xbox Live as a managed partner or an ID developer |
Add Xbox Live to your game | Step by step guide to integrate Xbox Live for managed partners and ID members |
Add Xbox Live to your UWP game created using Unity | Add Xbox Live support to Unity for UWP with IL2CPP scripting backend for ID and managed partners |
Set up your development sandbox | Advanced Xbox Live sandboxes |
Requirements for games that use Xbox Live (GDN) | Xbox Requirements for Xbox Live on Windows 10 |
Samples | Code samples for ID@Xbox developers |
Overview of Xbox Live game development (video) | Developing with Xbox Live for Windows 10 |
Cross-platform matchmaking (video) | Xbox Live Multiplayer: Introducing services for cross-platform matchmaking and gameplay |
Cross-device gameplay in Fable Legends (video) | Fable Legends: Cross-device Gameplay with Xbox Live |
Xbox Live stats and achievements (video) | Best Practices for Leveraging Cloud-Based User Stats and Achievements in Xbox Live |
Additional resources
Game development videos | Videos from major conferences like GDC and //build |
Indie game development (video) | New Opportunities for Independent Developers |
Considerations for multi-core mobile devices (video) | Sustained Gaming Performance in multi-core mobile devices |
Developing Windows 10 desktop games (video) | PC Games for Windows 10 |