what is XNA development? - xna

can anyone provide me more information about XNA Development? for what usages it is good for?

It is used to program games for the Xbox, PC and soon to be windows phone 7
Check out the XNA site for more info

XNA is a Microsoft programing environment for writing games that will run on both PCs and XBoxes.

XNA is a .net framework api build on top of directx, and is aimed primarily at game development. It is designed to provide a easier to use managed framework for working with DirectX. One of the advantages to writing games build with xna is that you can deploy your game to PC's, XBox360, Window Phone 7, and even zune.
And the best part is that it is free! The xna framework and GSE (Game Studio Express) are both provided completely free of charge.
Although the xna framework leans more on game development it is also a viable tool/framework for presenting 2D/3D graphics for any .net application.
Check out the XNA site for more info, code examples etc
XNA has been steadily gaining penetration in both the indie and commercial games market. And a yearly game competition has been running called Dream Build Play.

XNA is set of tools, based on .NET framework, used for game development for various platforms (PC, Xbox, Zune). What could interest you (among other things) is XNA Framework and XNA Studio. You can check those out on XNA homepage.

You should note that the future of XNA is currently doubtful:
Presently the XNA Game Studio is not in active development and
DirectX is no longer evolving as a technology. Given the status within
each technology, further value and engagement cannot be offered to the
MVP community. As a result, effective April 1, 2014 XNA/DirectX will
be fully retired from the MVP Award Program.

Related

What sort of games can developer creates using XNA & Silverlight?

I need innovative ideas on Gaming Application for Windows Phone. Can anyone guide me to how to approach new ideas on gaming application? How shall i start as i am new to this domain? No gaming experience at all? Also i have worked only on C & C++. But now i have to work on gaming application using C# with XNA framework & Silverlight for windows phone 7.
Thanks
Before bumping into a certain framework, and even before approaching a gaming idea, you might wanna invest some time learning C# first. Knowing that you're from a C/C++ background, you should find yourself highly familiar with C#.
Later on, the XNA creators community have extensive libraries, samples and tutorials that can guide you to assimilate XNA.
I wouldn't recommend going for Silverlight unless you want to build an application, and not a game. XNA has an enormous performance/quality boost because it natively uses the GPU for most graphics algorithms including 100% hardware accelerated rendering. Additionally, it has so many game-programming specific libraries and classes that can make your life a lot better.
I remember a highly-animated XNA 2D game of mine was consuming around 2-3% of CPU usage compared to 60% of a much simpler Silverlight game.
XNA will be better for graphics intensive, 3d or games with complex animations utilising more of the GPU. Silverlight can be used for games less demanding of graphics processing.

XNA: How to convert a game to be compatible with the Xbox 360?

I have a C# XNA game that I'd like to test on the 360. How do I do this, in terms of what I need to do to the Visual Studio project?
For instance, how can I define certain actions will only take place on an Xbox? Something like:
# if XBOX
// do stuff
# endif
MSDN Documentation on XNA provides all the answers you need.
Connecting your Xbox 360 Console, and Developing Cross-Platform Games (which includes Cross-Platform Game Project Converter and Cross-Platform Conditional Compilation Symbols).
Don't forget that there are other things you should be checking such as multiple controllers, the player one controller not being PlayerIndex.One and supporting XBOX 360s with multiple storage devices (including when a user pulls out one of those devices).
The XNA creators forums have an "evil checklist" for making sure your game meets some basic requirements on the 360. http://creators.xna.com

Can you write applications for the Zune HD?

