Updated 12/30/2011 with fixed video links
After far too many hours of learning, teaching, recording, testing, video editing, and other glorious activities, I am ready to make available my massive collection of video tutorials for creating a 3D game in XNA from the ground up, without skipping steps, for you, the enthusiast, student, or educator!
The 3D game we build together is called GuitarrMatey and it uses a regular Guitar Hero style controller.
(~236 MB, YES IT'S HUGE, IT INCLUDES LOTS OF UNCOMPRESSED AUDIO)
It's helpful to have:
- A modest understanding of C# and the .NET framework overall. This is for individuals who are comfortable with C# and have seen control structures and generic collections. If you are a beginner to programming, this series will be a little daunting for you.
- The final source code baseline (see giant link above) to use as a reference.
This source code download is huge, because it includes all the models, audio in WAV format, and art assets. If you aren't interested in the whole gambit:
- Patience, perseverance and motivation
- Better art skills than me.
What you will need:
- Microsoft XNA Game Studio 2.0 (free download)
- SOFTIMAGE|XSI Mod Tool (free download)
- XNA Add-In for XSI (free download)
- Audio tool of your choice. Even Sound Recorder will work. I used Adobe Audition to record and mix my song, but it is certainly not free.
Here is the series index. Some of these videos are quite long because I detail the processes involved so you can get moving with XNA faster. Also, there may be some "editing glitches" (saying some things twice, unintentional speedups, or inconsistent volume levels) mainly because I am not running on video production hardware and don't have the time to re-produce stuff 🙂
Added Disclaimer: No guarantees about accuracy, no warranties, also this is not "official" Microsoft code, just written by a MS employee who thinks you can learn how to do it too!
Update: Not all videos are the same resolution and quality, but they are downloadable now and should be readable enough.
GuitarrMatey XNA Tutorial Series (download wmv files here or individually below)
Welcome. Let's build something cool together.
Download WMV (00:41, 2.30 MB)
- XSI and XNA Projects
One powerful benefit of using SOFTIMAGE|XSI Mod Tool (or the full version of XSI) is the direct-to-XNA plugin functionality. All you need to do is connect to an XNA project from XSI and you can publish your models. Mod Tool also includes a content importer and processor (Crosswalk) for XNA that prevents you from needing to write a custom importer.
Download WMV (5:26, 10.6 MB)
- Making A Really Simple 3D Model
Haven't made a 3D model before? Follow along here as I build a pirate hat, then export it in FBX format to use XNA's native content importer and processor.
Download WMV (9:29, 34.4 MB)
- Displaying a Simple Model in XNA
Learn how to display our pirate hat (.FBX format) in a new XNA game.
Download WMV (11:29, 17.1 MB)
- Texturing for XNA Using SOFTIMAGE|XSI Mod Tool
By default, XSI uses Mental Ray materials, which XNA does not directly support. Learn how to texture properly for an XNA project using DirectX shaders in XSI.
Download WMV (10:26, 31.3 MB)
- Rigging, Weighting, and Animating For XNA Using XSI
This is one 40-minute video (originally in 3 pieces). This video shows you how to accomplish a very important thing: skinned animation for characters in your game.
Use this file, Pirate_BaseModel.exp (right click, save as) for what we build in the “bridge” portion. Make sure to update the filepaths for the images and .fx files as shown in the intro video.
- Bridge covers the creation of the model.
Download WMV (41 MB)
- Part 6a covers rigging (creating a skeleton for your model and assigning the bones to the mesh).
- Part 6b covers weight painting (modifying how the movement of each bone influences deformations in different areas of the mesh).
- Part 6c covers animation using forward kinematics. Animation in XSI using inverse kinematics (animating the effectors - see the video) does not get exported properly; here is the workaround.
Download the full movie for parts 6a-6c below:
Download WMV (72.2 MB, 36:06)
- Bridge covers the creation of the model.
- Creating the Game
Now that we have a model asset, let's put it into an XNA game. We'll display our skinned, animated pirate in XNA using the animation library provided by SOFTIMAGE. This video is a complete code walkthrough of a game with an animated, skinned 3D model. This model tester game will be the foundation for our "real" game.
Download WMV (28:12, 42.1 MB)
- Creating Music and Sound
Let's see how I created some sound assets for the game.
Download WMV (4:29, 20.2 MB)
- Audio in XNA Using XACT
XACT is a tool in the DirectX framework that allows you to create a sound bank for your game. Learn how to create an XACT library from some basic WAV files (remember, WAV, not MP3!) and play them in the game.
Download WMV (10:22, 19.4 MB)
- Determining What's What On The Guitar Controller
The controller for Guitar Hero games maps directly to controls on a standard Xbox 360 controller, but It's not immediately obvious what exactly the whammy bar, strum bar, and orange button do. Rather than go hunt for documentation, we can find out by experimentation in less than 5 minutes.
Download WMV (4:45, 14.5 MB)
- Handling Complex Controller Input & Final Code Walkthrough
If you've made it this far, you're probably familiar with the code structure of the game and what we are trying to accomplish. Rather than write code line by line, I take you through the finished PC version of the product (which is mostly well-organized and well-commented) so you can see how everything fits together. This version of the game handles complex controller input, playing audio, and animating characters.
Download WMV (16:47, 28.9 MB)
- Deploying To the Xbox 360 & Conclusion
In this final installment, you'll see how to connect your computer to your Xbox over a local network and deploy to it using XNA Game Studio Connect (free from the Xbox Live Marketplace). Then I say a few closing words and play GuitarrMatey on a sweet 50" Samsung DLP. This video also covers hardware setup and connecting XNA Game Studio 2.0 (PC) to XNA GS Connect (Xbox).
Download WMV (12:11, 44.9 MB)
Resources, Support, More
PLEASE CONTACT ME via comment or contact form on this blog if you have problems with this article (incorrect links, broken downloads, things of that nature).
If you have a question about the content of the videos, you can always try emailing me using the contact form on this blog. While I may not be able to respond, there is always a chance that I will.
I frequent the Creators Club forums at http://forums.xna.com which are an incredible resource for game developers, beginners and professionals alike. This should be the first place to go if you have questions.
And, finally, don't forget to check out the Dan Waters 4 performing Guitar Matey semi-live once I post it 🙂
And finally, don't forget to subscribe to my feed to get more great resources like this in the future!