Managed DirectX 2.0, Xna and Me…


One of the Program Managers for the Xna Framework recently started his first blog.  Unless you have the main RSS feed of this site subscribed, you probably didn’t notice his first post, which talks about a lot.


You may have also seen the ‘official’ press release announcing the Xna Framework.


If you haven’t read Al’s post yet, I suggest you go do that first.  It’s ok, i’ll wait for you to get done..


(Yup, i’m still waiting)


(You haven’t forgotten about me have you?)


Great, you’re back!  Anyway, there’s so much stuff I want to talk about and say, but I’m probably going to start rambling and forget mentioning things..  C’est la vie.. 


So anyways, like I mentioned last week, I’ve moved over to the XBox team and the Xna team specifically.  If you’re @ GDC this week, you might have the chance to see some of the demos we have written entirely in managed code running on both Windows as well as the XBox 360.  People have been asking me for what seems like forever if there would be managed support for the Xbox, and I guess we’ve finally answered that.


Of course, i’ve also had people tell me numerous times over the last 3 to 4 years that it is essentially impossible to write a game in managed code.  I have no idea why people think that, but obviously we disagree, and our demo’s are starting to show that (even considering the early nature of the work we’ve done).


So what about MDX2 though?  As I’m sure you’re now aware (since you *did* go read Al’s post), what is now called Managed DirectX 2 will be folded into the Xna Framework.  The assembly itself will still ship (in non-release ‘beta’ form) until we are ready to ship a pre-release version of the Xna Framework, but in it’s current form, it will never be officially “released.”


We’re working feverishly to get a preview of the Xna Framework out as soon as possible, and I’m quite excited about the work we’re doing, and the excitement people will have when they see it.  It’s also quite refreshing to have an entire team supporting in these efforts.


I look forward to talking more about some of the exciting things we’re doing in the (hopefully not too distant) future.

