What's New in XNA Game Studio 4.0 Refresh

Describes new features and documentation in XNA Game Studio 4.0 Refresh.

  • Creator's Club Online is now App Hub
  • Changes from XNA Game Studio 3.1 to XNA Game Studio 4.0
  • New Features in XNA Game Studio 4.0 Refresh
  • New and Updated Tools Features for XNA Game Studio 4.0 Refresh
  • New Documentation for XNA Game Studio 4.0 Refresh
  • Updated Documentation for XNA Game Studio 4.0 Refresh

Creator's Club Online is now App Hub

The community site previously known as Creator's Club Online has been incorporated into App Hub. This new site provides forums, tutorials, samples, and guides for getting your games and applications to the Xbox 360 Marketplace and the Windows Phone Marketplace.

Changes from XNA Game Studio 3.1 to XNA Game Studio 4.0

XNA Game Studio 4.0 Refresh is an in-place update of XNA Game Studio 4.0. Changes that occurred between XNA Game Studio 3.1 and XNA Game Studio 4.0 still apply to this release. For a full discussion about those changes, see What's New in XNA Game Studio 4.0.

New Features in XNA Game Studio 4.0 Refresh

  • Visual Basic support
  • Fast Application Switching
  • TCP/UDP Sockets
  • Silverlight and XNA Interoperability, Overlay Rendering
  • System-Enforced Memory Limit Tracking
  • Access to Camera Feed
  • Compass
  • Gyroscope
  • SIMD Support
  • Generational Garbage Collection
  • Updated Hardware Checking APIs

Visual Basic support

Visual Basic (VB) is now supported in XNA Game Studio. For more information in this documentation set, see Developing XNA Framework games in Visual Basic. For more articles and VB samples, see Visual Basic Support for XNA Game Studio on App Hub.

Fast Application Switching

Games on Windows Phone are no longer automatically suspended when an interruption occurs. They will remain in the background and reactivate without needing to pass through the exit/resume states, although they may still be suspended or closed based on resource needs and time elapsed since deactivation.

This is a major difference in behavior from XNA Game Studio 4.0. Title deactivation code must now handle the potential for the application to remain active and reinitialize. All title behavior is frozen, but can be resumed, during a switch to another application, so timing and logic code may require changes. Use of MediaPlayer cut-scenes to allow asynchronous content loading or processing is no longer available.

TCP/UDP Sockets

In addition to pre-existing support for HTTP-based networking, titles on Windows Phone can now use raw TCP/UDP sockets to communicate with servers and other devices.

This provides additional support for title-controlled custom matchmaking, near-synchronous gameplay, peer-to-peer networking, cross-platform gameplay, and other scenarios.

Silverlight and XNA Interoperability, Overlay Rendering

Silverlight-based titles on Windows Phone can now host an XNA-rendering control, allowing mixing and matching of Silverlight-rendered and XNA-rendered content.

Use of Silverlight requires significant re-architecture of game code; there is no XNA game object, and no GameComponent class support for Silverlight titles. There are some performance penalties for this when compared to a pure XNA Framework solution. These performance penalties should be weighed against the benefits of being able to use Silverlight font and user-interface methods, which are otherwise unavailable to XNA Framework games.

System-Enforced Memory Limit Tracking

In previous releases, there was no easy way for a game on Windows Phone to know its memory limit; 90 MB was used as a best practice to avoid potential termination by the system. Querying title memory generated garbage, and could also degrade performance. A new method allows for more deterministic, performance-oriented, and dynamic memory management behavior for games.

Access to Camera Feed

Titles can leverage the Windows Phone camera feed that is exposed via Silverlight/XNA interop. This new title functionality is unavailable for current Windows Phone Marketplace titles without a title update.

Compass

The Windows Phone system compass is now exposed to titles. Without a title update, this new title functionality is unavailable for current Marketplace titles.

Gyroscope

Gyroscope data is now exposed to titles where it is supported by hardware. Titles can leverage gyroscope in place of, or in addition to, accelerometer data.

