Developer Diary: Getting Started on XNA

Posted 03/15/2007 @ 06:30:00 AM by Joseph Molnar
Filed under: Developer Diary , Homebrew , Programming , XNA

Each week I like to set aside a few hours to explore software development technologies I haven't tried. This past weekend I started to take a deeper look at XNA.

I'll be documenting my XNA investigation with periodic updates as a Developer Diary. Today's Developer Diary is simple, I documented what I did to get a base understanding of XNA.

The quick summary, I downloaded a variety of tools, read a variety of blogs/tutorials and created some code derived from the tutorials. So this entry is largely a collection of links that will ensure a solid start.

As a note, while I'm new to XNA and 3D programming, I'm extremely familiar with C# and .NET (background here) so I'll be assuming readers know C#.

The Base Tools

Before you can really do anything (except read) you need to install the tools, Visual C# Express and XNA Game Studio Express.

Since I'm on Vista I followed David Weller's guide to installing the base tools on Vista. Even if you aren't on Vista it is a good general description of getting the tools in place.

As a note, Dave's blog post pre-dates Microsoft's release of the Visual Studio 2005 SP1 Update for Windows Vista, so make sure you get the new update.

Also, an updated version of XNA Game Studio Express is coming this April.

Auxiliary Tools

With the base tools in place I found and installed some tools to aid my XNA experimentation.

  • Paint.NET: If you aren't a graphic artist or designer but need something to help with creating textures from photos this free tool should do the trick.
  • FX Composer: A free environment from nVidia that allows you to create shaders. Definitely a great tool for experimentation; wish they had more samples.
  • Turbo Squid: This site contains free and inexpensive 3D models that can be used with the XNA framework. I recommend experimenting with some free models.
  • Blender: Blender is a free open source 3D modeling and animation tool. It can export to .X files (one of two model formats that XNA readily supports). I find 3D modeling packages a bit daunting but this tutorial was helpful. I haven't played a ton yet, but it works on Vista (I tried SOFTIMAGE's free tool, but it wouldn't work consistently).

Tutorials and Samples

With all my tools in place, I used the sites below to get myself familiar with XNA development.

  • First place I visited was the MSDN XNA site (the same information is included as a help file with XNA Game Studio Express).
  • Next, I found Riemers XNA Tutorials. These are the most comprehensive set of easy to follow 3D tutorials I found. They progress nicely from beginner to advanced.
  • Once you have gotten the basics the XNA Creator's site samples are not a bad place to go next. While some overlap with Riemers, the samples are great for experimentation.
  • The blog Ramblings of a Hazy Mind also has a series of tutorial articles. As a slight warning, the tutorials are really guiding the creation of an XNA-based 3D graphics framework and the posts started in the betas so I don't believe the early code will work on the release version of XNA.

With the tutorials done you should be in a pretty good spot to write something more original by experimenting with the tutorial samples. I also recommend getting familiar with the growing XNA community. Here are some of the XNA related sites I regularly read.

My Bookmarked or RSS Subscribed Sites

Developer blogs that caught my attention:

  • Manders vs Machine: A Microsoft employee providing some interesting insights into various XNA problems and techniques.
  • Shawn Hargreaves: Shawn is also a Microsoft employee. His blog contains various code snippets and background information on the XNA framework.
  • abi.exdream.com: Benjamin Nitchke's blog commonly lists advanced technique's and details about his XNA work. Benjamin is definitely someone to watch.
  • Aliens of Extraordinary Ability: This blog tends to have interesting shaders being used or explored. Side-note: I'm assuming his blog's name is a reference to a special form of US Immigration Visa ... as a Canadian in the US, you become quite familiar with Visas.

Community sites:

  • Ziggyware: Contains tutorials and information about XNA built games.
  • Mykres Space: Gathers updates from the XNA community and commonly has code snippets to share.
  • The ZBuffer: Tracks the general pulse of the XNA universe.
  • XBOX 360 Homebrew: Contains information on XNA games, forums for developers, etc.
  • Let's Kill Dave: Personal blog of David Weller, Microsoft's Game Developer Community Manager.

Official Microsoft Sites:

  • XNA Creators Club Online: The official Microsoft site for XNA developers.
  • MSDN XNA Site: The Microsoft Developer Network site for XNA. Unclear if this will continue now that XNA Creators Club Online is, um, online.

Follow-on blog posts ...

My next post will describe my initial reactions to XNA, things to consider, and some questions I'm hoping to eventually find answers to.

Comments

I can't wait to see what you run into :)

You got the aliens of extraordinary ability reference correct. I am an American who worked in Canada with people from all over the world for a couple years. Many of the people I worked with from places outside of North America had the goal of ultimately working in the US. We got to talking about immigration one day and I mentioned the "exception for aliens of extraordinary ability". One of the guys there laughed and said it would be a great name for a company, so I registered the domain that day.

Hey Mike. Definitely a good name. When I read that I was half curious to know if you had such a visa and was going to be extremely impressed :).

Great job on the shaders.

Hey Zygote. Next post is a bit more laid back (and in a realm of my comfort zone), but digging into the 3D drawing/manipulation is definitely interesting and more challenging. In my past I had purposely stand away from 3D graphics programming, prefering things like compiler design.

Can you update the link to the hazymind site? It's broken now for some reason, but the new /xna category lists all of the tutorials :)

Hey Michael ... I updated the link.

Post a comment