Microsoft XNA and XBOX 360 Games Development:


For those who wish to, you can do all you programming assignments based on the XNA framework, then you will be able to run your assignment either on PC or on the XBOX 360 console.

In terms of graphics support, XNA and Direct3D are fundamentally the same, only they are different:

1.     Programming language: C# vs C++

2.     API: XNA Framework vs. DirectX libraries

3.     GUI support: XNA works with WinForm (and we have our own XNA based UWB_GUI), DirectX works with MFC.

4.     Hardware: XBOX 360 console vs Windows PC.

The beauty of learning concepts is that … well, as far as we are concerned XNA and D3D are the same! Both are graphics APIs. We learn computer graphics concepts in class, if you dedicate the time to apply the concept in this new and different technology, not only will you end up learning more, your assignments will be that much cooler and that much more fun. Most importantly, your resume will be that much more impressive! Not only do you have hands-on experience on one of the cutting edge technology, the motivation, self-discipline, and dedication you have demonstrated will certainly attract future employers’ attentions!

In addition, if you need the income, and do well in this class, I will very much like to pay you to work with me to integrate your work into our library! Imagine, cool assignments, get paid, good references (from me), pretty resume, _and_ getting paid (did I mention that already?). Can life be better? Well, it will be hard work … but then again, you never know, past students got their pictures taken for the newspapers (UWeek, and Daily) for all we know, if you do a good job, may be we can get you on some TV somewhere? Or May be you can present your results at an international conference?

OK enough rambling, here are some details …If you are still reading, GREAT! Here is what you need to do:

1.     To Begin: visit this site:  http://creators.xna.com/Education/GettingStarted.aspx

2.     IDE: make sure you read through http://creators.xna.com/Education/newtoxna.aspx. Notice you can either work with Visual C# Express (free) or Visual Studio 2005. In either case, you must download XNA Game Studio 2.0. Some of my examples are in C# express while others are in VS 2005. The reason I kept C# Express is because it is free.

3.     Documentations:

a.      For the IDE: XNA Games Studio Express.

b.     For the API: XNA Framework class library documentation (this is also available off the help menu from the XNA Games Studio Express).

4.     Resources: make sure you explore http://creators.xna.com/, e.g., under resources, there are stuff you can download and use!

5.     On-line discussions: This is MSDN XNA discussion bulletin. As in all on-line discussion sites, this place has many useful information, unfortunately, it also contains many not very helpful (and sometimes even misleading discussions). Read with care, and watch out, sites like these can easily take up your entire day!

I played around with the XNA API slightly, it is basically a wrapping over DX9. Here are some simple examples (all examples are in C# Express IDE, with both PC and XBOX projects):

 

  1. Drawing simple points.
  2. Drawing Triangle Fans with Color Interpolation.
  3. Drawing with color textures.
  4. Working with the input job stick.
  5. Working with multiple viewports and multiple drawings.
  6. The problem with XNA on the XBOX is that, at least currently, there is no GUI support. Peter Yiap built a simple GUI support on the XBOX. Here is a small demo of Peter’s system. (Winter 2007).
  7. Robert Stone (Winter 2007) helped ported some of the tutorials given in our textbook over to XNA  and WinForm on the PC (VS 2005). Refer to the book tutorial page to see the XNA tutorials.

 

If you want to work with your home PC and XBOX 360 console please contact me to gain access to a XNA Creators Club account. If you are interested in obtaining an account for yourself: it costs $99- a year to subscribe to the XNA Creators Club (here is how).  The CSS has one Creators Club subscription:

 

            Gamer Profile: cssxna

            Email Login: cssxna@hotmail.com

            Password: contact Kelvin (ksung@u.washington.edu)

 

 

Warnings:

 

  1. Learn and Help: I have only worked with the XNA framework in a very limited fashion. Basically the above 5 examples. I am confident XNA Framework supports everything we need to do. However, it is true that I do not know how to do everything! If you want to work with XNA and XBOX 360, I will work with you, but be prepared for unknowns and (sometimes extreme) frustrations!

 

  1. Access: As mention before, to access your own XBOX 360 console you must be a member of the XNA Creators club. Please refer to: http://msdn2.microsoft.com/en-us/library/bb975643.aspx on how you can connect your PC/laptop to the XBOX 360 console.