Welcome to MSDN Blogs Sign in | Join | Help

XNA Framework Goals Part 1 and MDX2

Commercial (3D) game development is hard -- really hard.  As someone on my team said, the time to a first playable level is a momentous occasion in any game development cycle.  The trick here is to get to the first playable level as quickly as possible and then get the project fully funded – few games ever make it past this stage. If a game studio is fortunate to make it past this stage, additional features are added, refined, and stabilized (hopefully) until the game ships.  As with any commercial venture, market reach is critical -- the availability of a commercial game on multiple platforms is only a good thing.

 

With the XNA Framework, lowering costs and time to market is a key problem that we are trying to solve. Two goals on solving this problem are:

  • Cross-platform development of games across Windows and Xbox 360
  • Increase game developer productivity -- We want game developers to focus on game play mechanics not hardware mechanics

We feel that the first step to addressing both those problems is by enabling the CLR on the Xbox 360 and bringing a game framework that is API compatible across Xbox 360 and Windows.

 

So what does that really mean?

 

For one, Tom Miller is no longer an Army of One.  He has a whole team (dev, test, PM) now supporting his lifelong goal of enabling game development using managed code J

 

Second, we are folding MDX2 into the XNA Framework.  MDX2 is going to be a critical component for what will be our graphics layer.  We equate the graphics layer as our hardware layer.  Today, MDX2 is Windows only and it is built on top of D3D9, D3DX, etc.

Any developer that has written games for both Xbox and Windows knows that there are quite a few differences between the API’s.  While we definitely won’t be able to get a 100% API compatibility between the two platforms, we are trying our best to reduce the number of API compatibility issues.

 

As a result of us trying to reduce the compatibility issues between the platforms we have API’s that fall into the following categories:

 

1) API’s that are replaced with newer cross-platform counterparts

 

DirectSound gets replaced with XACT and DirectInput gets replaced with XInput. 

At this point some of the questions you may be thinking:

·         What if I need lower-level audio API support?

·         What if I want to build by own audio engine?

·         What happens to mouse and keyboard support on Windows?

·         How will I support alternative input devices that aren’t exposed by XInput today?

 One way to support those scenarios in managed code would be to use MDX 1.1.  We plan on supporting MDX 1.1 for quite a while, especially since customers have shipped applications using MDX 1.1. 

 

Looking to the future, we (an entire team and not just Tom J) are actively thinking on how we might solve these scenarios.  More importantly, we want to hear from you our customer on what type of gaming scenarios you would like to see enabled cross-platform or even platform specific.  Of course, we can’t guarantee we’ll be able to hit every scenario in our first release of the XNA Framework but we’d like to do our best to minimize any disruption and ensure that communication is two-way.

 

2) API’s that are eliminated because no cross-platform counterpart exists

 

DxDiag gets cut.  There is no real equivalent on Xbox 360 today.  MDX1.1 will continue to support a managed wrapper for DxDiag.  Do you have any concerns here?  If so, let us know.

 

3) API’s that are “evolved” into various other XNA Framework API’s

 

D3DX.  Ah what happens to D3DX?  This is a toughie.  D3DX contains useful functionality that in a strict .NET namespace way is all over the place.  To complicate matters further, a lot of functionality on D3DX doesn’t exist on the Xbox 360 today.  Our crack team of developers, testers and program managers have some idea on how some of this functionality needs to evolve but frankly there are a lot of customer scenarios that we probably don’t know about.  This is one place where we definitely need lots of customer feedback. 

 

Overall, the XNA team is super excited on what we are planning on delivering via the XNA Framework.  We want to reinforce that the commitments Microsoft is making to managed game programming with the XNA Framework will go far beyond the original scope of what Managed DirectX was meant to address, and we strongly believe that this will be a very positive move for the game industry as a whole.

 

Finally, some of you may be thinking,

 

“I write REAL apps.  I don’t write silly games.  In fact, my software has saved entire countries in Europe as well as head of states.  How does the XNA Framework help me and what is Microsoft going to do to support my apps going forward?”

 

