MDX, XNA, DirectX, Oh my!

Started by
11 comments, last by noNchaoTic 17 years ago
When I first heard about managed languages, I immediately scoffed at the "wanna be" challengers of the mighty C++. I was using C++ and DirectX 9, and I thought that life could not get any better. The C# upstarts would be sufficiently crushed, and life would continue as normal. As time went by, and more and more people started to comment on C#, I found myself drawn to this mysterious language which dared to defy the almighty C++. So one day I did the unthinkable: I downloaded Microsoft's Visual C# Express. I immediately fell in love with the language. Everything written in C++ became a pain to my eyes, causing me to scorn that which I once so reverently worshiped. And when I got a hold of MDX 2.0, the eyes of this game developer began to tear. Never had game development been so beautiful, capturing the elegance of C# with the shear might and power of DirectX 9. Then came the days of sadness. MDX 2.0 was struck down, destroyed by a time bomb deviously planted by its developers. A new upstart, XNA, was pushed into the limelight, demanding attention and the approval of all. MDX 1 was all but forgotten, trampled into the dust by XNA and its big marketing budget. I was eager, at first to join in the joy of my fellow developers and dig into this new language that the developer gods had given us. It was only after closer inspection, however, that I noticed the ugliness of XNA rear its head. Sure, XNA was great for new developers, people would wanted to do the least work possible and still make a game. But where was the managed version of DirectX, and counterpart to the powerful beast that was used in so many games across the globe? XNA was twisted, hideous, and unusable complicated for someone who had tasted better. So now, I ask you, what is to be done? MDX 2 is totally destroyed from within, obliterating all hopes of survival. MDX 1 is frozen in ice, without any new developments it has become dead in the water. Shall we turn to XNA? Its complicated structure and its desire to hide all details from the developer, as well as the horribly restricted distribution abilities, severely cripple this new technology, making it an undesirable choice for those looking to make a game on par with the mighty DirectX 9. Shall I be forced to go back to the world of unmanaged languages, where I must keep track of memory myself, and implement even the most basic of libraries myself? It would seem that I have no other choice, as the most flexible option for the game developers of today is that old and mighty pillar, a fortress surrounded by the turmoil of the managed world, that is DirectX 9.
Mike Popoloski | Journal | SlimDX
Advertisement
Both MDX and XNA are built on top of DirectX 9. In fact MDX 1.1 is basically a direct wrapper of the DX9 functions to .Net. The function names and parameters are the same as the unmanaged code(so you can still use unmanaged tutorials,etc). MDX 1.1 might not be as pretty as MDX 2 was or XNA is, but it gets the job done and still looks a lot better then unmanaged DirectX.

Also the whole "MDX isn't being updated" argument doesn't make much sense since you want to use DirectX 9, which also probably won't see anymore updates.
Quote:Also the whole "MDX isn't being updated" argument doesn't make much sense since you want to use DirectX 9, which also probably won't see anymore updates.

Oh, I was under the impression that DirectX 9 was still being actively developed. There are new releases every few months, what are they doing with each one?
Mike Popoloski | Journal | SlimDX
Out of curiosity, what do you find yourself unable to do with XNA over DX 9?

Quote:Original post by ussnewjersey4
Quote:Also the whole "MDX isn't being updated" argument doesn't make much sense since you want to use DirectX 9, which also probably won't see anymore updates.

Oh, I was under the impression that DirectX 9 was still being actively developed. There are new releases every few months, what are they doing with each one?


I don't think anything major is still going on with DX 9 right now in light of DX 10, probably mostly tool updates, bug fixes, and minor tweaks (Maybe one of the MVPs will stop by and correct me).

Also, about MDX 1.1, even though MS isn't actively developing it anymore, I believe it's still being officially supported for a couple years or so.
Quote:Original post by load_bitmap_file
Out of curiosity, what do you find yourself unable to do with XNA over DX 9?

Quote:Original post by ussnewjersey4
Quote:Also the whole "MDX isn't being updated" argument doesn't make much sense since you want to use DirectX 9, which also probably won't see anymore updates.

Oh, I was under the impression that DirectX 9 was still being actively developed. There are new releases every few months, what are they doing with each one?


I don't think anything major is still going on with DX 9 right now in light of DX 10, probably mostly tool updates, bug fixes, and minor tweaks (Maybe one of the MVPs will stop by and correct me).

Also, about MDX 1.1, even though MS isn't actively developing it anymore, I believe it's still being officially supported for a couple years or so.


I'm using XNA now for a project, and even though it's great for simple games, I find that the high end things in DirectX are neglected like these:


-Fonts
-Mesh Intercept
-Spherehical Harmonic Functions
-PRT simulator

But you can always subsitute DX9 for this in your XNA project, but then it won't run on the 360.
Use the XNA Framework! It obsoletes MDX2 (and indeed, it was born of the same code base)
Oh, and there is a 1.1 release of XNA coming out very shortly which has many more math functions as well as font support. More information here: http://blogs.msdn.com/xna/archive/2007/03/08/announcing-the-xna-game-studio-express-update.aspx
I'm still waiting to see what the non-express version will look like, for now I use C++ and DirectX ;)
Quote:Out of curiosity, what do you find yourself unable to do with XNA over DX 9?

Well, one major thing that jumps out at me right away is that you are unable to distribute your XNA games to anyone other than people who already have the XNA SDK already installed! How are you supposed to make a game if you can't share it with anyone other than other developers?
Mike Popoloski | Journal | SlimDX
I'm still using mdx1.1 and am hesitant to move to xna at all. I looked at the express release and it didn't seem to offer a library that had full docs to use like the mdx 1.1 did. Am I wrong about this? XNA just doesn't appear to me to be anything other than a toy for newbies. Is that right?

This topic is closed to new replies.

Advertisement