The goal of this site is to put relevant and applicable tools and information at the fingertips
With this blog we want to inform you on our latest initiatives.
Enjoy reading and stay tuned!
Marmalade is a popular C++ toolkit and gaming engine for 2D and 3D games that is used by a wide range of pro and indie developers to build games such as Lara Croft and the Guardian of Light, Godus, Vector, and Draw Something. In this hands on lab, you will learn how to create a basic game framework, add and use 3D resources, interact with objects and deploy the game to Windows Phone and Store devices.
Download the source code
Wordament is a multiplayer, original word puzzle game and is available cross platform Xbox Live title with over 1,000,000 players which was developed by two indie developers.
To help you understand the opportunity of cloud connected games we have developed a three part series on MSDN,
The series goes into all the details on how the Wordament developers made this happen, using Azure as a backend, and Xamarin to take their native C# projects to other platforms.
Part I. Anywhere, anytime, any device: Wordament’s cloud architecture Part II. Developing a cross platform app Part III. Running a business
As game developers were looking a providing the best experience across all our devices and many of you want to get results from devices which do not have Visual Studio installed.
To enable this we are now shipping a command line tool called DXcap which is a great tool for capturing and playback which is included in the Windows SDK.
If your a Visual Studio user Windows SDK comes with Visual Studio.
You can use this tool to capture frames from desktop apps, store apps, and phone apps.
Once you installed Visual Studio 2013 Update 3 RC (Download) or standalone Windows SDK (Download). You can find dxcap.exe in C:\Windows\System32 and C:\Windows\SysWOW64. Simply pass in -c and the name of the exe to capture and –p to playback the most recent captured log.
A quick example:
DXCap.exe is a command-line tool for graphics diagnostics capture and playback. It supports Direct3D 10 through Direct3D 11.2 across all feature levels.
DXCap.exe [-file filename] [-frame frames | -period periods | -manual] -c app [args...]
DXCap.exe -p [filename] [-debug | -warp | -hw] [-config] [-rawmode]
DXCap.exe –p [filename] –screenshot [-frame frames]
DXCap.exe –p [filename] –toXML [xml_filename]
DXCap.exe –v [–file filename] [-examine events] [-haltonfail | -exitonfail] [-showprogress]
DXCap.exe -e [search_string]
So to capture frame 100 from a desktop app: dxcap.exe –frame 100 -c "C:\TestProjects\MyApp.exe"
To playback: dxcap.exe -p
You can find details in DXCap's help information (Dxcap /?) or MSDN document Command-Line Capture Tool .
We are now exposing a number of options for capture which you can find by opening TOOLS->Options->Graphics Diagnostics page in Visual Studio 2013 Update 3.
Visual Studio 2013 Update 3 has made significant cnages to the shader editing experience.
One of the great new features is that ability to Edit and Apply a new shader as well as a side by side view of shader source code and compiler output.
You can access the new features by simply clicking on the shader file name in the Pipeline Stages window or the Pixel History window.
This will open the shader editor what is cool, is that the pixel shader shows both the source code and disassembly code generated by HLSL Shader Compiler.
This allows you to directly make changes in the source code, and once the tool detects differences in output, the Apply button at the will be enabled.
You simply need to click Apply to apply the changes to the current vsglog file and you can view how the changes impact the rendering result immediately, including..
1. Render Target view 2. Pipeline Stages 3. Pixel History windows
Some additional great resources/features
The source code which you edit will be keep it in a temporary location (the path is underneath the window) and changes are only applied to the vsglog file and does not affect your original source.
Therefore you can use the vsglog file as a "playground" to try out different shader effects and view their impacts.
If your not keen on the changes or they have a detrimental impact to performance the changes can be easily reverted back to when the frame was captured by clicking the Reset button.
However if you like the changes and want to move the changes to the original source, you can use the Copy to… button which brings up a dialog where you can specify the location of the source file we should copy these changes to.
Ability to make live changes during debug
During shader debugging, you can make changes to the shader code, but the Apply button will only be enabled after debugging is stopped which is another nice feature.
With the update to Visual Studio with Update 3 there is a new experience for helping you Analyse your Graphics
Once frames are captured, in the Visual Studio Graphic Diagnostic you can analyse their performance.
To do this simply double click on any frame in the diagsession file you can also save the diagsession file in Visual Studio or save the vsglog file in VSGA for later inspections. By just clicking on the Frame# link. This will open the frame in another instance of Visual Studio 2013 named Visual Studio Graphics Analyser (VSGA).
VSGA is a customized VS environment that only contains the necessary components for analysing frames.
The huge benefit of using VSGA is it's lightweight and has a low memory footprint.
More importantly the VSGA provides within a Visual Studio IDE as is a highly focused environment for analysing frames. You also have access to all the familiar features including..
1. Event List 2. Pixel History 3. Pipeline Stage 4. Objects 5. Event Call Stack 6. Debugging shader code.
You can also configure how VSGA looks so it's easier to distinguish it from your regular VS IDE window by using VIEW->Options page in VSGA.
For example you can simply change the theme as in the screenshot below where the VSGA window is using the dark theme while Visual Studio is using the light theme.
Visual Studio 2013 Update 3 RC (Download)
Visual Studio 2013 Update 3 RC (Download)isual Studio Graphics Analyzer IDE is a new feature of Visual Studio 2013 update 3 which is a dedicated space for analyzing graphics frames
With the updates to Visual Studio 2013 the Graphics Diagnostics tool is now running in the Performance and Diagnostics hub to provide a consistent view with other diagnostics tools you might be familiar with such as CPU Usage and Memory Usage.
To access the Graphics Diagnostics tool you need to select the DEBUG menu
Debug -> Graphics menu.
In the upper part of the session file, there is one swimlane for Frame time and another one for FPS which would give you an idea of how fast your app is running.
You can set a threshold value (Red Line in Screenshot below) which you can configure in the dropdown for each swimlane.
The default threshold value is 60 FPS.
VSGD is a new is a tool to help diagnose graphics rendering and performance issues in DirectX apps which has been made available with Visual Studio 2013 Update 3 RC (Download)
So where do you find VSGD
VSGD is a new option under the DEBUG->Graphics->Start Diagnostics menu or you can quick access the feature by pressing Alt+F5 on the current solution or an exe in VS.
More details on VSGD
A must read for Graphics Enthusiast is Graphics Diagnostics Overview this provides a high level summary of what's new in VSGD in VS 2013 Update 3 RC but here a quick list of new features.
1. New Visual Studio Graphics Analyzer IDE: A dedicated space for analyzing graphics frames
2. Shader Edit and Apply: View the impact of shader code changes in a captured log without re-running the app
If you prefer to watch these features in action, check out the latest Channel9 video I will also be doing some additional blogs about the Visual Studio Graphics Analyser and Visual Studio PixelShader
Universal Apps are the new way to develop Windows Store apps. With a universal project developers are able to share code across Windows 8.1 and Windows Phone solutions. In this challenge you will learn how to create your a XAML/C# Universal app.C# is one of the most popular languages in the industry today. Its managed interface and wide variety of built-in components make developing rapid and efficient. Coupled with XAML, a powerful mark-up language, you can build a great game with very little code! Wordament, from Microsoft Studios is built entirely on-top of C# and XAML!
Try it out
Based on the popular Apache Cordova open source project for hybrid apps development, the extension integrates all the tools you need to extend your reach and build, test and deploy your apps to all major mobile platforms.
In this lab, you will create a simple Hybrid app and test it on multiple platforms to discover how easy it is!
If you’re building a game, one of the main decisions you will have to make is how you’ll monetize your app. With the Freemium economic strategy continuing to grow, a simple way to make some money is to display ads in your application. You can display ads in your Windows 8.1 app using the Microsoft Advertising SDK for Windows 8.1. Get started by integrating the Microsoft Advertising SDK for Windows 8.1 from within Visual Studio 2013, design ads into your apps, and stay up-to-date with the latest developments. For more information, you can visit this site. Roughly 50% of the revenue brought in on the Windows platform is through the Microsoft Ads SDK!
The goal of this challenge is to create a small game using a 3D framework called Babylon.js (and Cannon.js for the physics code).
Try it out
Unity is a game development ecosystem: a powerful rendering engine fully integrated with a complete set of intuitive tools and rapid workflows to create interactive 3D and 2D content; easy multiplatform publishing; thousands of quality, ready-made assets in the Asset Store and a knowledge-sharing community.
Corona Labs has a very simple but powerful cross-platform Game Engine – the Corona SDK. The Corona SDK exposes a Lua interface for developers to use but under the covers it is a C++ engines that can take advantage of native capabilities of multiple platforms. Built-in to Corona are extensive libraries which support a large array of features. Using these APIs and the Lua scripting, developers can use very few lines of code to do complex tasks such as apply physics, load images and even apply sounds. This frees up game developers to focus on implementing their ideas, now how to interact with different graphics engines or even different device form-factors.
Leadbolt is an award winning mobile app discovery, advertising and monetization network focused on delivering innovative solutions for Windows Phone 8, iOS and Android app developers and now for Windows Store apps.
Cocos2D-X is a popular open source C++ mobile gaming engine adopted by 400,000+ developers to build games such as Castle Clash or other top mobile games. In this hands-on lab, you will learn how to add resources to your game, use those resources in the game, and manage object interactions.
CMake is a cross-platform project files generator that enables re-use of shared C++ code across multiple IDEs or project systems. CMake has made cross platform app development much easier.
An early build of CMake that allows you to target your cross-platform code for Windows Store and Windows Phone apps is available on Codeplex here. We are working with Kitware and the CMake community to incorporate feedback and integrate it soon in the public CMake repository.
In this hands-on lab, you will learn how to add touch support to your application using openFramework on WinRT. Following the exercises, you will create a sample application that uses openFramework to respond a touch event and then modify it to respond to multi-touch events.
In this hands-on lab, you will learn how to bind XAML controls so that data is passed from one control to another. You will build on this knowledge to learn how to implement a bindable class that allows you bind an openFramework object to a XAML control.
HTML5 is a very flexible and powerful language that’s continuing to grow in popularity with Game Developers. Part of the reason of the increased interested is the cross-platform ability of the language and the ease in which you can port your game! In this Quick-Start Challenge, we will walk you through how easy it is to port an existing web app to a Windows Store and Windows Phone game.
DirectX on Windows is a suite of technologies to build extremely high performance 3D and 2D games and multimedia applications. In this challenge, you will be implementing a few simple 3D scenarios with DirectX.
Project Spark is the ultimate interactive digital playground for gamers of all ages, delivered as a free digital download with many options for enhancing your creative experience. It’s a powerful, yet simple way to build and play your own worlds, stories, and games. Share all of your creations to a dynamic community, and play what the community makes. “Project Spark” brings creation to life and presents endless opportunities for play.
Find inspiration in creations developed by a global community. Download, play, and even remix games to add new ideas. Enter Crossroads, where players create new games by making simple choices to build their own custom adventures, and then modify them to make them their own. Engage online with a global community of content creators and players, where players can share ideas, and create new ones.
Apache Cordova is an open source platform for mobile cross platform development based on Web technologies. It allows to build an application with HTML5, JS and CSS that is wrapped in native apps to be deployed on mobile platforms (iOS, Android, Windows Phone, Windows Store,&ellipsis;).
Apache Cordova support both Windows Phone 8 and Windows 8. This lab will introduce you to the two main ways of building Cordova apps targeting Windows devices
Microsoft Open Technologies WebSQL and contact plugins for Apache Cordova and PhoneGap
In this hands-on lab, you will learn how to build an Apache Cordova app that will store data in a local database running the same code on Android, iOS, Windows Phone 8 or Windows 8. You will also learn how to use the contacts plugin giving you access to the device’s contacts list in the same way across platforms thanksOpenCV on WPhone Applications to Cordova.
WinJS + Cordova introduction
WinJS also provides styling features in the form of CSS styles and classes that you can use or override.
Initially developed for Windows Web Apps, WinJS has been open sourced by MS Open Tech and can now be used to build Websites.
You can learn more on the open sourcing of WinJS and what you can do with it reading http://aka.ms/winjsopensource, visiting the http://buildwinjs.com and trying things out on http://try.buildwinjs.com
In this lab, you will try out WinJS to build a simple Apache Cordova app that has advanced graphical controls.
OpenCV on Windows Phone Applications
In this hands-on lab, you will learn how to use OpenCV on Windows Phone. In fact you will use an Interop object between C# and C++. C++ for opencv and C# for the windows phone 8.0 project (there is not C++ project on 8.0, only on 8.1)
With this interop component you’ll display the camera frames and applied some opencv filters. In the second part of the lab you’ll modify the interop object itself to enabled a new opencv feature. http://opencv.org/
Python and MongoLab (MongoDB in the Cloud)
In this hands-on lab, you will learn how to create a MongoDB database on Microsoft Azure, as well as adding records to the database and reading the records using PyMongo.
PyMongo is a Python distribution containing tools for working with MongoDB.
Redis on Windows
In this hands-on lab, you will learn how to install Redis on Windows and how to access Redis from a Python script running on Windows, through use of the redis-py module. (Redis-py is a popular Python interface to Redis.) You will write a script that displays a pattern of text on the screen and publishes that pattern to a Redis channel. You will then write a second script that “listens” on the same Redis channel and prints received messages on the screen.
Using Kinect v2 sensor with openFrameworks in WinRT applications
In this hands-on lab, you will learn how to use the Kinect sensor v2 in an openFramework application running on Windows 8. We use an openFramework version available on GitHub, in MSOpenTech repositories
You will build on this knowledge to learn how to implement a C++ modern class that allows you use the Kinect v2 WinRT object.
You will learn how to transpose the sensor data (pixel, depth, Body) into openFrameworks graphic classes.
Ahead of the consumer launch, Windows Phone 8.1 Update has begun rolling out to developers through the Windows Phone Preview Program for Developers.
Phone developers will also receive an updated Windows Phone 8.1 emulator package. The update includes consumer VPN support, Bluetooth connectivity improvements, and Store app live tiles support and Live Folders to help developers get their apps discovered, installed and launched more often.
The update contains no new developer APIs. For more details on Windows Platform Developer August Updates see http://bit.ly/1o6Lm8h
There are three great plugin and Unity3d Asset available today
Check the release notes page for up to the minute information about each release.
Microsoft Store Plugin
The Microsoft Store Plugin lets you offer your app as a free trial and sell in app purchases. Get full access to the available license information for your app and all of your products. Includes Windows 8 and Windows 8.1 support. This plugin requires Unity 4.5+.Download Now
Metro Essentials Plugin
There is something here for everyone. The Metro Essentials Plugin exposes RoamingSettings (similar to Apples iCloud), live tiles, toasts, the settings charm, the share charm and snap events. All the goodies you need to metro-ize your game are here! This plugin requires Unity 4.5+.Download Now
Social Networking Plugin (Twitter and Facebook) $75
Let word of mouth sell your game for you with this plugin! Post high score updates and achievements to the biggest social networking sites out there with just a couple lines of code. It's all here. For those who want to dig deeper into the Graph API with it's wealth of information, we support that too. Twitter integration includes all the usual suspects including posting updates, getting a users followers and full access to the entire Twitter API! This plugin requires Unity 4.5+.Buy Now
Microsoft Ads Plugin
Access the Microsoft Advertising SDK to display ad banners and monetize your app. With over 15 banner variants to choose from you are guaranteed to find one that fits your game without ruining the experience for your users. This plugin requires Unity 4.5+.Download Now
Microsoft Azure Plugin
The Azure web services are a powerful way to store data. Accessing them from a Unity game has never been easier. One line of code is all it takes to store any object remotely and securely on Azure. Retriving and deleting objects is just as easy.Download Now
Flurry Analytics Plugin
Use Flurry to learn the habits of your users! Collect valuable data like which devices they're using, if your game levels have appropriate difficulty and if anyone's bothering to read your tutorial. Sprinkle calls to log events throughout your code and watch the statistics roll in! This plugin requires Unity 4.5+.
Check the release notes page for up to the minute information about each release.
The Microsoft Store Plugin lets you offer your app as a free trial and sell in app purchases. Get full access to the available license information for your app and all of your products.Download Now
Let word of mouth sell your game for you with this plugin! Post high score updates and achievements to the biggest social networking sites out there with just a couple lines of code. It's all here. For those who want to dig deeper into Facebook's Graph API with it's wealth of information, we support that too. Twitter integration includes all the usual suspects including posting updates, getting a users followers and full access to the entire Twitter API! Buy Now
AdMob Plugin $40
AdMob has finally made its way to Windows Phone 8! Create and display a banner with one line of code. Full interstitial support is also included for ultra high CPM adverts. This plugin requires Unity 4.5+. Buy Now
Access the Microsoft Advertising SDK to display ad banners and monetize your app. Monetize your free apps with Microsofts high CPM ad banner solution today! This plugin requires Unity 4.5+. Download Now
Windows Phone Essentials Plugin
There is something here for everyone. The Windows Phone Essentials Plugin exposes live tiles and push notifications to Unity. A host of Windows Phone sharing tasks are also exposed including the SMS composer, email composer, web browser, link sharing, status update sharing, rate this app, photo chooser and more! All the goodies you need to metro-ize your game are here! Download Now
Flurry Analytics Plugin $45
Use Flurry to learn the habits of your users! Collect valuable data like which devices they're using, if your game levels have appropriate difficulty and if anyone's bothering to read your tutorial. Sprinkle calls to log events throughout your code and watch the statistics roll in! Buy Now
Bit Rave have extensive experience working with the Windows 8 platform capabilities, and as part of that we decided to build a library for Unity to make Windows 8 integration easier for everyone.
Azure plugins are now separate. Information can be found here: http://www.bitrave.com/azure-mobile-services-for-unity-3d/
Azure plugins are now separate. Information can be found here: http://www.bitrave.com/azure-mobile-services-for-unity-3d/
Find out just how easy it is for each of the Windows 8 capabilities.
The Azure Mobile Services plugin for Unity 3D is available open source at github. That’s the place to go if you want to contribute or look at the source. It’s on github here: https://github.com/bitrave/azure-mobile-services-for-unity3d . However, if you don’t care about the source, and just use it, head to github as there is an example project with built binaries in it so you can just grab it and use it.
The WinBridge is a plugin for Unity that enables easier command of native controls and features of WinRT (the underlying library behind Windows Store, Windows Phone and Xbox One apps). Currently implemented are: - Windows store (In-app-purchases, trial upgrade, receipt management, Windows store debugging) - Native message dialogs - Native and hardware-accelerated video playback This plugin is an open-source project by Microsoft developer evangelists, aiming to make porting to and development for Windows, Windows Phone and Xbox platforms easier. This plugin ships with compiled DLLs, but the full source is available at https://github.com/ProtossEngineering/WinBridge.