Sign in to follow this  
Mike.Popoloski

MDX, XNA, DirectX, Oh my!

Recommended Posts

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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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?

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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?

Share this post


Link to post
Share on other sites
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?

Share this post


Link to post
Share on other sites
Quote:
Original post by ussnewjersey4
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?


XNA has its own runtime redistributable just as DX 9 does that you can install with your game. (You'll also need the .NET and DX runtimes installed too)

Quote:
Original post by devronious
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?


XNA comes with perfectly good documentation ("XNA Game Studio Express Documentation", also available online at MSDN).

It's still being developed, but XNA is certainly not a "toy for newbies". There are some nice demonstrations of XNA demos on youtube and with the "Torque X" XNA based engine.

Share this post


Link to post
Share on other sites
Some of the issues with Xna are a tad annoying, case-in-point: the crapness of the XACT wrapper. But I think given a little time, things will improve, there's an update for the API coming soon, lets see what that brings :-)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this