• 0

XNA vs. Direct X


Question

Just to give a little background I've known C++ for several years now and I've played with Direct X and XNA a little bit in the past. I want to learn either of them but stick to one. I was wondering if I could get some feedback on what you guys think. XNA seems nice but it's a separate download and Direct X everyone (with even slightly modern computers) has already out of the box. So do you think people are really going to mass download the xna framework? Or am I out dated on news and everyone already has?

Edited by sathenzar
Link to comment
https://www.neowin.net/forum/topic/678598-xna-vs-direct-x/
Share on other sites

1 answer to this question

Recommended Posts

  • 0

XNA is actually a much smaller download than the DirectX SDK which when I last downloaded it was somewhere around 400MB. But yeah when it comes to running your game on your friend's computer sometimes it's a pain, which should be solved in the next version.

Ok so XNA is already very popular among hobbyists, some universities have started teaching game development with it, and some professional game companies are starting to use it for casual game development. Version 3.0 will bring support for the Zune so people can easily develop for that platform.

XNA sticks close to DirectX in terms of 3D vocabulary, so if you've done any DirectX you should feel at home. It also does a lot of things for you. You don't have to do any Win32 code to get that first window with an initialized device running inside, it's already there. The basic game loop is already there, with XNA automatically calling initialization, draw and update routines. You can add functionality by deriving from GameComponent and your components just integrate in the framework seamlessly, it's really a breeze. Of course, if you want to customize things all options are open, it's not a GameMakerStudio or something like that. But for supreme customizability I guess nothing beats coding directly in C++ with DirectX, but unless you're coding the Unreal 4.0 engine I doubt you'll run into the limits of XNA anytime soon.

XNA also provides you with a nice library of utilities and classes you might need, classes and managers for different kinds of Textures, Sounds, Vectors, a bit like D3DX but substantially more fleshed out. For instance the SpriteBatch makes it a breeze to display sprites with scaling, transparency, rotation, fonts, etc., it's all very well integrated. It's also easy to import content, either graphical or audio.

If you want to release a game for the Xbox 360 it's really a no-brainer as you don't have any other practical option... Also your game can run on both PC and Xbox 360 with the same code. And on the Zune, with the next release.

Finally, it all runs with C# which is teh awesome language, using teh awesome Visual Studio 2005 editor... And yes, version 3.0 will support Visual Studio 2008.

So, I think you need to give a deeper look into XNA, of course if working in the gaming industry is your goal you can't go around C++ and DirectX for very long, but XNA is a good way of learning DirectX, also by using that framework it helps you understand what essential components are needed for a game so you feel a bit less alone in the wild with DirectX later.

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.