Building a 3D Game in XNA From Scratch - Free Video Tutorial Series Now Available!

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.

About GuitarrMatey

YarrGuitarrMatey is a 3D game for the Xbox that allows you to improvise guitar music with the accompaniment of a backing track. Five pirates dance for you as you play the game. While GuitarrMatey lacks a real objective or purpose, it is perfect to help you learn about developing 3D games for free using XNA and our partner tools. 

Learning how to build GuitarrMatey will teach you:

  • How to build a simple 3D model in SOFTIMAGE|XSI Mod Tool
  • How to build a more complex skinned, rigged & animated character model in SOFTIMAGE|XSI Mod Tool for use in an XNA game
  • Project setup for XNA and XSI projects
  • Pipeline & workflow between XSI and XNA 
  • How to animate a skinned XSI model in XNA using the XNAXSIRuntime library provided for free by SOFTIMAGE
  • How to creating and managing sound and audio using the DirectX XACT tool
  • How to handle input from the controller
  • How to prep an XNA PC game for XBOX 360
  • How to deploy an XNA game to the Xbox through the Creators Club
  • And many, many nuances and "gotchas" that will help make your development experience 1000% smoother.

DOWNLOAD ZE SOURCE!

(~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:
    • click here to download the playable .ccgame for PC (~77.1 MB) (link fixed, ccgame is inside the zip) or
    • click here to download the game source without any assets (~99.3 KB) (but beware: the game will not compile without them).
  • Patience, perseverance and motivation
  • Better art skills than me.

What you will need:  

 

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)

  1. Introduction
    Welcome. Let's build something cool together.
    Download WMV (00:41, 2.30 MB)
  2. 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)
  3. 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)
  4. 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)
  5. 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)
  6. 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)

  7. 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)
  8. Creating Music and Sound
    Let's see how I created some sound assets for the game.
    Download WMV (4:29, 20.2 MB)
  9. 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)
  10. 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)
  11. 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)
  12. 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 https://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.

For SOFTIMAGE specific questions, try the Mod Tool forum at https://forums.xna.com or the official XSI forums at https://www.xsibase.com

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!