What's New in This Release
- Xbox LIVE Community Games
- Changes to the Development Environment and Tools
- Changes to the XNA Framework API
Xbox LIVE Community Games
XNA Game Studio 3.0 supports Xbox LIVE Community Games which enables you to distribute your Xbox 360 games using Xbox LIVE Marketplace. For more information, go to the Creators Club Online website.
To assist you in developing complete games for Xbox LIVE Community Games, we've created two new advanced tutorials.
Changes to the Development Environment and Tools
Upgrading Your XNA Game Studio 2.0 Projects to XNA Game Studio 3.0
To use the new features of XNA Game Studio 3.0 in games that you have already developed, you will need to upgrade your game projects. For information about upgrading your games to XNA Game Studio 3.0 see the Upgrade Guide: XNA Game Studio 2.0 to XNA Game Studio 3.0 topic.
Support for Visual Studio 2008 Products
XNA Game Studio 3.0 installs and runs Visual C#® 2008 Express Edition, as well as the following Visual Studio® 2008 products:
- Visual Studio 2008 Standard
- Visual Studio 2008 Professional
- Visual Studio 2008 Tools for the Microsoft Office System
- Visual Studio 2008 Team Edition for Software Architects
- Visual Studio 2008 Team Edition for Software Developers
- Visual Studio 2008 Team Edition for Software Testers
- Visual Studio 2008 Team Edition for Database Professionals
- Visual Studio 2008 Team Suite
For more information, see the Required Software topic.
Support for C# 3.0
XNA Game Studio 3.0 supports the new language features available in C# 3.0. These include: query expressions, extension methods, lambda expressions, expression trees, and partial methods. These new features are available on all the target game platforms - Windows, Xbox 360, and Zune. For more information, see the Overview of C# 3.0.
Support for Games for Zune
XNA Game Studio 3.0 supports developing games that run on the Microsoft Zune digital media player. For more information, see Zune Programming Considerations and Connecting to Your Zune Device with XNA Game Studio.
Improved Support for Cross-Platform Games
XNA Game Studio 3.0 provides additional and approved facilities for developing games that run on multiple platforms (Windows, Xbox 360 and Zune). These include linked game projects and content projects, and multiple content projects within a game platform. For more information, see Developing Cross-Platform Games and its subtopics.
XNA Game Studio 3.0 Now Supports ClickOnce Deployment for Windows
With XNA Game Studio 3.0 you can share your Windows games using ClickOnce deployment. For more information, see the Distributing Your Finished Windows Game topic.
Transparent Content Compression and Decompression
XNA Game Studio 3.0 automatically compresses and decompresses content (textures, shaders, meshes, etc.) for games built to execute on Windows and Xbox 360 platforms. In addition to requiring less storage space, this will reduce deployment time. For more information, see the Content Compression topic.
Changes to the XNA Framework API
- Media API
- SoundEffect API
- Marketplace Offers and Trial Mode Testing
- Rich Presence
- Game Invitations
- Networking Improvements
- Graphics
- Math
- Application Model
- Fonts
- Content Pipeline
Media API
XNA Game Studio 3.0 includes a media library class, which enables you to access content, such as songs, playlists, and pictures in a device's media library. It also includes support for music visualization. The media library class works with all three target platforms--Windows, Xbox 360, and Zune.
SoundEffect API
In XNA Game Studio 3.0, the SoundEffect classes enable you to generate sound effects without using the XACT tool. The SoundEffect classes integrate with the content pipeline and support WAV, WMA, and MP3 audio formats.
Marketplace Offers and Trial Mode Testing
Games can now simulate trial mode testing and present marketplace offers to players.
Rich Presence
Games can now control the online presence information that is displayed to other players when Xbox LIVE Community Games are played.
Game Invitations
Multiplayer game invitations are now supported across games and in-game via the Guide.
Networking Improvements
Behavior of Local Sessions
XNA Game Studio 3.0 introduces a change in the behavior of network sessions when local profiles sign out in the middle of a session. In previous versions of XNA Game Studio, a session would end whenever a player signed out. Now, profiles that sign out are removed from the session, and the session will be ended only if there are no suitable players left in the session.
-
New Methods
- ReadColor
- Reads a Color value.
- AddLocalGamer
-
New Overloads
-
New Properties
- NetworkGamer.Id Property
- Gets a unique identifier that can be used to refer to this gamer in network packets.
-
The new enumeration SendDataOptions Enumeration.Chat enables you to mark a packet that contains chat data, such as a player-to-player message string entered using the keyboard.
Graphics
-
New Properties
- Viewport.TitleSafeArea
- Returns the title safe area of the current viewport.
- DisplayMode.TitleSafeArea
- Returns the title safe area of the display.
- Removed GraphicsDevice.SoftwareVertexProcessing Property property
- Renamed TextureCube Class constructor parameter from edgeLength to size
-
Renamed a number of operator == and operator != parameters that were inconsistent between platforms
Some platforms had the arguments named l/r, while others spelled out left/right. We now use left/right consistently on all platforms. This affects the following types: GraphicsDeviceCapabilities.VertexShaderCaps Structure, GraphicsDeviceCapabilities.DeviceCaps Structure, DisplayModeCollection Structure, GraphicsAdapter Class, PresentationParameters Class.
-
Added four new Color Structure constructor overloads: Color(float r, float g, float b); Color(float r, floag g, float b, float a); Color(Color rgb, byte a); and Color(Color rgb, float a).
Now you can set the Color.R, G, B, and A properties.
- Added Color.Lerp Method method
Math
-
New Methods
-
New Properties
- Rectangle.IsEmpty Property
- Gets a value that indicates whether the Rectangle is empty.
- Rectangle.Location Property
- Gets or sets the upper-left value of the Rectangle.
- Rectangle.Center Property
- Gets the Point that specifies the center of the rectangle.
Application Model
-
New Methods
- Game.ShowMissingRequirementMessage Method
- Game.SuppressDraw Method
- Prevents calls to Draw until the next Update.
- The Game.Content Property property is now settable.
Fonts
-
New Properties
- SpriteFont.Characters Property
- Gets a collection of all the characters that are included in the font.
- SpriteFont.DefaultCharacter Property
- Gets or sets the default character for the font.
- FontDescription.DefaultCharacter Property
- Gets or sets the default character for the font.
- FontTextureProcessor.TextureFormat Property
- Gets or sets the output SurfaceFormat of textures.
- Added overloads of SpriteBatch.DrawString Method (x3 versions) and SpriteFont.MeasureString Method (1 version) that take a StringBuilder argument, in addition to the existing ones that take a regular string.
- SpriteFont.LineSpacing Property property is now settable
- Added optional DefaultCharacter element to the .spritefont XML schema
Content Pipeline
-
New Methods
-
New Properties
- ContentProcessorContext.OutputFilename Property
- Gets the output file name of the content processor.
- ContentProcessorContext.OutputDirectory Property
- Gets the output path of the content processor.
- ContentProcessorContext.IntermediateDirectory Property
- Gets the path of the directory that will contain any intermediate files generated by the content processor.