The State of the XNA Framework

The State of the XNA Framework

Rate This
  • Comments 29

I am tremendously proud of what we have achieved with XNA Game Studio over the last few years:

  • We opened up Xbox 360 game development. For the first time in history, anyone who cares to do so can create and sell games for a major console, including features such as multiplayer LIVE networking and full access to the powerful Xbox GPU.

  • We also enabled game development on Zune devices.

  • I think we did a good job balancing our API between being easy to learn and fun to use, while also powerful and expressive enough to make great looking 3D games.

  • The portability of our framework makes it easy to transfer skills, code, and even entire games between Windows, Xbox 360, and Zune.

  • Perhaps most importantly, we demonstrated that Microsoft is serious about managed code for game development, and learned many valuable things about building games with .NET.

But Game Studio is still far from perfect. To improve it, we must also consider our flaws:

  • Our API is portable, but not portable enough. There are still too many confusing and unnecessary differences between platforms.

  • Our API is easy to learn, but not easy enough. Hanging out on the creators.xna.com forums, I see the same questions over and over again. The first few times something is asked, I just answer it and move on. The tenth time, I blog an article on that topic. But by the hundredth time, I have to ask myself, if so many people are running into the same problem, perhaps we could improve our design to remove the source of their confusion?

  • There are too many places where we expose details of underlying platform implementations, which makes porting our framework to new platforms harder than it should be.

(note: as a developer who works on the core framework APIs, I am concentrating on the technical side of things, as opposed to surrounding business policy and publishing aspects)

Shawn’s verdict: B+. I think Game Studio 3.1 is pretty darn good. But it could be better...

  • I just started working with XNA today, and I find it pretty easy and useful.

    The only downside i know is not supporting VS2010.

  • Surely an A-, at a minimum

  • An awesome API that is used with the best (and free too) IDE. Keep up the good work!

  • xna 3.1 deserves at least a B-

    The "4.0" will be far better ... i hope a A+ :-)

    with VS2K10 and WP7 :-D

  • Yep, Visual Studio 2010 would be good. Points for honesty. It's always nice to notice when room for improvement is being recognised and communicated.

  • I love the XNA framework. Technically, it is very accessible : I had no graphics programming knowledge before using it.

    The business part of the creators club is working great, and this blog is very helpful with solutions of common problems. It is incredible how most of the problems I had are solved with this single url http://www.talula.demon.co.uk/blogindex.html . Thanks Shawn for the help :)

    I used XNA to produce my first ever video game : Globe Clicker http://marketplace.xbox.com/en-CA/games/media/66acd000-77fe-1000-9115-d80258550390 , a geographic quizz with satellite photos, and I've enjoyed using the framework along the way. It enables developers new to game programming to use many "automatic" features, and to concentrate on the added value. However, I should add that it is no magic game creator, and that it was hard work producing a full featured game.

    My second game : Missile Escape, featuring planes, missiles and explosions will be released soon!

  • Shawn take those posts on the forums with a grain of salt. Most will ask before even bothering to do a simple search to see if anyone has had and solved the same exact problem.

  • I would argue that you aren't exposing *enough* of the underlying hardware differences. The 360 comes across as a crippled PC under XNA, which is far from the truth. The lack of control of EDRAM or the use of formats such as 7e3 are debilitating to what you can do on the platform with XNA.

    Least-common denominator solutions just don't work very well -- I think this has been proved pretty well over the years. You're never going to make all the target platforms (360, Zune, and PC) act alike, and honestly, I say stop trying.

    I think XNA should be changed to a model where things like EDRAM management are abstracted by default so it remains easy to use for novices, but for people who *want* to tinker under the hood with this stuff have the ability to replace the default EDRAM manager. Same with platform-specific formats, heck even D3D11 vs D3D9.

  • XNA obviously is a breakthrough in every aspect. Brings game development to a hole new level, implementing your game to a console couldn't be easier, networking is sweet, just to name a few. But i'd love to see some XNA on Windows Mobile, wich will be a greaat market for developers, now that windows phone 7 series was announced, and i'm waiting for what would you guys do to integrate XNA with Natal.... :D For now a B++ :P

  • To me, the biggest achievement is that the Xbox has been opened up. I really hope that XNA will move to the next Microsoft's console.

    These two last blogpost sounds like "things are moving here". Can't wait to see what's up with XNA at the GDC.

    And yes, the API is very accessible. I wonder what public you are talking about. I don't think you can state this as an actual flaw, it's already great ;-).

  • I'm still waiting to see some XNA/WPF interop!  We were teased with some previews at PDC08, but I haven't heard a peep since.  What's the word on this, Shawn?

  • I wouldn't worry too much about your second point.  No matter how easy you make things, there are going to be people who want to do the absolute minimum amount of work and research and for whom it will always be easier to ask a question for the hundredth time rather than bother to read a document or even search for people who have asked the same question.

    I have plenty of experience with professionals who are like this; I wouldn't even begin to hold out hope for a completely-public-open-to-anyone approach not having thousands of pairs of hands reaching out screaming to be spoon-fed.

  • I'd love to see a XAML parser and Expression Blend support. :-)

  • As much as I like XNA my one 'issue' with it (and .Net as a whole tbh) is the lack of access to the SSE/VMX side of things.

    As a 360 dev I know how much VMX power those cores have to throw around and it makes me sad we can't get at it :(

  • When I used XNA two weeks ago (after a break for 2 years) I was amazed how it was improved. We created our vision within ~24h of programming and never hit a barrier. You got rid of all the ugly stuff I had issues with 2 years ago (XACT etc).

    Things I would wish for: GPGPU (ok, that's never gonna happen), VS2010, Natal, Avatar-goodness on Windows. Importers are still a little bit awkward to write (you did some posts on them already).

    I'm looking forward to anything you come up with. I'm sure with will be awesome!

Page 1 of 2 (29 items) 12
Leave a Comment
  • Please add 2 and 5 and type the answer here:
  • Post