XNA Game Studio 4.0 released

Shipping software is a strange thing. First you work hard on something for a year or two. Then things get crazy as deadlines loom, the pressure mounts, and last minute bugfixes zoom around like a five year old on a sugar rush. And then one day you are done! The product goes to the test team for final signoff, and the development team goes on vacation. It can feel something of an anticlimax by the time that final T is crossed, I is dotted, and the bits are released to our customers.

I'm sure all my readers are smart enough to pick up the hint: Game Studio 4.0 shipped this morning.

This time around, things were complicated by API changes that broke all our old samples. I've been busy upgrading samples this last few days, and am nearly finished with them all (only 3D Audio still to go, plus the avatar samples which Dean is taking care of). Thanks to an incredible effort from the people responsible for reviewing, testing, and propping content, we managed to get many 4.0 sample upgrades on the website today. The rest will be arriving Sometime Soon™.  For now, just check whether the sample you are interested in has a _4_0 zip available (and ignore the mislabelling where the website claims some _4_0 zip files are for earlier framework versions: we'll get that fixed once the dust settles).

Ship day is a good time to be nostalgic, and ideally a little silly. Which reminds me of a couple of weeks during the most stressful heat of battle, when for some reason I decided my Team Foundation Server checkin comments should be written as poetry instead of conventional boring prose. In celebration of being finished, here are some of my favorite Game Studio 4.0 bugfixes:

Drag Games for Windows LIVE between
Your first and second screen
This should be routine
Device reset should be unseen
We should continue to render the scene
Without hanging your machine

When decoding double you em vee
For aich dee tea vee
The why ewe vee to are gee bee
Conversion must be fast, you see
It's too much work to be entirely free
But after my optimization spree
Seven twenty pea
Now screams like a banshee

I hate to be a naysayer
But Windows Media Player
Can be unreliable
That's undeniable

While loading a game
We were calling put_name
Too fast, with no lull
So it dereferenced null

We now cache the name
Which is somewhat lame
But it at least it avoids
Dereferencing voids

When resetting the device
The decl tree must stay precise
If we wipe the root we'll free them twice
Clearing the children will suffice

When depth is discarded
It would be retarded
To take in the usage
But then disregard it

To avoid the disgrace
Of wasting space
We no longer assume
That we must allocate room

Comments (17)

  1. R0ugh3dg3 says:

    Firstly, congrats on the release 🙂 The XNA framework is shaping up nicely. It was encouraging to read that you had some fun with your comments. Looking through some of my old code I realised I litter my comments with mostly questionable language 😛

    Anyways, many thanks for the new release, enjoy any well deserved time-off you might have!

  2. Matej Jan says:

    I'm eating and breathing the new implementation lately and it's a very nicely architectured framework. Love the breaking changes when the result gets so much preatier as is in the case of XNA 4.0. Congrats!

    P.S. love the poem, very sharp lines, kudos!

  3. Kiveryn says:

    Ok seeing the XNA forum keeps eating my post I'll ask you directly. Is there a full download so that I can install on multiple machines? I don't live in the USA. We don't have 50 bajillion bytes free download at 100 million mbit/s here. I already had to download the initial web installer 3 times because it kept popping up while I was typing and cancelling.

  4. Kiveryn says:

    nvm, ZMan and Aaron Stebner to the rescue!

  5. Alecto says:

    Actually enjoyed reading those bug fix notes.  Next, i suggest something more subtle and unnoticeable to the untrained eye like sonnets.  You could totally put that to a beat tho GJ guys. Also I downloaded 4.0 yesterday I hope it was the full version LoL.

  6. Michael Hansen says:

    Thanks ¨Shawn and microsoft for a nice framework

    this is how it shood have been from the start 3 years ago

    now the phone , please openup for custrum shaders in the near future , so we can make our games stand out from all the othere games  , espeacily like the iphone games , let us make better games and overkill looking and quality than iphone

    Thanks again for a nice framework,

  7. Wouter de Vries says:

    What is the reason for changing the requirement for Dxt Compression from "a multitude of 4" to "a power of 2"?

    This breaks our game since our textures are all made with regards to the first requirement and do not fit the new requirement. The real problem is that without compression our game DOES NOT work anymore on our custom hardware due to low end built-in graphics cards!

    Any idea what we can do to make things right without doing complicated dynamic content juggling?

  8. Wouter de Vries says:

    My last comment was regarding the Reach profile. The HiDef profile does not work on our hardware..

  9. ShawnHargreaves says:

    > What is the reason for changing the requirement for Dxt Compression from "a multitude of 4" to "a power of 2"?

    HiDef doesn't have this restriction, but for Reach hardware, there are several popular graphics cards that do not support non-power-of-2 DXT textures.

    A good way to work around this is to use sprite sheets automatically pack multiple non-pow-2 images into a single larger pow-2 texture. Check out the Sprite Sheet sample on creators.xna.com for a way of automating this packing.

  10. Jimmy says:

    Congrats to Shawn & the XNA team!!

  11. brandon place says:

    Hi Shawn, congratulations on the release!

    I'm having a problem which perhaps somebody here might have some ideas about – I installed the "XNA Game Studio 4.0 Standalone for Windows and Xbox 360" version to save space and since installing it I can no longer run any projects on the xbox.

    The previous version was running fine as of yesterday, but when I try to deploy the game now I have two main problems:

    1) Often the deployment times out. The tv screen doesn't change from "Waiting for computer connection" and visual studio eventually gives up. Occasionally it works, and then:-

    2) I get an "Unable to launch the game" window on my xbox, and visual studio gives me a "The application could not be launched for debugging. Verify that the application is installed on the target device." error message.

    I'm running Windows 7 (which the download says it is compatible with) and I installed Visual studio express 2010 before I installed game studio. I'm testing both with my previously working project and a fresh new unchanged xbox 360 project both in Debug and Release builds.

    Everything worked fine yesterday on 3.1.

    I hope somebody might have an idea what I should be checking!



  12. brandon place says:

    Oh sorry, I finally found the answer:

    What about XNA Game Studio Connect?

    The XNA Game Studio Connect Beta, which allows deploying and debugging of XNA Game Studio 4.0 games on Xbox 360, will be arriving very soon. Originally, this release was scheduled for today. We are working hard on getting this ready for you. Until this Beta is launched, Xbox 360 projects created in XNA Game Studio 4.0 will not deploy onto the Xbox 360. Creators using XNA Game Studio 3.1 can continue deploying using their existing XNA Game Studio Connect. Stay tuned to creators.xna.com and this blog for news about the Beta launch.

    If only I'd found that before I upgraded! 🙂

  13. Grant Kot says:

    Thanks for the release! Have you guys tested on Intel HD Graphics? I'm trying to get this game to run on a friend's computer. Although his graphics is Intel, it does seem to support DirectX 10. However, it can't run my HiDef profile game and the error box turns up.

  14. Wouter de Vries says:

    Thanks for the reply Shawn. When we turn off compression our games crash completely due to loading of too many texture content. Could you explain how I could make an estimate of how much content I can load based on information retrievable in code about the graphics card?

  15. SpeedCap says:

    Is there a way to disable the HiDef profile because I like to use my netbook to program and test but while in class or on the bus… Now because of the HiDef profile I can't run anything on my netbook… If not, I guess I'll just have to code on here and debug when I get home or to the office… Thanks in advance…

  16. ShawnHargreaves says:

    > Is there a way to disable the HiDef profile

    You can switch your game to use the Reach profile instead.

Skip to main content