XNA 4.0: Installation and Setup


Overview:

This document describes how to install and setup development (and run-time) environments to work with the XNA framework on both the PC, and XBox360 platforms. Our ultimate goal is to guide you through this process so that you can work with our custom software (the XnaAssignmentBase class) so you can use our XNA game-themed programming assignments on your personal computer at home.  If you're working on the computers at school, all of this software should already be installed and ready for your use (if this is not the case, then please email the instructor ASAP!!)   (note that the XNA 1.0 software will not work with our custom library - you will need the XNA 4.0 software or later)

All software described below is free, and available for you to download online.  Some of these files may be quite large ; you may wish to download files at school, save them to a USB thumb drive / CD / other removable media, and then take the software home that way.

 The assignments are interactive games designed to teach programming concepts to students interested in computer science.  All of these assignments are developed based on the XnaAssignmentBase class; where the XnaAssignmentBase class is a very simple (and restrictive) class/library developed on top of the XNA framework. Based on the handful functions in the XnaAssignmentBase class, one can develop a simple, 2D games without any knowledge of the XNA framework or any XBox360-specific programming. In fact, besides simple gamepad input, you do not need to be aware of the existence of the XNA framework at all when creating new games.


Installing the basic (required) software:

However, you do need to install the XNA SDK (Software Development Kit) and related IDE (Integrated Development Environment - a single application that allows you to edit, compile, and run the C# programs that you are creating)  in order to work with these XNA-based assignments. Specifically, you will need to install (in this order)

1.     Get a copy of Visual Studio 2010 (for free!)
You can either download the full, professional version from
http://www.dreamspark.com,
or you can download Visual C# Express (which contains only C#, and lacks some extra features that the full version has)(we will not be using those extra features in this course, so you really can use either version of Visual Studio just fine)
The current version is for 2010 - make sure that you get this most current version!

2.     3.     Microsoft XNA Game Studio 4.0 Express: this is a free add-on for C# Express that you can download from here.
The XNA Game Studio Express looks and feels similar to Microsoft Visual Studio IDE. This is the IDE you will use to work with the provided assignments.  You can still use the XNA Game Studio Express to create all the same C# programs that you could with just the basic C# Express product.  So you can still create Console applications, WinForms applications, etc, etc.

4.     The custom software that we'll be using, named XnaAssignmentBase (which is written by Prof. Kelvin Sung, in UW-Bothell's Computing and Software Systems department) will  be provided to you in each assignment.  For each (XNA-based) assignment, you'll download a .ZIP file (also known as a 'Compressed Folder') that contains a C# Express Solution, and will include all the XnaAssignmentBase libraries that you will need.

Because the libraries for the PC and XBox versions of your game(s) are slightly different, there will be two sets of build files provided for each XNA-based assignment. For example, for the BurstABubble assignment, there are the BurstABubble_PC.sln and the BurstABubble_XBOX.sln build files. The corresponding build files allow you to compile the assignment to run on either the PC, or on the XBox360 gaming console.


If you want to use an XBox360 controller on your PC:

If you have an XBox360, you will notice that the (wired) controller ends in a standard USB-style connection.  You can (and are encouraged to) connect the controller to your PC, as you will most likely find it easier to create and debug your games on the PC.  For most computers, it should be sufficient to plug your controller into the PC, wait for Windows to auto-detect the new hardware, and then install the Official Microsoft XBox360 Controller Driver when it suggests it to you.  

If find that the Windows auto-detect/auto-install feature doesn't work for you, then you can do the following instead:

1.     You will need to Download/Install the driver from here.

a.      Type of Product: controller

b.     Your product: XBox360 Controller for Windows

c.      Your operating system: select the appropriate one

d.     Your operating system language: select your language

2.     With the wired XBox360 controller and the appropriate driver installed, you can now double click on the PC.sln version of the build file, compile and run the assignments.

PLEASE NOTE:
You are NOT required to have an XBox controller in order to complete these assignments!  You should NOT run out and purchase a controller just for this class!  If you've got one, it can be fun to use, but if you don't have a controller, don't worry about it!

If you don’t have an XBox360 controller you can use keyboard to control the games. Here is the keyboard to controller mapping, which tells you which key on the keyboard corresponds to which button on an XBox360 controller.


 

If you wish to run your game on a real, live, actual XBox360:

 

In order to do this, you will need:

1.     The XBox360 gaming console; and

2.     Subscribe to the XNA Creators Club. A brief explanation on how to join the creators club can be found here. 

3.     Follow the steps detailed here to connect your PC to the XBox360 unit.

a.      If you have the default PC firewall activated, then:

                                                    i.     Windows XP Firewall setting: Control Panel->Windows Firewall: Exceptions Tab. Scroll down to find “XNA Game Studio Transport”, enable this exception.

4.     At this point, you have all the required settings and you should be able to test your XNA games! You should be able to double click on the XBOX.sln version of the build file, compile, deploy, and run the assignment on the XBox360 console.

PLEASE NOTE:
You are NOT required to have an XBox360 in order to complete these assignments!  You should NOT run out and purchase an XBox360 just for this class!  If your parent/spouse/etc calls and asks me "My child/spouse/etc is telling me that your class requires them to purchase an XBox360.  Is this true?", I will truthfully tell them "No!"

If you've got one, it can be fun to use, but if you don't have a controller, don't worry about it!

Every assignment that is XNA  based can be started, done, and completed entirely on your PC.


FYI: What is XNA?

Microsoft XNA framework is a collection of Application Programming Interface (API) libraries. Applications developed based on the XNA framework can be compiled to run in the Microsoft Windows environment or on the XBox360 gaming console. For more information on XNA please refer to:

1.     general information: http://msdn2.microsoft.com/en-us/xna/default.aspx

2.     discussion forum: http://forums.xna.com/

3.     documentation: http://msdn2.microsoft.com/en-us/library/bb203940.aspx


This document and the related materials are developed with support from Microsoft Research Computer Gaming Initiative under the Computer Gaming Curriculum in Computer Science RFP, Award Number 15871.