Shawn Hargreaves Blog
The XNA Framework runs on more platforms than people tend to realize. There is Xbox 360, and Zune, and Zune HD, and Windows with an NVidia DX9 GPU, and Windows with an AMD DX10 GPU, and Windows with an integrated Intel GPU, and...
I found it interesting but not surprising that the comments on my previous post focused on differences between Windows and Xbox, ignoring the possible variations from one Windows machine to another.
In the years we have been working on XNA Game Studio, we learned several things about making portable APIs:
Portability is important for several reasons:
Some of these goals are easier to achieve than others, but I think they are all worth striving toward.
"Developing on Zune, but iterate and test on PC."
This is very important for us. Debugging on the Zune HD is an exercise in patience when single-stepping through code. And we just hope that our profiling results on the PC will help the Zune HD go that little bit faster seeing as we cannot profile at line level on the device.
Yes, I'm impressed by the ambition of Microsoft and XNA trough all my experiments jumping from Windows, Zune, ZuneHD and 360. The effort needed for the different port would be acceptable if only Microsoft had a better ecosystem around the different platform with one centralize download point (I don't want call it store...) cross promotions a cohesive community etc. Now look like 'just' a great toy and experimental geek lab
You're right talking about why portability matters. I'm a professional game developer and we use a multiplatform game engine ( Gamebryo ) because we don't want to lost our last work and reuse as much as possible in new projects. It doesn't matter the target platform we're looking at. by the way great job with your blog i'm a avid reader of it! :)
Portable? Don't make me laugh. Barely portable perhaps, *a* console, *a* handheld device, *a* operating system. Hell, my OpenGL based game engine already does 3 operating systems, that is already 2 more than XNA, if I bothered to spend 5 minutes porting it to OpenGL ES there would be a whole myriad of phones and portable devices supported as well.
Its a bit of a stretch to call windows with different graphics cards different platforms.
If I create a game for windows I would hope that it would work on all windows machines that meet the minimum requirements.
> If I create a game for windows I would hope that it would work on all windows machines that meet the minimum requirements.
Hope is a great thing, but hope alone doth not a portable game make :-)
The challenge is how to define these minimum requirements, how to check for them, how to know which cards are going to meet your requirements so you don't accidentally end up excluding a large part of your target market, and how to deal with the many hardware quirks and driver bugs that tend to occur across different hardware especially for users who have not updated Windows for years and are still running ancient drivers!
The only way to be sure you got this stuff right is to test on lots and lots of different hardware configurations. This is what makes shipping games on Windows tricky.
So yes, I think it is fair to call Windows a collection of many subtly different platforms. They are all similar for sure, but not exactly the same...
I was pleasantly surprised that portability remains a significant issue across Windows platforms. I'm even more impressed by XNA now! Thank you! =D
the step debugging on xbox is fantastic
but more importantly ... you hardly ever need to use it
Is this post just a tease to set us up for the soon to be reveal that XNA will run on Windows Phone 7?
I wish someone would just confirm. I'm tired of all of the teases.
Oh wait I think Engadget just revealed that tonight. But then is that the Indie XNA or the I have to be an approved developer XNA.
Allan: I must confess, I have been indulging in perhaps just a wee bit of teasing, yes :-)
This post from Charlie has some good info: