Introduction to XNA

Introduction to XNA


So you want to try your hand at making a game, huh? Well let me introduce you to one of the greatest game development tools around: XNA.

XNA is a collection of tools, made by Microsoft, that allows people to easily make any game that they can dream up. XNA includes a large, powerful, and easy to use graphics API, built on top of DirectX. They take care of lots of the basic stuff for you, so you can just concentrate on your game.

XNA works on a Windows PC (both Windows XP and Vista), on the Xbox 360, and with XNA 4.0, the Windows Phone 7. This is one of my favorite things about XNA. How cool is it that you can make a game for all of these platforms!?

Also, XNA is free! (On a PC, anyway….) We will discuss how to get set up with XNA in the next tutorial, but you can download the XNA Game Studio for free, which is installed as sort of an extension to either Microsoft Visual Studio (which costs money) or Visual C# Express Edition (which is free).

In order to run your game on the Xbox 360, Zune, or Windows Phone, you will, obviously, need an Xbox, or Windows Phone. If you want to program for the Xbox 360 or Windows Phone, you will also need to pay for the XNA Creator's Club, which is a fairly reasonable $99 per year.

XNA is really the best way to go for a beginning/aspiring game designer. I think you will be excited about what you can do with it, even after just a short time.

Some Examples

Just so you can see what XNA can do, take a look at these examples of games made with XNA:


These examples were made by people who have been doing this for a little while, but they look pretty nice. I'm also going to post a video of some of the games that we made last year in the XNA Special Interest Group at Utah State University as we were going through these tutorials. That way you can get and idea of what you might be able to accomplish, even though you are just learning.

What You Need to Know

People have asked me what they need to know before getting started on these tutorials. I've seen people in-game development forums say "I want to make a game, but I don't know where to get started." The truth is, it will be hard to learn how to program a game if you don't know how to program at all. I would recommend spending some time learning how to program if you don't already know. If you want to use XNA, then the ideal language to learn is C#. However, C++ is kind of a standard that is used a lot in game development, and Java is a good language as well.

In my tutorials, I will try to explain some of the programming concepts that come up, but I won't be able to explain everything, so it would be best if you already have a grasp of programming concepts.

Also, understanding math, particularly linear algebra and geometry, could be helpful, but is not necessary. Anything with computer graphics will heavily involve linear algebra, and most games hit the geometry pretty heavily. The good news is that XNA takes care of a lot of the math for us, and the stuff that it doesn't do, we will cover in various tutorials.

I don't expect you to have had any previous experience with graphics programming or game programming. After all, if you knew how to do that, you probably wouldn't be here! We will be starting from the very basics, so you don't have to worry about anything.

A Few Final Words….

I really hope these tutorials help you get started. Since I started using XNA, I've really had fun making games. I hope these tutorials can help you! If there is anything that I can do to help you along, let me know. In particular, feel free to post questions in the forum (and answer other people's questions if you have any good advice!), leave comments on the tutorial pages, and make suggestions for new tutorials, or improving existing ones.

Good Luck!

Troubleshooting.png Having problems with this tutorial? Try the troubleshooting page!