User Guides The XNA of Gaming

The XNA of Gaming
What is the recipe for a good game?

Ten thousand people working on twenty thousand 3D models?

Twenty programming languages used to write the same bit of code?

Brilliantly executed special effects that will definitely burn a hole in your graphics card (and your wallet at the same time)?
In today’s world, that is what it takes to impress gamers, the world over.

In all this mayhem, there is no place for the average Joe - you and me- , who know a dash of C and a dollop of VB. So what if I don’t know the difference between a pixel shader and a vertex shader, nor do I have any experience in Maya or 3dSMax? All I have is an idea. An idea that could turn into the next big name in strategy, or maybe a gripping plotline for Doom 4. So how do I turn this idea into a full fledged game? Far worse is the question that once my game is done, how do I get the world to notice? These are the problems that Microsoft has posed a very elegant solution to. With the enormous amounts for money that the once ‘software’ giant has put into the Xbox 360, Microsoft has proposed to bridge the gap between the ubiquitous PC and the blazing power of the next generation consoles. The technology that proposes to achieve this goal is XNA, the new DNA of gaming.
XNA, which is built on the .NET framework v2.0, has been developed with the particular intention of making things easier on game developers, by putting all game skeleton programming in the background, so that developers can focus on the game itself. In the words of one of the developers of XNA,

Our goal is for you to be able to start writing your game within the first 5 minutes of starting a project. You won’t have to worry about creating a window. You won’t have to worry about a message pump or an Idle event. You won’t need to enumerate graphic adapters and display modes. You won’t have to create a Direct3D 9 device and manage it when the window is resized or the game is minimized. The XNA Framework takes care of all those things for you. The first thing you do is write code for your game.â€
The XNA framework itself has been around for some time and uses managed DirectX unlike most other game development libraries that I have seen. Managed code itself is not very new. Introduced with Visual Studio .NET, managed code refers to the fact that .NET allows code written in one of over twenty languages like C++, VB, C# and Jscript to be encoded into an Intermediate Language. Code in this language can be loaded into a proper execution environment that does type-checking, exception handling and memory management automatically. In other words, the code is completely managed by the environment.
XNA was developed as a replacement for the DirectX framework that is currently used in almost all games. This was necessary because the semantics of the Xbox system did not support DirectX. At the same time XNA could support features that were not included in DirectX 9.0c but are present in DirectX 10, currently available only for the Vista operating system. High versions of pixel and vertex shaders and Microsoft’s own HLSL (High Level Shader Language) top the list. This leads to the most stunning results with a minimum of code. Microsoft demonstrated these technologies at the GDC (Game Developers Conference) 2006 in the form of 3 demonstrations.
The first one featured a Yeti-like creature named "Rex" who, while rendered in Pixar-like sharpness, morphed from a spider, to a dimetrodon, and then to an ankylosaurus-like prehistoric mammal.
032404_xna_morph.jpg

Next up was "Eva," a several-minute demo of a film noir femme fatale, which was more like a cutscene than a game.
05s.jpg

However, the XNA presenters saved the best for last. The final demo was of a sleek looking, cobalt-blue S7 Saleen sports car, which was developed by Pseudo Interactive's David Wu. After several close-ups of the car, which highlighted the light bloom on headlights and taillights, the trio on stage gave the audience a taste of XNA gameplay. They sent the near flawless-looking car speeding off--and into a series of spectacular crash tests. The particle effects and physics displayed in the quartet of collisions sparked whoops and applause from the crowd, which is a good omen for the nascent development system.
xna_crash.jpg

On August 30, 2006, Microsoft has released XNA Game Studio, an IDE (Integrated Development Environment) that fully integrates the XNA framework, while providing additional tools and starter kits to ease the development process.
The XNA Game Studio allows user to write games in the C# language (pronounced C-Sharp). For those who feel their hearts flutter with anxiety, fear not. C# is very similar to C++ and making the transition is very easy. C# is one of the languages available in the Visual Studio suite, or can be freely downloaded from the Microsoft site.
For those of you who are in it for the cash, the Express edition of XNA Game Studio, available for free, allows you to develop and distribute games on the Windows platform, but all Xbox games are non-commercial. With the Professional version, due to be available towards spring 2007, you can purchase an annual membership to the ‘Creator’s Club’ to allow distribution to the Xbox 360.
Unfortunately, Microsoft is simply not considering the extension of XNA support to the PS3, or other consoles. It will be completely up to the manufacturer, to implement their own version of the XNA framework. Commercially, this could mean a big break for the Xbox if the framework gains more popularity.
Despite any devious intentions that Microsoft might have behind XNA, it seems to be an accepted fact that XNA will make life easier for developers, at the same time bringing in wannabes who can finally contribute something of their own. Although using C# may be a bit questionable, the developers have said that alternative language support may be added in successive versions.
XNA has already caught the eye of major game development companies. Big names like Havok, Vicarious Visions, Crytek, Valve, NDL, and High Voltage Software are collaborating in the creation of XNA. Educational institutes are not far behind either. More than ten US Universities have agreed to add XNA to their next semester curriculum.
Microsoft has high hopes for XNA and is putting a lot of effort into it’s development. Maybe with XNA, we can come to expect games that are visually stimulating without compromising on the idea. As Michael Zyda, director for Gamepipe Labs at the University of Southern California has said:

“Great game ideas are incubating in the minds of students everywhere. With XNA Game Studio Express, Microsoft is investing in these next-generation innovators, creating the canvas for dreamers to express their powerful game ides. It’s ingenious.â€
 
Back
Top