May 1, 2012

Complete XNA games sources for beginners

If you are beginner in game development it's invaluable to study someone else's game code. There are countless reasons to do that, both technical and let's name it "psychological" aspect. From technical point you learn: how code is organized, architecture, some useful tricks, how much code is required for some features. From "psychological" point you learn one, but very important thing: nobody's code is perfect, after that you will stop think about "real" games as some perfect creations, some of them are sooooo far from it, yet they still successful. If you are lucky enough you will find some developer notes on development process, or project organisation.

Sources value however, at least for me, differs greatly. Firts of all, big games sources are almost useless for you. You won't be able to understand them in some reasonable amount of time (if you will be able to compile them, ahem). Small games, on the other hand are useless too, they just don't big enough to introduce some basic architecture required to fight complexity. Preferrable size is somethere much below medium size. It actually depends on your current knowledge (I mean if you learn XNA for half a year you still a beginner usually, but you know much more then someone who learn it for a two weeks).

That said, the highest value (and least available) have complete commercially successful games. If you want to make your game at least interesting, and at best be able to sell it, this games provides such examples. However if game is free or open source, but still popular it's probably isn't much worse. The least valuable (and most available), but still useful are open source game project which tend to be "in-development" state permanently. This are only interested on final stages, then game is at least 50% complete.

In this post I will store (and update) a collection of links to some such sources. It's only XNA projects, sorry:

1. Sources to Molly the Were-Zompire RPG game can be found here. Zeboyd games is actually a cool retro-style game company check them out. This one is actually interesting one. First of all it's a XBOX targeted game. Second it's just that case then you absolutely should learn how you should not design your game. And third it's a text only (almost) adventure game! Again, this game is a commercial game, and it is successful. This is a lesson every gamedev should learn.

2. Space Defender. This is a much smaller game, this one, however, in contrast to previous, very well designed (for it's size). Everything is neatly organized. But again, in contrast, to previous this one will not interest any gamer.

3. Asteroid Outpost. A live repository at bitbucket. Good project organization, a lot to learn from.

4. A collection of projects at CodeProject. Most of them are not the games (however there are some complete games there), but also still useful to learn some specific area.

5. Pixel Man 2 by Nick Gravelyn. Cool, almost complete game with excellent sources (Nick worked in Microsoft in XNA team).

P.S. I would gladly accept and include any other valuable XNA game sources, just mention one in comments. Thanks!