Recently I decided that I really wanted to delve into 3D with XNA, so I started looking for reading material on the subject. There are a number of good XNA books out there now, but I've had trouble following many of them when trying to work with 3D graphics because they jump right in and start talking about Quaternions and such before giving a good introduction to the concepts involved. (Maybe I'm just dense, but the whole 3D math thing has always made my head hurt).
Not so with Learning XNA 3.0 by Aaron Reed. The author teaches game programming using XNA, and the book itself is set up much like a class you would take to learn how to develop games using XNA. There is a measured, built up approach to the concepts that I found very easy to follow while demystifying the arcana of 3D graphics programming.
The book starts out covering the basics of 2D rendering with SpriteBatch (ok, I'll admit I skipped those chapters) and then moves on to develop a 3D game throughout most of the chapters. The game includes moving 3D models, a 3D camera, particle explosions, sound effects and music, and combining 3D with 2D overlays and text display.
Overall, I found the book to be a great introduction to 3D game programming. So much so that I have started reworking a certain 2D game that appears as a 12 part tutorial on this site in to a 3D game, using 3D models for the objects and particles for the special effects. If you are looking to get your feet wet with 3D graphics in XNA, Learning XNA 3.0 is a great place to start.
Just a quick note to let everyone know that I'm still here... I've just been a bit busy the last couple of months and haven't had time to do much with XNA development for a while.
I have been spending small amounts of time revisiting a few games like Legend of Blacksilver and the Questron series on my Commodore 64. These were some of my favorite games back in those days, and I would dearly love to develop an updated game along these lines. Maybe something like this for the Zune if I can ever get around to getting one :)
Anyway, I hope to have some more content in the relatively near future. Until then, keep coding!
I've uploaded a new five-part tutorial in which I expand the sprite engine we originally created in the Star Defense tutorial. The new features include:
Multiple animations per sprite, including looping and "fire and forget" animations
Sprite Targets - Sprites that move at a given speed towards a target point
Sprite Auto Rotation - Sprites that can rotate based on their current and previous positions
Sprite Paths - Sprites that can follow a defined path of points
Examples are included, as is a download of the full project at the end of the series. Enjoy! And remember, comments and questions are always welcome.
Merry Christmas! The weeks leading up to the hoiday have been a bit crazy, hence the lack of updates, however after the new year I hope to have some new goodies for you, including some items from my new 2D game project.
I've run through all of the Star Defense tutorials and found that no changes were necessary for the upgrade to XNA 3.0. I did update the ZIP file in Part 11 with the converted XNA 3 file for simplicity's sake.
Additionally, Part 12 is done! In the final segment of the series, we add sound effects to our game events to wrap things up for the project.
I'm working on a summary/wrapup post for the Star Defense series that I will post in a few days. I've also started working on a few other projects, one of which will likely end up as my next tutorial series. No details yet, but it combines a rewrite of my old Tile Engine system with some advanced versions of the concepts developed in Star Defense.
Today marks the release of XNA Game Studio 3.0! I've got the download and will be installing in and running through the Star Defense tutorials this weekend, updating them where needed to work with 3.0, and adding the Sound installment as well.
I had some time to type over the weekend and am happy to say that parts 6, 7, 8, and 9 of the Star Defense Tutorial Series are now availabe on our Tutorials page.
In Part 6 we add enemies to our game, giving them a very basic movement system.
In Part 7 we add collision detection so we can shoot the enemies out of the sky.
In Part 8 we add explosions to our game so we can shoot the enemies out of the sky more impressively!
In Part 9 we add a game structure surrounding our code, with a title screen, player death, and game levels.