Microsoft laid a milestone in the field of gaming and its development. It is now easy for beginners and indie developers to develop games for Windows, Xbox and Windows Phone 7. All this is possible due to XNA Game Studio. It was a good market hit and many people admired it. It is like a graphic engine and it has much of the built-in support that a game requires.
Stepping into Indie development is now very easy and it was never so enjoyable and efficient before. Anyone having some experience of programming can program a game in this platform. You do not need to get into too much details of game theory to make a game worth playing. If you have experience of C++ then just give some time to C# and you can program in XNA Game Studio. Someone familiar with Java can directly step into development of games in C# XNA. C# is same as Java with some more features. Anyone can learn such features quite easily by just looking at the syntax.
C# and DirectX is the base of XNA. DirectX is like an abstraction over many core concepts. Few features of DirectX include Direct 3D, Direct Input, Direct Sound, Direct MIDI and Direct Play. Direct 3D is counter part of OpenGL i.e. a graphics engine to display graphics in 3D on raster. Raster is any display like monitor, LCD or plasma. Direct Input deals with taking input from different devices like keyboard, mouse, joystick, wheels and game pads. Direct Sound deals with sound manipulation. Direct MIDI takes care of everything related to music. Direct Play maps network features for us. DirectX is truly a software development kit. This kit has libraries and classes, which have built-in ready to use functions.
XNA is even more abstraction over DirectX best programming language for games because it provides even more classes and built-in functions. Apart from that, XNA has Math engine and support many math operations which are heart of 3D game programming. XNA also has collision detection without which every game is incomplete. XNA has made the life of programmer a lot easier.
An important feature is content processors. Content is everything that we use in a game like bitmap images, 3D models, audio, video, music, fonts and textures. Without XNA if you sit and try to import these things in a game and use them, you have to do a lot of work. That work is tiring and make life difficult. The default content processors of XNA are powerful and supporting. We can just add an asset (Content) to the game library and XNA do the rest of the task of processing that thing. XNA also support many file formats..Net framework is necessary for working in XNA. Currently the latest relapse of XNA is XNA Game Studio 4.0 and it only works in Microsoft Visual Studio 2010. There are many books and helping material available to start with Indie game development in this platform. Plenty of online tutorials and sample codes of different games are available. On XNA creators club’s official website, much more information is available. Joining XNA Creators club will grant access to subscribe for Xbox publishing. Then you can sell and display you games for Xbox in market. It is the case for Windows Phone 7 as well. Therefore, it is easy to step in, just need passion and struggle to produce something valuable and best of luck for you gaming adventures.