Comments (29)

  1. Judah says:

    That’s really exciting to hear someone like the XNA PM saying, "we need a CLR on the XBox". That is awesome, really exciting.

    Looking forward to the future! Will be interesting to see what XNA will do for the industry.

  2. Jason Olson says:

    Hey Tom, I was wondering something. Has there been discussion as to whether the XNA Framework is going to be released as a free download like Managed DirectX or are we going to have to purchase XNA Studio? I would hate to see this move take hobbyist development back a step :).

  3. Rim says:

    We were already speculating on this in David Weller’s thread on GameDev, so this is just great, great news! 😀

    The only damper on all of this joy could be that MDX2.0 might only be available through the non-free XNA studio… On the other hand, normal DirectX is also still a free download and I presume you can make enough money from XBox 360 dev kits, so I’ll keep my hopes up that MDX2 remains freely available and maybe even an XNA Studio Express might come along.

    Some info on this would be much appreciated though 🙂

  4. swt says:

    Please finish/release/support MDX2 for .NET 2.0/XP/Vista prior to trimming it down (i.e., removing DirectSound, DirectInput/keyboard/mouse, some D3DX, etc.) for the XNA framework (which will likely take yet another 4-6 months).  You seem to be so close to wrapping it up.  It is time to get some "kinetic energy" out of MDX in addition to the "exponential potential".

  5. We haven’t announced anything on distribution, release vehicles, pricing, or anything of that nature.  However, we do realize that MDX is currently a free download for the Windows platform.  I think the people currently using that won’t have much to worry about after upgrading.

  6. bubu says:

    .NET on XBOX 360 is the best thing we can dream! Now please, allow EVERYBODY to develop homebrew software for it.

  7. Magway says:

    X-box – will be DirectX-box! It’s great!;)

  8. Joe says:

    If MDX is moving to this new platform, will there be similar MDX releases for the compact framework, or is this the end of the road?

  9. Kevin Watkins says:

    After playing around with MDX 1.1 for a while I’ve moved over to the MDX 2.0 beta and I’m finding it great. I’m just worried about your comments "what is now called Managed DirectX 2 will be folded into the Xna Framework" and Wikipedia’s XNA entry (http://en.wikipedia.org/wiki/XNA_Framework) which kinda imply that MDX 2 is only gonna be available for Vista and the XBox 360.

    I’m presuming that the Wikipedia entry is just misleading me, but I use Windows 2003 for development and there are a lot of people out there that use XP and are gonna be for a long time. Is MDX2/XNA going to be available for those platforms, or is it just Vista/XBox 360?

  10. We’re not ignoring versions of Windows prior to Windows Vista I can assure you.

  11. John says:

    Will XNA support WinForms (e.g., for tool development)?

  12. BOB says:

    While this is all very interesting (not to mention extremely impressive).  And it all sounds really great, and honestly there’s only one grey-area point that I feel needs to be addressed regarding a final release of XNA (even if it’s 100 years from now, by then I’ll be sleeping soundly and this won’t matter).

    I got into reading about all of this after reading a gamedev.net post from some guy from Microsoft asking for feedback about MDX and XNA from developers.  

    Here’s my take (and I’m ONLY referring to the Managed DX portion here, not the rest of the XNA architecture.  That is, if there -is- a point of seperation):

    I’m aware that you haven’t outright stated that there’d be a charge for the MDX portions, and you allude that there wouldn’t be, however, until I see the words in big flashing red letters on my screen saying "THE MDX PORTIONS WILL STILL BE FREE TO DOWNLOAD, NOW AND FOREVER" I’ll continue think the worst (that way I can’t possibly be disappointed :))

    IF it’s not free, I think it’ll drive a LOT of people away.  Not because people think all software should be free (don’t get me started on those that do), but because after years and years of being able to write DX apps using a free SDK, to be charged for it would be rediculous, even if it’s like $50-$100 (extremely cheap in comparison).  But with alternatives like OpenGL (and its .NET bindings) out there for free, why buy a DX SDK?  Yes, yes, OpenGL is for 3D only, but really, what’s the most commonly used component of DX?  Right, D3D, so there’s no valid reason there in my opinion (please, no holy war crap about OpenGL vs. D3D, it’s been done to death).  I’m a hobbyist when it comes to this stuff, I can take it or leave it, but I’m certainly not going to throw down money on something that’s been readily accessible to the public for so long.  Anyway, I think it’d be horrid to start charging for the DX components of the XNA framework.  And that’s my opinion, take it for what it’s worth.

    Yeah, I’m probably being paranoid, but you guys want opinions/suggestions/feedback/etc… from developers, and that’s feedback/opinion on the matter from a paranoid developer with too much time on his hands.  

  13. ShadowChaser says:

    Hi Tom,

    Great post, and great news! This is incredible – I can’t believe Microsoft has a whole team devoted to improving managed game development and cross-platform code with the 360!

    My only concern is the talk of "custom versions of the .NET framework". YIKES! Two versions of .NET installed on the same box sounds like a huge potential for DLL Hell 2.0. Not to mention compatibility issues with the huge existing framework, or the inevetable "delay" in releases (ie/ the "normal" framework team releases version 3.0 and a ton of new APIs, while the "gaming" framework team need to port them all over again, resulting in a 9-12 month delay).

    Then there is the issue with WinForms – clearly an API ported to the XBox 360 wouldn’t support that.

    Wouldn’t it be better to use one framework per platform and extend the class libraries instead? (Microsoft.Gaming namespaces). The existing .NET api documentation could document if a class is available on the 360 or not, similar to how the "compact framework" is today.

    Hopefully it’s just wires crossed and confusion in the final press release and what they really meant to say is that the new framework is just the 360 version, not a branched mscorwks.dll on Windows!

    The poster/commented named "John" mentioned WinForms support – I think I need to bring up the issue as well – the ability to host a D3D device on a WinForm is going to be *critical* for tool development.

  14. RobUk says:

    I have to agree with the others here, (those asking you to release MDX2 final, before moving on).

    I’ve spent the last 6 months working on an engine in MDX. I have also shifted the large majority of my code over to the beta (yeah, may be a bad idea in retrospect). But there are some pretty huge performance gains in MDX2 over 1.1. You are so close to wrapping it up. I for one am not fussed either way whether I can get my application working on an XBox 360. It is really not an issue for many developers. There should be a clear distinction between MDX and XNA, but both should still exist. It seems crazy to kill off MDX2.

    Rob – disapointed 🙁

  15. lmid says:

    I agree. The managed environment is nice for game development, because it gives you almost all non-graphics base components found in many engines for free. Garbage Collection, Reflection & AddOns, Scripting, etc… If you look at the public unreal headers, there is a huge amount of code creating something like a managed environment.  MDX is great and MDX 2.0 is even better. But it would be nice if we could have MDX 2.0 now for .Net 2.0 and XNA later when it’s done.

  16. Beanie says:

    Hi, I work for a small games studio that creates small 3D and 2D arcade games. I look forward to XNA, but we were hoping for a release of ManagedDX2 soon. Is there no way that MDX2 could be a separate component that XNA utilises? That way both softwares could be released and everyone would be happy.

    Will XNA have any built in support for 2D games?

  17. ME says:

    XNA? Who cares! I need a stable MDX 2.0 – not more, not less.

    Shipping several versions of the 2.0 assemblies with the SDK and then saying "ok, it’s over boys" simply sucks. And the silly "MDX 1.1 is still there" is just plain MS arrogance. If you never ever want to ship it, why the hell calling it "beta" and not "technology demo"? Maybe it’s fun for the developers at the XBox-Team to fold it into XNA and do some technology demos – but for some real-world developer (money-wise) who has TO PLAN it’s all big bullshit.

    Next Question: Will XNA be free for the independend developer? I bet my ass for the answer.

    The only solutions that remain:

    1. Write a nice and fast wrapper by yourself.

    2. Stay with C++

    All this renders MDX useless for me. I go for option 2. For most of us developers the question is: How big is the chance that our code will ever run on a XBox360 or that we get our hands on a devkit? 0.0%!

    Managed DX is dead. No more, no less.

    Me – disapointed too 🙁

  18. Rove says:

    I am hoping Microsoft continues to support Visual Basic / MDX for game development. We are a small independant developer that has built a fantastic concept demo with one programmer in 12 months using just DX8.1 and VB6. Now we are moving into full development and are rewriting the engine with VB.NET and Managed DirectX.

    I fully reject that C++ is the only way to make games, our current project is a dramatic first person sci-fi RPG complete with physics in a high-poly environment and damned good ai – it plays baby – the only reason we aren’t staying with vb6 is needing to guarantee future Vista compatability. Hopefully i can get .NET moving as fast or faster than vb6.

    In closing, hooray for Microsoft and goodluck with your monopoly! – I just ordered a 90 day trial of VS 2005 and downloaded a completely free version of VB.NET to complement my free DX9 SDK. – I don’t imagine Sony or Nintendo will be mailing free dev-kits anytime soon.

    !Not disapointed!

    T

  19. RobUk says:

    Me again,

    I’m keeping my eye on your blog for updated news about Managed DX (to see if I’ve just wasted the last 5 months of my life).

    It seems I am not the only one saddened by the lose of MDX. These people have a point, it’s pretty shitty to issue a new version (even if it was beta) in the DX SDK and then pull it just before release.

    PLEASE reconsider dumping it! I’ve been looking around the net, MDX was really just starting to take off, there were many resources appearing. For the first time since I started using MDX, google queries were actually bringing back useful relevant information.

    I would guess most people using MDX are small-time (at least at the moment, while it takes off). Pretty much 0% of those will be able to afford the development costs of using XNA, or afford a development XBox360. It just doesn’t seem sane.

    Again, please reconsider completely dumping it, and look for some sort of alternative!!!!

  20. Aaron says:

    Is MDX2.0 really that much faster than MDX1.1?

    Anyone have some numbers to share?

  21. Shaun says:

    Aaron,

    We ported a 200K LOC engine written in C#/MDX 1.1 to MDX 2.0 and we observed a 1FPS performance increase with a dense scene.

    Shaun

  22. Shamino says:

    You absolutely must released a final, non-beta Managed DirectX 2.0 that is not stripped down for the XNA Framework. This situation is outrageous. Consider releasing it as the final in its current form. After all, IT WORKS!

    You will absolutely kill whatever chance .NET ever had for getting a hold on professional game development. You need to allow us to keep our existing options if we do not want to develop strictly for some cut-down console environment! It makes absolutely NO SENSE to throw away something such as MDX 2.0. Whoever made that decision should be fired!

    Managed DirectX 1.1 is not an acceptable substitute! There are too many bugs and it does not take advantage of the new features of .NET 2.0!

  23. Wow, people are really on the ball when it comes to new DirectX SDK releases. Browsing Virtual Realm…