SIMD Support

SIMD (Single Instruction Multiple Data) support has been introduced for XNA vector and matrix types, providing significant performance advantages.

SIMD typically outperforms hand-inlined vector operations by 16 percent to 20 percent; we recommend enabling and leveraging this for new projects. For older projects, some returned value differences are possible—so before adopting you should validate what impact this will have on your project.

Generational Garbage Collection

A generational garbage collector makes memory allocations and frees less expensive memory allocations from a CPU perspective, and reduces a significant bottleneck to a game's memory "growth" phase.

Garbage collection is mostly transparent to games. You can still make manual calls for garbage collection, but load/allocation times are reduced. Games should continue to minimize garbage collection through preallocation of needed memory.

Updated Hardware Checking APIs

Updated hardware checking APIs provide the ability to get more detailed information about device capabilities.

Games may be able to more accurately scale gameplay experiences based on such reported hardware capabilities.

New and Updated Tools Features for XNA Game Studio 4.0 Refresh

  • Code/Memory Profiler Tool
  • Windows Phone Emulator
  • Debugging Support During Media Playback
  • Isolated Storage Explorer Tool

Code/Memory Profiler Tool

The Code/Memory Profiler allows you to measure code hot spots, memory allocation, and performance bottlenecks directly on a Windows Phone.

This also allows CPU and memory debugging on a Windows Phone rather than solely through profiling of a Windows version of the game.

Windows Phone Emulator

The Windows Phone emulator now adds support for memory and CPU performance throttling, to enable closer emulation of the reduced capabilities of some devices or device use scenarios.

The Windows Phone emulator now supports both accelerometer and GPS simulation.

The GPS simulator removes the requirement to physically travel with a device to test location-based functionality. Accelerometer emulation provides some access to relevant gameplay when the hardware device is unavailable.

Note

While the emulator is useful when hardware devices are unavailable, it is important to note that the emulator is not a simulator—in other words, it does not share the performance characteristics of an actual device—and will not match the behavior of hardware devices in some circumstances. In addition, Xbox LIVE functionality currently is unavailable through the emulator.

Debugging Support During Media Playback

Restrictions on Zune services when a Windows Phone is tethered have been lifted—you can now debug games while they are playing music.

There is no longer a need to use the separate WPConnect tool to attach, deploy, and debug titles while playing Zune media.

Isolated Storage Explorer Tool

This tool allows title developers to transfer data between a development PC and your game's isolated storage on a Windows Phone. This improves save game and other storage debugging scenarios on Windows Phone.

New Documentation for XNA Game Studio 4.0 Refresh

The following topics are new since the release of XNA Game Studio 4.0.

  • Tasks
  • Concepts
  • Reference

Tasks

Concepts

  • Best Practices for Windows Phone Games
    The practices discussed here will help you have the most success possible with your Windows Phone game.
  • Content Compression
    XNA Game Studio offers data compression—an easy way to decrease the size of certain built game assets such as textures, shaders, and meshes. Data compression reduces not only the size required for media storage and downloads, but also the deploy time required for debugging a game.
  • What Is Content?
    Describes the purpose of the XNA Game Studio Content Pipeline and how it helps you add art and data assets to your game.
  • Standard Importers and Processors
    Describes the standard Content Pipeline importers and content processors of XNA Game Studio that support various common art asset file formats.

Reference

Updated Documentation for XNA Game Studio 4.0 Refresh

The following topics have been updated since the release of XNA Game Studio 4.0.

  • Tasks
  • Concepts
  • Reference

Tasks

Concepts

  • What Is a Configurable Effect?
    A configurable effect is an optimized rendering effect designed for Windows, Xbox 360, and Windows Phone. A configurable effect is created using a built-in object with options for user configuration.
  • What Is a Programmable Effect?
    A programmable effect is a general purpose rendering effect designed for Windows and Xbox 360 (not Windows Phone). A programmable effect is created from vertex and pixel shaders written in the High-Level Shading Language (HLSL) and is completely customizable.

Reference