GitCode 开源社区 Building a 3D Game in XNA From Scratch - Free Video Tutorial Series Now Available!

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

 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 creatin

文章共1,205字 · 阅读需要大约5分钟

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 GuitarMatey and it uses a regular Guitar Hero style controller.

About GuitarMatey

YarrGuitarMatey 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 GuitarMatey 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 GuitarMatey 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.



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!



GuitarMatey XNA Tutorial Series (12 Segments, 14 Total Videos)

  1. Introduction
    Welcome. Let's build something cool together.
    View Now (MSN Video) (00:41)
  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.
    View Now (MSN Video) (05:26)
  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.
    View Now (MSN Video) (09:29)
  4. Displaying a Simple Model in XNA
    Learn how to display our pirate hat (.FBX format) in a new XNA game.
    View Now (MSN Video) (11:29)
  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.
    View Now (MSN Video) (10:26)
  6. Rigging, Weighting, and Animating For XNA Using XSI
    Originally one 40-minute video, these videos show you how to accomplish a very important thing: skinned animation for characters in your game.
    • Part 6a covers rigging (creating a skeleton for your model and assigning the bones to the mesh).
      View Now (MSN Video) (14:53)
    • Part 6b covers weight painting (modifying how the movement of each bone influences deformations in different areas of the mesh).
      View Now (MSN Video) (05:15)
    • 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.
      View Now (MSN Video) (13:44)
  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.
    View Now (MSN Video) (28:12)
  8. Creating Music and Sound
    Let's see how I created some sound assets for the game.
    View Now (MSN Video) (04:29)
  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.
    View Now (MSN Video)  (10:22)
  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.
    View Now (MSN Video) (04:45) 
  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.
    View Now (MSN Video) (16:47)
  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 GuitarMatey 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).
    View Now (MSN Video) (12:11)

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 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 or the official XSI forums at

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!

Comment Notification

If you would like to receive an email when updates are made to this post, please register here




  • 浏览量 18.8w
  • 收藏 0
  • 0