The March 2013 release of the Durango XDK from Microsoft contains the following new features, tools, and documentation. For features that shipped in a previous release of the Durango XDK, see the What’s New document for that release, available from Features Introduced in Previous Releases.
The most recent release notes for and updates to the Durango XDK can always be found on Durango XDK Software Downloads on the Xbox Game Developer site. For access, log in with your ID and password on https://developer.microsoft.com/en-us/games/xbox/partner/index; at the top of the page, point to Development and click Downloads.
The Durango developer support group sends e-mail to Durango developers whenever a new Durango XDK is released. Also, you can check with your account manager for the latest information about upcoming Durango XDK releases.
The March XDK exclusively supports beta hardware. If you need to continue on alpha hardware, use the January 2013 XDK. However, we urge you to move to beta hardware and software as quickly as possible. There are no plans for future software releases that support alpha kits. Also, all new features of Xbox LIVE will be available only to beta hardware.
Official support for alpha kits will on May 1, 2013. At that time, we will no longer provide technical support for development with alpha kits nor guarantee that alpha kits can connect to Xbox LIVE.
Support Only for Beta Development Kits
The March XDK exclusively supports beta hardware. If you need to continue on alpha hardware, use the January 2013 XDK. However, we urge you to move to beta hardware and software as quickly as possible. There are no plans for future software releases that support alpha kits. Also, all new features of Xbox LIVE will be available only to beta hardware.
Official support for alpha kits will end on May 1, 2013. At that time, we will no longer provide technical support for development with alpha kits nor guarantee that alpha kits can connect to Xbox LIVE.
Xbox Game Video Recording
The March 2013 Durango XDK introduces a preview of the Xbox Game Video Recording API. This API allows games to capture their coolest moments as video clips that are automatically associated with a user’s profile in the Xbox Game Clip service. Users will be able to play back their own clips and their friends’ clips when viewing profiles in the shell. Titles will also be able to query a user’s clips for play back in the title. This release of the XDK is primarily aimed at sharing the API with developers; it provides only limited functionality for experimentation—in this release, the capture API produces a fake clip. Actual graphics and audio will be captured by a future version of the API. For complete details, see Game DVR.
Xbox LIVE Services Updates
The March 2013 release of the Durango XDK adds several new and updated Xbox LIVE services. These updates are described in the following table.
| Service | Description of added functionality |
|---|---|
| Achievements | Get list of achievements configured for a title and user-specific status for each achievement. |
| GameDVR | Allow uploading of game clips and related metadata, query for clips based on user and title, return clips for playback. |
| Leaderboards | Get people leaderboards. |
| Real Time Activity | Subscribe and unsubscribe from real-time events. |
| Multiplayer | Matchmaking hopper statistics, typical wait time info, DLC-based matchmaking rules, send a reputation update (player feedback). |
| Parties | Create a party, invite a friend to a party, accept invitations to a party, get party details via an API, enter matchmaking with a party, and enter cooperative play with a party. |
| People | Get lists of people (friends), manage people lists (friends), and designate people as favorite people. |
| Rich Presence | GET/SET Rich Presence settings. |
| Xbox cloud compute | Version 1 of Game Server SDK APIs, local logging to file, remote logging of SI events, integration between Game Server runtime and lifecycle management services. |
| User statistics | Custom events and statistics. |
Xbox LIVE Services APIs
The March 2013 release introduces a set of client-side APIs for Xbox services that allow games to easily access Xbox LIVE services. The following list of client-side APIs are available in the March XDK for Xbox LIVE RESTful services:
Hand Tip and Thumb Joints
The March 2013 release of the Durango XDK adds support for hand tip and thumb joint tracking for skeletal tracking. The hand tip joint is very high precision and is great for subtle motions. The thumb joint allows the user’s thumb to act as an extra button, and can also be used to derive the full orientation of the hand. For a list of all the supported types of joints, see JointType Enumeration.
Joints Orientation
The March 2013 release of the Durango XDK introduces per-joint yaw, pitch, and roll information as part of the skeleton. This information is computed from position data, and it provides a great starting point for character retargeting.
NUI Detects Mouth and Eye States
With the March 2013 release, NUI now detects states of a player’s mouth and eyes: mouth is open, mouth is moving, left eye is closed, and right eye is closed.
Support for H.264 in Hardware
The March 2013 release of the Durango XDK adds support for hardware-based encoding/decoding of H.264 video via Media Foundation transform (MFT). For more information, see Media Foundation.
1080p Color Stream with Color Registration APIs
The March 2013 XDK release enables color to be streamed from the Durango sensor at a true 1080p resolution. This release also introduces an API for performing color registration (mapping depth to color).
Speech API Changes
The March 2013 release of the Durango XDK includes changes to the Speech Windows Runtime interfaces and classes that support SpeechGrammarBuilderRuleSet to improve usability. For more information about speech recognition with Durango, see Windows.Xbox.Speech.Recognition.
Also, BabbleTimeout, a property of SpeechRecognizer objects, now defaults to 0 (disabled).
SpeechGrammarBuilder Simplified
The March 2013 release of the Durango XDK includes changes to simplify initializing the SpeechGrammarBuilder object from an existing grammar. We have added a new interface of ISpeechGrammarBuilderStatic to enable building the object from either an SRGS grammar (.grxml) file or a run-time SpeechGrammar object. For more information, see Windows.Xbox.Speech.Recognition.
New Speech Events
The March 2013 release of the Durango XDK includes the following new events in the Windows Runtime API for speech:
Graphics Performance Improvements
The March 2013 release of the Durango XDK features a collection of graphics driver performance improvements, including some command buffer performance improvements and texture tiling to improve texture bandwidth.
PIX: Beta Hardware support
In the March 2013 release of the Durango XDK, PIX has been updated to fully support beta hardware; all PIX features function at parity with past releases. This includes an update to the near-final GPU hardware counters used in GPU captures and an accompanying reorganization of the counter groupings in the Counters view. Derived counters are now emphasized and grouped separately, whereas the GPU counters are grouped in a single flat category.
PIX captures taken from Alpha development kits are not guaranteed to be compatible with analysis on beta hardware. We recommend that you refresh any GPU captures previously taken.
PIX: System Monitor and CPU hardware counters
In the March 2013 release of the Durango XDK, System Monitor is now integrated into the PIX user interface as the primary entry point for all performance investigation. The previous System Monitor command on the View menu has been removed and replaced with a new Console view. Each console view represents a connection to a development kit, and it graphs counters in real-time like the previous version of System Monitor. As with other PIX views, you’re free to create as many console views as you want and point them at an arbitrary set of development kits, allowing for monitoring and capture in test labs or other one-to-many scenarios. Counters are now added and removed from the graph using the Counters view. Counter sets can be modified, saved, and loaded analogous to GPU captures.
For this release, System Monitor now supports CPU hardware counters. Along with the previous set of OS-level counters for CPU load, 210 new per-core counters have been added to track hardware performance, including Retired Instructions per Second and DCache Misses per Second. These counters will help you gain a better awareness of the behavior of your title code in aggregate, to help you to make smarter decisions about where and what to examine next.
PIX: Edit and Continue for Shaders
The March 2013 release of the Durango XDK marks the first exciting release of Edit and Continue in PIX. You can use Edit and Continue to quickly test potential code changes and verify their impact to rendering and performance without the typically painful round-trip of rebuilding assets, restarting the game, and reproducing the capture scenario. With this release, you can edit shader HLSL in place in the Resource Browser view and apply changes to the entire capture. Shaders are recompiled on demand, and the results are displayed in the context of the current analysis session.
Final Supported Release for Visual Studio Graphics Diagnostics with Exclusive Apps
The March 2013 release of the Durango XDK is the final XDK release that will support Visual Studio Graphics Diagnostics for exclusive apps. Visual Studio Graphics Diagnostics will not track additional changes to Direct3D in the XDK; as more apps take advantage of Xbox Direct3D extensions, Visual Studio Graphics Diagnostics will become less useful for Durango projects. In future releases, we will add more graphics debugging features to PIX, which will be compatible with all Xbox Direct3D extensions.
Visual Studio Graphics Diagnostics will remain supported on Windows and will be supported for shared apps on Durango.
GetTokenAndSignatureAsync Method added to User
The March 2013 release of the Durango XDK introduces the User.GetTokenAndSignatureAsync method, which allows you to get a token to use when interacting programmatically with Xbox services. With this change, XboxLiveAuthenticator is deprecated, developers should use new User.GetTokenAndSignatureAsync.
Set the Sandbox ID on a Development Kit
The March 2013 release of the Durango XDK adds the ability set the sandbox ID on a dev kit. For more information, see Configuration (xbconfig.exe).
Debugger Command Line Arguments
The March 2013 release of the Durango XDK adds the ability to specify command line arguments to be passed through the debugger from within Visual Studio and to the app directly from xbApp launch.
Command line arguments are passed to the game through the Arguments property on the LaunchActivatedEventArgs class. An instance of LaunchActivatedEventArgs is sent to the game as a parameter to the Activated event on CoreApplicationView. The Activated event receives event arguments of type IActivatedEventArgs, which has a Kind property. If IActivatedEventArgs::Kind is Launch, the arguments can be QI’d for ILaunchActivatedEventArgs (casted) interface to access the Arguments property. The following example shows how a game would access the command line parameters.
void ApplicationView::OnActivated(CoreApplicationView^ applicationView, IActivatedEventArgs^ args)
{
if (args->Kind == ActivationKind::Launch)
{
LaunchActivatedEventArgs ^launchArgs = (LaunchActivatedEventArgs ^) args;
Platform::String ^commandlineParams = launchArgs->Arguments;
/* parse commandlineParams .... */
}
CoreWindow::GetForCurrentThread()->Activate();
}
“Save Dump As…” Enabled
The March 2013 release of the Durango XDK adds the ability to save crash dumps from Visual Studio. They can then be loaded into the IDE for analysis.
Crash Dump Support
The March 2013 release of the Durango XDK adds support for MiniDumpWriteDump. Shared apps will automatically capture user-mode crash dumps and store them on the console. Exclusive app developers can call MiniDumpWriteDump after registering with the unhandled exception filter.
Additional Debug Symbols
Along with the March 2013 release of the Durango XDK, we have posted a ZIP file on the Durango XDK downloads page that contains symbols for additional areas, including the CRT and certain OS components.
xbDeploy Command Line Tool
The March 2013 release of the Durango XDK adds Deploy (xbdeploy.exe), a command-line tool that is used to push or pull packages or loose files during interactive development.
Accelerated Audio Hardware
In the March 2013 release of the Durango XDK, accelerated audio hardware (for XMA decoding, sample-rate conversion, filtering, and more) is available on the beta console. The ACP Hardware Abstraction Layer (HAL) library, which previously used software emulation, now works directly with the hardware. There have been some changes to the structures, commands, and helper functions to support this. For details about the changes, see Audio.
WASAPI Exposes NUI Audio Endpoint
In the March 2013 release of the Durango XDK, WASAPI now exposes a NUI audio endpoint, allowing titles and the speech recognition library to consume data coming from the microphone array in the beta sensor.