I know you can write applications for the Zune, but what about the Zune HD?
Answer:
http://coolthingoftheday.blogspot.com/2009/09/xna-game-studio-31-zune-extensions.html
yes. And, while XNA targets gaming, normal apps are usually less complex, so IMHO there's nothing that says you won't be able to deliver normal apps as well as games that target the HD.
Mine's already shipped.
After much research on Google I have determined that the Zune HD is likely, but not officially confirmed, to have support for XNA. If it does have support for XNA, you will be able to create apps for it, although those apps will likely be games as XNA is primarily a game development framework.
UPDATE: XNA Studios just added Zine HD support. So yes, you can at least make games for Zune HD as well as any other app you can make with XNA.
Doesn't sound like it -- see here:
Zune HD will indeed be getting
applications, but at this time
Microsoft is planning to keep the
development in-house. In those
situations where they do want to work
with a third-party developer, it will
be a close relationship with the
Redmond,WA-based software giant. In
other words, you won’t be seeing the
wild west frontier mentality that we
have seen grow up around the iPhone,
iPod Touch, Google Android and the
Palm webOS. At this time there will
be no independent software development
kit (SDK), although Microsoft does not
rule that out for down the road a
ways.
...and also here.
Ever heard of OpenZDK?
"That’s about to change. Through the work of myself as well as Netrix, Nurta, and the rest of the ZuneBoards Development Front, all Zune models, including the Zune HD, have been hacked. The first true hack available for the Zune, this makes it possible to, for the first time, run applications directly on top of the Zune firmware, with full access to everything XNA withheld before. The limitations of XNA are now no limitations at all." (from Zune Boards: http://www.zuneboards.com/?p=vB50442)
The OpenZDK wiki: http://zunedevwiki.org/wiki/
Personal experience: I have used XNA games on the Zune HD along with the Zune 30...works great!

Can one make real games with XNA and C#?

Can XNA and C# be used to create commercially feasible PC/XBOX games?
Is it the best approach for creating 3D games with C#? If not, what would be?
Actually you can do that but it is a little bit tricky.
You need to pass via an approval process by the "community" (XNA Creators club Online users).
You will also need to pay an Xbox live account plus an Xbox live developper licence.
According to XNA FAQ:
Do I need an XNA Creators Club premium membership to create games?
You don't need a premium membership to make games for Windows or Zune. However, you must be a premium member and in a supported region to create games for the Xbox 360, to release Xbox 360 games to Community Games on Xbox LIVE, or to peer-review submitted games.
Who can peer review XNA Community Games?
A member of the Creators Club whose premium (paid) account is in good standing and is a legal adult (for the countries we currently serve this means 18 years of age or older).
And:
Why does my game have to be peer-reviewed? Why can't I just send it to Xbox LIVE marketplace?
Peer reviewers help creators write better games, and protect game players from experiencing highly offensive or malfunctioning games. Peer reviewers will reject your game if:
Your game contains prohibited content, which is content not allowed on Xbox LIVE services
You misrepresent what is in the game play or in the promotional materials for the game
The promotional content for your game ( for example, the box art, description, banner or title) is not appropriate for all ages on Xbox LIVE Marketplace
The game crashes, it has too many bugs, or it is technically defective in some way
the faq is can be read here
If you want to do it simplier you can play with DirectX directly or even other libraries like SDL (for 2D games). Actually C# is very good for a variety of things and it gets better as the time goes.
A short answer to your first question would be, yes. It is entirely possible to create just about any kind of game with the XNA library. It can be used to make simple 2D platformers, or moderatily complex 3D shooters.
Depending on the game, the amount of logic you'll need to create for your game may vary.
Of course, while creating 3D games, you'll either have to create your own 3D engine, or get your hands on one pre made. XNA in and on itself does not provide an engine that would be fully usable out of the box. It does, however, provide wide variety of tool to help you in the process of making your own engine.
XNA is dedicated primarily to garage games, small projects with small teams, and hobbyists. Also, it's a really good learning tool for game architecture and 3D programming. But for commercial applications, there's a clearly huge gap between the XLA and the XDK.
Using the XDK allows you to access to a much deeper level of hardware, which is definitively a must if performances are an issue. Also, most of commercial game engines are developed for use with the XDK (the Unreal Engine, for example). The debugging and profiling system of the XDK is also an amazing tool which is not available using XLA.
So yes, it is technically possible to make commercial games using XNA, but the real world tends to prefer the XDK.
C# is not that much slower than C++, however C#'s memory management is not really Game friendly (in the AAA style). Never the less rendering is basically the same, as you'll be using DirectX I guess, so there is no reason a very professional game like Gear of Wars couldn't be made with C# (As a game dev my self, I've seen the source code for Gears of War, and can tell you this first hand). But you'll need great artists.
The real roadblock, is if your source is in C#, you have just locked your self out of other Platforms that aren't from Microsoft (Say Sony or Nintendo), but then again GoW is Microsoft bound, ASFAIK.
As for XNA, the best selling Arcade/Community Game Braid, was written in C++, but that's because the author didn't want to lock himself out of other platforms, and he had lots of experience and a large code-base that was already C++ based
XNA saves you a lot of the low level tedium associated with making games. This can be a huge time savings for a handful of people banging out games that don't need to push the hardware to its limit; however, most AAA games require a few people getting down and dirty with the hardware to push the limit as much as they can.
Having said that by no means does your game have to be AAA to be commercially feasible or fun - one could even argue it hurts more than it helps. Technology is rarely the bottleneck of making good games.
I doubt you will create the next Gears of War with it, but XNA works fine for many types of games. Most (all?) of the Community Games on XBox Live are created using XNA.

How to get started with game programming on the Zune

My zune just updated to 3.0 (didn't even realize they were releasing something new!) and the update came with two games, but the Zune marketplace does not have games.
Where do I go to get started, and what are the capabilities of the Zune in terms of games/apps?
Well, first, you must download the Microsoft XNA 3.0 CTP. Read the documentation, which will explain the capabilities. But, from memory:
No hardware accelerated 3d (obviously, you can create a software 3d engine and then render the result to a 2d sprite, but... Don't expect much in terms of performance ;))
No XACT, you must use a new sound API
Just an update but note that XNA 3.0 has been released. It requires some flavor of Visual Studio 2008.
I downloaded it and coded & deployed "hello world" to my Zune in no time at all. Very easy.
You should check out the blog of Rob Miles. He has a few chapters of his book on his site. Great place to start.
I was hoping someone here would have better resources, but as this seems to be a new area of development, here's one resource that appears to give all the steps for a newbie to get started (too many assume you already have Visual studio, etc).
I'm really interested in a better in-depth overview of the capabilities as well, though.
-Adam

Resources