We’d like to hear from customers using MDX that aren’t building games.  This is another area that Microsoft as a whole is actively trying to solve. 

 

If your attending GDC 2006 stop by the Microsoft booth (#416) on the show floor and come meet us!. We’ll have kiosks to demo some games running on Windows and an Xbox 360 development kit.  You can also learn about XNA Build as well.

 

If you have comments, concerns or questions that you may be uncomfortable airing on a public forum, please email us at xna@microsoft.com.

 

Please check out my team member's blogs for more information about the XNA Framework, XNA Build and XNA Studio.

Michael Klucher http://blogs.msdn.com/mklucher/

Tom Miller http://blogs.msdn.com/tmiller/

Published Monday, March 20, 2006 6:00 AM by aL [MSFT]
Filed under:

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

# .NET on XBox confirmed

Monday, March 20, 2006 12:31 PM by TrayGames Blog
As anticipated the port of the .NET framework for the XBox 360 has been
announced.  They're calling...

# XNA Framework Announced

Monday, March 20, 2006 1:06 PM by Michael Klucher's XNA Blog
There are a bunch of great news articles floating around talking about the XNA Framework that was announced...

# Managed DirectX 2.0, Xna and Me...

Monday, March 20, 2006 8:24 PM by Tom Miller's Blog
One of the Program Managers for the Xna Framework recently started his first blog.  Unless...

# » Catching Up: Xbox 360 Edition  InsideMicrosoft - part of the Blog News Channel

# re: XNA Framework Goals Part 1 and MDX2

Thursday, March 23, 2006 9:45 AM by Matt
How long did it take to port the CLR to the PowerPC, and how much work was involved.

# re: XNA Framework Goals Part 1 and MDX2

Thursday, March 23, 2006 1:32 PM by aL [MSFT]
The .NET CF team did most of the work porting the CLR to the PowerPC architecture on Xbox 360.  It took them quite a bit of time.  I'll let Robert Unoki comment specifically :)

Robert Unoki's Blog: http://blogs.msdn.com/robunoki/

# re: XNA Framework Goals Part 1 and MDX2

Friday, March 24, 2006 10:35 AM by MK
I'm not sure I really like the approach of "just use MDX 1.1" if you need DirectSound, DirectInput, Diagnostics, D3DX, etc.  I am a bit worried that MDX in XNA will be reduced to a "greatest common denominator" framework (i.e., only support capabilities that are present on every supported platform) instead of a flexible framework that can take advantage of special capabilities of certain platforms (e.g., DirectInput, DirectSound, Diagnostics on Windows but not on the Xbox).  We envision some cross-platform applications that may have additional capabilities when run on a PC vs. an Xbox.  Can Microsoft.DirectX.Diagnostics provide some sort of "Environment" class that allows the application to query/determine what type of machine/platform it is running on and its basic capabilities (in order to make appropriate calls)?  Methods that are not supported on a given platform could simply raise NotSupportedExceptions (instead of removing the entire method/namespace from the framework).

Will Managed DirectX continue as a "living" product after XNA (which on the surface looks to be somewhat "casual game-centric") is released?  For example MDX for .NET 2.0, 64-bit, D3D10, etc. or is MDX 1.1 based on .NET 1.1 the end of the road?

# re: XNA Framework Goals Part 1 and MDX2

Sunday, March 26, 2006 10:41 PM by Sandrino Marinescu
"We’d like to hear from customers using MDX that aren’t building games.  This is another area that Microsoft as a whole is actively trying to solve."

I find myself falling into this category.

I guess the real question here is why developers from not-game related industries are using Managed DirectX. It is because MDX is so cool? Well yes, it is, there is no doubt about. Unfortunately the real reason for this is the fact that at this moment, MD3D is the only released (CLR based) Microsoft development tool that provides the reasonable amount of speed required by the UI of the latest generation applications in the DAQ industry.

I am confident that as soon as Microsoft will replace the obsolete GDI technology with something similar in performance with Direct3D technology, MDX/XNA team will have one group of developers less to consider when performing architectural changes.

# re: XNA Framework Goals Part 1 and MDX2

Thursday, March 30, 2006 1:15 AM by aL [MSFT]
MK - MDX 1.1 is fully compatible with the .NET 2.0 CLR.  We will certainly be exposing platform specific functionality such as mouse input on PC.  

MDX 2.0 will evolve into the graphics API for the XNA Framework.  

Will there be an MDX outside of the XNA Framework?  That's something that we are still trying to figure out.

# re: XNA Framework Goals Part 1 and MDX2

Sunday, April 02, 2006 11:12 AM by RobUk
I too am concerned that MDX and XNA will become a "greatest common denominator" framework.

There are still people out there like me that really are not bothered whether their application can run on a 360 or not. In my case, my application makes no sense on the 360, but I am already using D3DX and DirectInput.

What's more, I'm not a games studio, and I don't have wads of cash to give microsoft so that I can use XNA :( - I know there is no pricing released yet, but you have to assume there will be :(.

And to top it all off, MDX2 got canned too. MDX2 gave a massive performance increase my engine, and now the solution is "use MDX1.1", that really isn't good enough.

Seems XNA will cater to the a lot of people that want to write cross platform apps, but will dash the hopes of those that really don't care about it, and want to write windows apps/games.

I've spent a long time working on my engine, this really wasn't the news I was looking for today :(
<cries>

Good luck with XNA!

# re: XNA Framework Goals Part 1 and MDX2

Friday, April 07, 2006 4:37 AM by stephan mantler
Just as Sandrino, I am not a game developer, but work on scientific visualisation projects, mostly in 3D. As such, our needs are relatively close to game developers, but with a few twists.
There is practically no content production pipeline (data is generally either created dynamically or created and managed by our customers), and our builds are (relatively) lightweight. Thus, a lot of the XNA build stuff doesn't really apply to us.
Basically, we are in it only for the graphics system. Input is either through keyboard & mouse, or through specialized devices that will probably never make it into DirectInput and its XNA equivalent (SpaceMouse, magnetic and optical tracking systems, etc.).

In some cases we need to integrate our system with legacy applications, typically by running it side by side to the main app. So windowed rendering is of much higher importance for us than for the average game, as is 64-bit and large data support: Some of our applications have obscenely high polygon counts, or work with volumetric data (CT,MR,...) up to 2048x2048x512. In these cases we certainly don't expect very high performance, but the framework should be able to handle these loads stably and preferably without severe thrashing (ie. optimization for a game-typical polygon and texture count is acceptable, but should not be a hard limit).

Interesting times are ahead...

# re: XNA Framework Goals Part 1 and MDX2

Friday, April 07, 2006 1:45 PM by hngpf
Who cares about 360? Who cares about XNA? I want a stable and fast MDX2.0.

# re: XNA Framework Goals Part 1 and MDX2

Friday, April 07, 2006 11:36 PM by Rove
Here is a question: does XNA allow development with Visual Basic, or is it C# only?

# re: XNA Framework Goals Part 1 and MDX2

Sunday, April 09, 2006 6:55 AM by Joku
MDX 2 is not canned, it might however be delayed.

Personally I am looking forward to MDX providing support for DX10 and helping developers to fully utilize the power of GPU perhaps with a little handhelding by providing efficient but generic framework/engine sample and articles that help move the graphics processing to the GPU as much as possible whether you want to do 2D with few 3D effects or full blown 2D applications, or perhaps helping to utilize the GPU for some non-graphics work.

The future for Managed code in games look bright and the new driver architecture means it becomes feasible to do the next Far Cry or Flight Sim in c# since more and more of the graphics engine can be moved over to GPU. 10 years from now the future game developers will be wondering why did anyone ever write games in C++.

# re: XNA Framework Goals Part 1 and MDX2

Wednesday, April 12, 2006 4:24 AM by aL [MSFT]
RobUk

Hi Rob.  It is true that cross-platform game development is a primary goal but we doing anything to prevent people from using platform specific features.  We fully expect people to only build games for Xbox or Windows only.

As for pricing and availability regarding the XNA Framework, I can't talk about that in detail at this point.  We will have a lot more to announce about this at GameFest in August.  You should definately check out our announcements then.

If you have any specific concerns feel free to ping me directly.

# re: XNA Framework Goals Part 1 and MDX2

Thursday, April 27, 2006 5:54 PM by Phillip
I just wanted to chime in that we use MDX extensively for many Medical applications and I can say that we are not the only medical company that does. Our development team was really looking forward to MDX 2.

GDI just cannot offer the features we need to display the rich and interactive UIs to our customers need for diagnosis. We also use DirectInput and DirectSound for various ques and control. XNA which is a nice concept seems like a waste of time for non-game developers. Too bad Microsoft cannot develop both XNA and MDX 2.0 in parallel.

On another note, I hope XNA is affordable for the indie developers which thrive on MDX/DirectX and cannot afford an SDK that IMO should be offered for FREE! Is it just me or are there more people here interested in MDX than XNA?

# re: XNA Framework Goals Part 1 and MDX2

Thursday, April 27, 2006 6:50 PM by Nick V.
I'm happy to hear that MDX is recognized for its usefulness and is being consolidated with bigger projects.

1. Will MDX in XNA remain free? (If not, will it be available on MSDN?)
2. When (day, month, quarter, fiscal year) will the final result of MDX in XNA be available for download?
3. If we continue development of current projects with MDX2.0 (April), can we expect the code to be fairly compatible with MDX in XNA?

Btw, I have to side with Phillip; most indie developers can't afford several hundred dollars for software. If we don't have something freely available to BEGIN developing the first level of a game, there's no way we'll find the time and money to write a proof-of-concept for real funding.
Can you give the community some assurance that we'll have a free version of XNA with MDX?

Thanks!

# re: XNA Framework Goals Part 1 and MDX2

Thursday, April 27, 2006 11:04 PM by aL [MSFT]
The XNA Framework which encompasses much more than what MDX2 had will be freely available on Windows.  We plan to provide more than just hardware-level type Graphics (D3D) api's for game development.   We will be trying out best to maintain compatibility with MDX2 where it makes sense.  Regardless, we will provide documentation that will detail the differences between MDX 1.1, MDX2 and the XNA Graphics API.

As for indie development, we certainly have lots of plans to invigorate the indie development community on Windows.

We'll have more detailed information and quite a few big surprises for game developers that we are announcing around GameFest (August 14th) this year.  

There is a LOT of excitement amongst our team and we really wish we could say more ;)

# re: XNA Framework Goals Part 1 and MDX2

Friday, April 28, 2006 8:57 PM by nICK v.
That's what we needed to hear.
Thanks aL!

Looking forward to trying XNA.

# re: XNA Framework Goals Part 1 and MDX2

Tuesday, May 23, 2006 8:14 PM by Chris W
I just want my dxdiag to still exist. :(

For troubleshooting, that little app is essential!  I really think it's a bad idea to get rid of it. Even if the xbox360 doesn't have/need it.

# DirectX SDK for June 2006 Released

Saturday, June 10, 2006 4:25 PM by Michael Klucher's XNA Blog
Wow, people are really on the ball when it comes to new DirectX SDK releases. Browsing Virtual Realm...

# re: XNA Framework Goals Part 1 and MDX2

Wednesday, June 14, 2006 6:37 AM by Vincent
I think that Direct3D without D3DX is like OpenGL.

# re: XNA Framework Goals Part 1 and MDX2

Friday, June 16, 2006 5:34 AM by qrli
"I think that Direct3D without D3DX is like OpenGL. "

I can't agree more. I switched from OpenGL just for D3DX.
And I don't care about 360 too, I just need the full power on Windows.

# re: XNA Framework Goals Part 1 and MDX2

Wednesday, July 26, 2006 8:49 AM by Danny Tuppeny
What's happening with XNA? None of the blogs of people working on it have been updated for months! I've started playing with MDX2 again, but I know I'm just gonna have to change everything!

Since MDX2 was a fairly stable beta, how far can some kind of pre-release version of XNA Framework be? :-(

# re: XNA Framework Goals Part 1 and MDX2

Thursday, July 27, 2006 4:05 PM by aL [MSFT]
XNA is still happening :)  We are super, super busy prepping for GameFest (https://www.microsoftgamefest.com/conferencedetails.htm)

We'll have several sessions there and be making some big announcements about our releases and future plans.  

I'm sure you guys can guess as to what's happening ;)

# re: XNA Framework Goals Part 1 and MDX2

Thursday, August 17, 2006 2:29 PM by John Flaherty
When the master speaks, I listen.

Everyone who programs for a living realizes the amount of intelligence, skill, and dedication required to program a real 3-D game is overwhelming.  Now, thanks to folks like the XNA team, perhaps some us who thought we'd never see the day may actually have a chance of becoming a real game developer.  I'm sure that it will be truly years before I am qualified to include myself as a real game developer, but at least I now have a chance.

Thanks for giving the more BASIC amongst us a chance at living the dream.

Respectfully,

John Flaherty
http://smartwebagent.com/
smartwebagent@hotmail.com
john.flaherty@ky.gov
502-718-6471

# re: XNA Framework Goals Part 1 and MDX2

Monday, September 11, 2006 9:02 AM by miral
what is th MDX2

# re: XNA Framework Goals Part 1 and MDX2

Wednesday, October 11, 2006 3:15 PM by Brian Peal

Will XNA provide some of the basic features found in middle tier products such as Torque? In particular, networking for MMORPG's for communications between clients and servers ( and client to client)?

# re: XNA Framework Goals Part 1 and MDX2

Thursday, November 23, 2006 11:57 AM by Christmas Gifts

# re: XNA Framework Goals Part 1 and MDX2

Friday, December 01, 2006 11:06 PM by Donny Zimmerman

I write weather applications using MDX 1.1. I too am nervous of the fact that the only types of apps that are mentioned around XNA are games. Some of my apps do not render frames as fast as possible, but rather on user input. This is because just like medical apps, some of my apps have an extremely large poly count (3D radar and such).

Please keep the existing MDX functions intact!!!

# re: XNA Framework Goals Part 1 and MDX2

Saturday, December 02, 2006 12:32 PM by Donny Zimmerman

After further reading I have decided that it is clear Microsoft does not support non-game 3D applications.

Simply look at what you have to download to use XNA, "GAME STUDIO EXPRESS". That says it all.

My weather apps are written using MDX1.1 and C#.

I will definately be looking at using OpenGL(Tao) and C# for my purposes.

Microsoft saying "stick with MDX1.1" for non-game apps is not acceptable.

I think MS should release MDX2.0 for non-game PC developers.

# re: XNA Framework Goals Part 1 and MDX2

Saturday, April 07, 2007 6:22 PM by Simon Roberts

HI,

I was wondering if there was anyway to support variable frequency sample playback in XNA.

it would be cool if I could adjust the speed of samples during playback - like in directX...

I really need this for a game I am developing?

Are there any plans on including either a) real-time access to adjust more parameters in Xact. Or b) increased subsumance of the previous functionality offered in DirectX audio.

cheers.

Simon.

# DAQ in visual basic

Monday, May 21, 2007 4:46 AM by ali

application of DAQ in visual basic

# re: XNA Framework Goals Part 1 and MDX2

Wednesday, August 15, 2007 6:33 PM by aL [MSFT]

Hi Simon.  Sorry about the long, belated reply.  My blog had your comment queued up for review. You should be able to accomplish what you need to do with creating variables in the XACT tool.  Check out http://msdn2.microsoft.com/en-us/library/bb172310.aspx#Create.  If you can't find what you need there, please post a more detailed question on our forums at http://creators.xna.com.

# re: XNA Framework Goals Part 1 and MDX2

Tuesday, March 25, 2008 4:32 PM by Magik

Hi!

I am currently working on a school project,

the project is to develop a 2d game with the

XNA framework.

I am trying to find if the XNA framework has any

technical constraints. I've searched the web, but

little is said about this topic.

I would appreciate any help I can get.

Leave a Comment

(required) 
required 
(required) 
 
Page view tracker