Microsoft's XNA Studio tools and framework is designed to create a common development platform for Windows and Xbox 360 games. There will be also a common controller which will allow PC users to play against console gamers.
The first community technology preview (CTP) was released at the Game Developers Conference 2006. The CTP includes "key components" of XNA Studio and Framework.
What Is XNA :
XNA (which stands for Xbox/DirectX New Generation Architecture) is a development framework and set of tools to help game companies to save money and speed up their development times. It extends existing DirectX tools with a set of new libraries and a custom implementation of the .NET development framework. Game developers can write code in the C# language and create games that will run on both Windows PCs and the Xbox 360 console.
C# and the .NET framework offer the ability to write in what is known as "managed code," where the framework itself handles low-level issues such as memory management, instead of the programmer having to manually allocate memory for each object and free it up when it is no longer needed. The idea of using managed code for game development is not a new one at Microsoft, as the company released a book and CD-ROM called Managed DirectX 9 Graphics and Game Programming in 2004.
The book showed how easy it was to get simple 3D game engines up and running (I even managed to get as far as programming a spinning, colored, triangle) but admitted that performance concerns were a big problem: 3D games written in managed code would typically run anywhere from 50 to 80 percent of the speed of their non-managed counterparts.
Benefits To Developers :
XNA promises to streamline several development steps and, according to Microsoft, "XNA lets developers focus on game design, instead of writing mundane, repetitive boilerplate code.
Microsoft plans to expose game developers to its new idea and intends to gather "as much feedback as possible." The company promises developers that Studio will provide a "more efficient" way to create new games with more features, by reducing the time to develop maintaining an internal tools infrastructure.
The XNA Framework represents a custom implementation of the .NET Framework with new libraries to develop cross-platform games for Windows and Xbox 360.
With the XNA release, Microsoft claims to have solved most of the speed issues, stating that "game developers will benefit from the ability to re-use code and game assets in developing multiplatform titles, without sacrificing performance or flexibility." It may not be the appropriate solution for the most cutting-edge games that rely on tight, hand-tuned code to get maximum performance, but smaller developers may find the tools irresistible.
Benefits To Gamers :
While developers are expected to crank out more games in less time, users may be seeing benefits of XNA in the not too distant future.
The technology will decrease the amount of differences between PC and console games and will enable PC users to play against Xbox 360 owners in online multiplayer games.
Xbox Live Server Platform :
Microsoft also announced the addition of the "Xbox Live Server Platform" to its Xbox Live services. Using this platform, developers can create their own back-end servers to run alongside Xbox Live.
This set of server tools will help developers add more features to their games, such as the "Live Revenge" mode that lets players track their relationships with their rivals, and the "Save and Share" feature, which allows gamers to post video clips of their best and worst gaming moments and share them with friends. The Server Platform also allows developers to use XML feeds to add changing information (such as weather conditions) into games.
According to the company, the service will offer new capabilities, such as a "spectator mode" for up to 30,000 users in games such as the upcoming Project Gotham Racing 3.
The first community technology preview (CTP) was released at the Game Developers Conference 2006. The CTP includes "key components" of XNA Studio and Framework.
What Is XNA :
XNA (which stands for Xbox/DirectX New Generation Architecture) is a development framework and set of tools to help game companies to save money and speed up their development times. It extends existing DirectX tools with a set of new libraries and a custom implementation of the .NET development framework. Game developers can write code in the C# language and create games that will run on both Windows PCs and the Xbox 360 console.
C# and the .NET framework offer the ability to write in what is known as "managed code," where the framework itself handles low-level issues such as memory management, instead of the programmer having to manually allocate memory for each object and free it up when it is no longer needed. The idea of using managed code for game development is not a new one at Microsoft, as the company released a book and CD-ROM called Managed DirectX 9 Graphics and Game Programming in 2004.
The book showed how easy it was to get simple 3D game engines up and running (I even managed to get as far as programming a spinning, colored, triangle) but admitted that performance concerns were a big problem: 3D games written in managed code would typically run anywhere from 50 to 80 percent of the speed of their non-managed counterparts.
Benefits To Developers :
XNA promises to streamline several development steps and, according to Microsoft, "XNA lets developers focus on game design, instead of writing mundane, repetitive boilerplate code.
Microsoft plans to expose game developers to its new idea and intends to gather "as much feedback as possible." The company promises developers that Studio will provide a "more efficient" way to create new games with more features, by reducing the time to develop maintaining an internal tools infrastructure.
The XNA Framework represents a custom implementation of the .NET Framework with new libraries to develop cross-platform games for Windows and Xbox 360.
With the XNA release, Microsoft claims to have solved most of the speed issues, stating that "game developers will benefit from the ability to re-use code and game assets in developing multiplatform titles, without sacrificing performance or flexibility." It may not be the appropriate solution for the most cutting-edge games that rely on tight, hand-tuned code to get maximum performance, but smaller developers may find the tools irresistible.
Benefits To Gamers :
While developers are expected to crank out more games in less time, users may be seeing benefits of XNA in the not too distant future.
The technology will decrease the amount of differences between PC and console games and will enable PC users to play against Xbox 360 owners in online multiplayer games.
Xbox Live Server Platform :
Microsoft also announced the addition of the "Xbox Live Server Platform" to its Xbox Live services. Using this platform, developers can create their own back-end servers to run alongside Xbox Live.
This set of server tools will help developers add more features to their games, such as the "Live Revenge" mode that lets players track their relationships with their rivals, and the "Save and Share" feature, which allows gamers to post video clips of their best and worst gaming moments and share them with friends. The Server Platform also allows developers to use XML feeds to add changing information (such as weather conditions) into games.
According to the company, the service will offer new capabilities, such as a "spectator mode" for up to 30,000 users in games such as the upcoming Project Gotham Racing 3.