DirectX and XNA Status Report

A few interesting things have been happening in the DirectX and XNA world, and I think people haven’t really noticed yet. It’s been done quietly, not because Microsoft is trying to hide anything but because they’ve always been big believers in the “fade into the night” approach to canceling projects. Or their communication ability sucks. Cancel may be the wrong word here, but the DirectX developer experience is going to be quite a bit different moving forward.

Let’s start with the DirectX SDK, which you may have noticed was last updated in June of 2010. That’s about a year and a half now, which is a bit of a lag for a product which has — sorry, had — scheduled quarterly releases. Unless of course that product is canceled, and it is. You heard me right: there is no more DirectX SDK. Its various useful components have been spun out into a hodge-podge of other places, and some pieces are simply discontinued. Everything outside DirectX Graphics is of course gone, and has been for several years now. That should not be a surprise. The graphics pieces and documentation, though, are being folded into the Windows SDK. D3DX is entirely gone. The math library was released as XNA Math (essentially a port from Xbox), then renamed to DirectXMath. It was a separate download for a while but I think it might be part of Windows SDK from Windows 8 also. I haven’t checked. The FX compiler has been spun off/abandoned as an open source block of code that is in the June 2010 SDK. There are no official patches for a wide range of known bugs, and I’m not aware of a central location for indie patches. Most of the remaining bits and pieces live on Chuck Walbourn’s blog. Yeah, I know.

In case it’s not obvious, this means that the DirectX release schedule is now the same as the Windows SDK, which always corresponds with major OS updates (service packs and full new versions). Don’t hold your breath on bug fixes. Last I heard, there’s only one person still working on the HLSL compiler. Maybe they’ve hired someone, or I assume they have a job opening on that ‘team’ at least. What I do know is that for all practical purposes, DirectX has been demoted to a standard, uninteresting Windows API just like all the others. I imagine there won’t be a lot more samples coming from Microsoft, especially big cool ones like the SDK used to have. Probably have to rely on AMD and NVIDIA for that stuff moving forward.

That covers the native side. What about managed? Well the Windows API Code Pack hasn’t been updated in a year and a half so we won’t worry about that. On the XNA front, two things are becoming very clear:
* XNA is not invited to Windows 8.
* XBLIG is not a serious effort.
The point about XBLIG has been known by most of us MVP guys for a while now. Microsoft promised a lot of interesting news out of this past //BUILD/ conference, which I suppose was true. However you may have noticed that XNA was not mentioned at any point. That’s because XNA isn’t invited. All of that fancy new Metro stuff? None of it will work with XNA, at all, in any fashion. (Win8 will run XNA just like any other ‘classic’ app.) That also implies pretty minimal involvement with the Windows app store. Combined with the fact that XBLIG has never been a serious effort to begin with, I’m dubious about tablet support for managed games. XNA does work on WinPhone7 and Win8 does support Win7 apps, so it ought to work in principle. Maybe. Given the niche status of Windows Phone 7 at the moment, and major losses of tech like UDK and Unity from that ecosystem, I’m also expecting WinPhone8 to be much more friendly to native code. (If not, I expect that platform to fail entirely, and take Nokia with it.)

I’m also looking at this e-mail right now in my box, which starts as follows:

As you know, the 2012 Microsoft MVP Summit is Feb 28-Mar 2, 2012. We wanted to inform you that DirectX and XNA technologies will not be hosting sessions at the Summit. As MVPs, you are still encouraged to attend and be a part of the global MVP community, and you’ll have the ability to attend technical sessions offered by other product groups.

Really? No DX/XNA sessions at all? I don’t think DirectX is fading into the sunset because it’s a core technology. XNA will most likely disappear. For some reason, Microsoft is getting out of the business of helping developers produce games and other 3D applications at the exact same time that they’re adding core support for it. Yes, Visual Studio 11 has model and texture visualizing and editing. It even has a visually based shader editor. I’ll let you take a wild guess on how well that will work with XNA code.

I don’t know exactly what Microsoft is going for here, but every couple of days somebody asks me when the next DirectX SDK is going to be released and I think I’m just explicitly stating what Microsoft has vaguely hinted for a while now. There is no new DirectX SDK, soon or ever. And I’m not holding my breath for any XNA updates either. I am told there is an XNA 5, but they won’t be at the summit apparently. If there is some actual future in XNA, feel free to make yourselves heard on the mailing lists because right now it’s really difficult to understand why anyone would bother.

Important clarification: I do NOT think DirectX is being deprecated or vanished or even dramatically changed at the core. (I’m less confident in XNA.) The SDK is being vanished, subsumed into Windows SDK as a component just like all the rest of Windows. So coding DX is no more special than coding GDI or Winsock. There will still be 11.1 and 12 and all that, probably delivered with OS releases and service packs. “DirectX 11.1” will actually be synonymous with “Win7 SP2”. That has been the case for a while, actually. What’s going away is the wonderful developer support we’ve enjoyed as long as I can remember. Compare the D3DX libraries across 9, 10, and 11. Is this really a surprise? It’s been slowly happening for years.

27 thoughts on “DirectX and XNA Status Report

  1. If this is accurate, I can’t wait to see the moron executives responsible for these decisions drive the rest of Microsoft into the ground. Why on earth would they willingly throw away their status as the platform of choice for game developers like this? The way they sidetracked XNA resources with the Zune shit show was bad enough, but this is just getting ridiculous.

  2. Well that’s just dandy.

    Since the first developer release for Win 8 dropped, I’ve heard murmurs, rumors, etc… that Microsoft is trying to back up towards the door in regards to managed languages in general.

    It’s a gigantic leap to assume that if XNA is supposedly being left out in the cold, then they’ll just give up on the managed world. However, the tinfoil hatter in me is just a little on edge (mind you, I have to be, I make my living writing .NET crap).

    My paranoia comes from the fear that Microsoft is so caught up in the “let’s beat Apple/Google at phones and tablets!” game that they’re losing their focus when it comes to desktop stuff. And this, in my eyes, is just yet more proof (I’m one of the few that just absolutely loathes the UI in Win 8 and believes the desktop is not a tablet and/or phone, apparently I’m wrong says the interwebs).

    I guess my point is that it does seem as though they’re a bit aimless these days. It’s hard to envision where they’re trying to go with all of this stuff. It’s like they’re throwing stuff at the wall and seeing what sticks, and that does not give me an overwhelming sense of confidence.

    Then, I’m probably just getting too old and developing the “it was better in my day” old man syndrome. Stupid progress, it should get off my lawn. Anyway, sorry for the inane rant, I know it was only tangentially associated with your post.

  3. about XNA, I noticed something fishy when Shawn Hargreaves’ blog abruptly slowed down from ~10 articles a month to almost 0.

    1. A friend has a friend who yadda yadda yadda, I don’t have any information as such about it. Just heard that there are people actively working on such a thing called XNA 5.

      1. Wow, even us MVPs can’t get that kind of info any more. If it’s being worked on I can’t figure out why they wouldn’t have sessions at the Summit to let us know. It can’t be that far out. 😦

        1. Dude, when’s the last time we got ANY special/early information as DX/XNA MVPs? Public or private it’s always the same thing, wait for announcements at //build/ (there weren’t any) or Summit (there won’t be any).

    2. I wouldn’t be surprised if XNA 5 is indeed in the works. If it is, then when it hits I expect it to be fully DX11+ based (and possibly WinRT compliant). If that’s the case, then it’s almost certainly a huge job. Thus, the deafening silence surrounding XNA may very well be justified in terms of they’re simply banging away on it and it’s simply not time to make an announcement. Of course I’d love it if someone from MS had enough common courtesy for the developers who support them, to make such an announcement.

    3. There should be XNA in Silverlight. But Silverlight itself is a bit “in the cold” currently 🙂

      I do not mind (neighter of them works on my platforms)!

      But still wasnt DX good cause front end was made by MS, so you generally assumed bug-free on your computer is bug-free on other*?
      (* at least to more extend that with OGL)

      Any way, XNA, DX or whatever MS is supporting or not can not rival OpenGL ES on mobile. Nor any MS product rival WebGL. This will have bigger impact than discontinuing DX SDK as separate SDK!

      1. There is XNA in Silverlight 5. It’s super simple to develop and even use custom models and shaders. There are some catches.. while you can use your own effects based on the Silverlight 5 Tools update, it still is stuck with the reach profile (16-bit index sizes on buffers etc). Also, Silverlight blocks access to the graphics card by default and it has to be explicitly enabled by the user so it might as well not even be there.

  4. I dont know why “developers” panic when things transition in or out.. 10 years ago when I was in college I did a small project in VC++ with DirectX 5 or 7 dont remember the version… 7/8 years ago at my first job, I was working in VC++ with DirectX 8 on a pretty big project – loved every minute of it. then I took a break and went for masters. 6 yrs ago I did a simulation project as part of my masters thesis in Managed DirectX and another medical imaging project in C++ & OpenGL and another project during an industrial project in Java/Eclipse and GEF (Graphical Editing Framework). Then I went into healthcare LOB enterprise apps all sweet .Net – doing taht for the last 5 years. 6 months ago I thought lets get into wp7 game development as hobby since thats my long lost passion… and started XNA 4.0.

    http://danglingneuron.wordpress.com/2011/11/10/air-soccer-tour-submitted-for-certification/

    I did not have any issues learning and or switching constantly between C++, C# ( and Java) | DX, ManagedDX, XNA (and OpenGL).

    I consider myself an average developer – and I have nothing but respect for the technologies MS brings to the table. I dont think there is any reason to panic – especially not the MVPs 🙂 cuz you guys are the best technologists.

    Windows is and will stay the premium platform for game developers – no matter what API flavor Windows 8 brings with it.. its just the names (marketing brands) that change… so maybe they will come up with DNA as the next gaming api, I dont care what they call it – what I care about is that I am sure I will love that API/flavor too.

    1. I don’t think it’s matter of panicking. It’s a matter of not being able to plan for the future since MS isn’t talking about XNA at all, other than “The current version will continue to work.” That’s just not good enough for the people that are trying to make a living creating XNA games.

  5. So with the slower release schedule of directX updates, do you think we will see developers wanting to use new extensions/features transitioning (back?) to OpenGL?

  6. I’m surprised nobody has mentioned MonoGame yet.

    http://www.monogame.net/

    MonoGame is an Open Source implementation of the Microsoft XNA 4.x Framework. Allowing XNA developers on Xbox 360, Windows & Windows Phone 7 to port their games to the iOS, Android, Mac OS X, Linux and Windows 8 Metro. OUYA, Windows Phone 8, PlayStation Mobile and Raspberry PI are currently in development.

Leave a comment