Building XNA 2.0 Games

John Sedlak, James Silva

Mentioned 5

Building XNA 2.0 Games: A Practical Guide for Independent Game Development is written by James Silva, who recently won the prestigious Microsoft Dream Build Play game competition with his award–winning game, The Dishwasher: Dead Samurai. Building XNA 2.0 Games: A Practical Guide for Independent Game Development is an in–depth and exclusive look into the entire XNA game development process and includes the creation of a software game masterpiece. James Silva guides you through the process he took to build his award–winning title, from concept to reality. He reveals tips and techniques for creating a polished, high–quality game with very few resources, while bridging the gap between coding and art. This title shows software developers the following: The creation of a polished game from start to finish Design philosophies Next–gen 2D graphics, including shaders Techniques for fast, fluid game play XACT Audio and XInput Eye–catching particle effects for visual stimulation The book is packed full of code, pictures, and valuable insights into XNA game development. What you’ll learn If you are brand new to XNA, you’ll see basic concepts of game development through simple exercises. You’ll be able to follow along and see the steps taken to re–create the game that won the Microsoft Dream Build Play competition. You’ll learn and enhance artistic skills and artistic design capabilities. You’ll learn how to build software games that focus on the same artistic design, game play, and game flow/logic that are also found in commercial games. You’ll become more exposed to the exciting world of software games. Who this book is for For anyone who has working knowledge of C# and .NET programming and either loves to build software games or is interested in seeing how to create an award–winning game.

More on Amazon.com

Mentioned in questions and answers.

I have been coding for a while in C# and want to learn XNA game development, I have googled around but unable to find a good tutorial. Can someone provide link to some tutorial that can teach me from the begining.

I also recommend James Silva's book: http://www.amazon.com/Building-XNA-2-0-Games-Professionals/dp/1430209798

He's an author of two XBLA titles and many successful XBLIG titles.

I have made a terrain that is generated from a height map file where each pixel (black to white) represent the height of the terrain at the corresponding location.

Now, my question is how would one make a map editor for something like that? I can think of two general ways:

1) The map editor modifies the height map file and regenerates the terrain based on that.

2) The map editor directly alters the vertices of the map, and later upon saving process it generates a height map based on those vertices.

Do you have any good tutorials or resources as to how to get either one to work? I have no idea where to begin.

This book: Building XNA games is an excellent reference and has a great overview of how to create your map editor. The only downfall is it's in XNA 2.0 so you would have to do some converting, but the idea remains the same.

I'm wondering what way would be best to render a 2D map for a shooter (these will be static maps) similar to Soldat. Multiple options I've considered are a tile based map (stored in txt files), or just creating different classes for the different terrains I plan to use and creating a data structure to read/store them in a file. (I want to also be able to include things like jumping/running on walls, sliding down walls/slopes ect)

I feel like there must be a better way than either of these, but haven't been able to find definitive information :/

Thanks :)

I would recommend reading the book Building XNA 2.0 Games: A Practical Guide for Independent Game Development. It walks you through the development of a 2D side-scoller game named Zombie Smashers (based on the author's award-winning The Dishwasher: Dead Samurai).

Chapter 4: The Map Editor is what you are looking for.

It will help you even if you don't plan on developing in XNA.

I know there was similar thread and someone posted a link to gamedev but after taking a quick look I couldn't find a recent game development book that introduces game development but not programming. I found one book on amazon that was teaching game development to someone who doesn't know how to program and all of the examples were console games. That's not what I'm looking for. I guess the question is how does one learn how to write a game?

What I'm looking for is a book with some nice simple game examples so that I can hack them and learn from it.

EDIT: doesn't matter what language but I prefer C++ or C#.

EDIT2: Those were all excellent answers, thank you guys! However I could only choose one to accept. Wish there was a way to choose "rating" for each answer instead of just check mark.

If you're looking for an easy place to get started with game programming in C#, XNA is probably what you want. The best way to stay up with the latest developments and the newest versions of the library and tools is simply to go to the XNA Web site. There are a bunch of starter kits there that let you look at real code and help teach you all the basics.

Books aren't always the best place to learn video game development because they become obsolete so quickly. However, I've bought and read a few books on the subject. I can recommend:

Microsoft XNA Game Studio Creator's Guide, Second Edition (I read the first edition, but I'm sure it's similar)

and

Learning XNA 3.0: XNA 3.0 Game Development for the PC, Xbox 360, and Zune

I recommend against Professional XNA Programming: Building Games for Xbox 360 and Windows with XNA Game Studio 2.0. I feel it was poorly written. I very seldom recommend against specific books or products, but in this case I think it's justified.

XNA is cool because it allows you to develop not only for Windows PCs, but also the Xbox 360. There's even a program you can join and have your game published and showcased on the Xbox LIVE Marketplace.

I agree with the XNA. I've been using XNA for a few months now and have prior game programming experience with C++ using SDL, DirectX, and OpenGL. I would highly recommend James Silva's book Beginning XNA 2.0 Game Development. Even though it is 2.0, it is definitely applicable and is written by someone that has creates some of the most downloaded and played XBox community games.

If you go down the C++ path, I would recommend starting with SDL. You can easily take what you learn with SDL and move into OpenGL.

If your intention is just as a hobby, go with C# and XNA. You will be far more productive and get things done a lot quicker.

I was just wondering, if I began learning C#, how long it would take until I would be able to make a game utilizing the XNA Game Studio (4.0) and framework to make an XBOX 360 Live Arcade side-scrolling game.

Realistically, I have other priorities too, so I'm just trying to feel out if the "project" is feasible. Obviously, if I wanted to make a full-blown live arcade game, I would need to find a friend(s) who's willing to do some art design, and probably someone(s) who's willing to help code.

Any ideas? The game would be relatively simple, but I would want to make it unique and visually appealing (more on the artsy side here) to make it stand out.

I would recommend this books which steps you through the process of doing exactly what you want to do:

Building XNA 2.0 Games: A Practical Guide for Independent Game Development (Books for Professionals by Professionals) http://www.amazon.com/Building-XNA-2-0-Games-Professionals/dp/1430209798

The author has made two XBLA games off the same technology: The Dishwasher: Dead Samurai The Dishwasher: Vampire Smile

It is rumored that this XBLA game, Dust, also came from this same book / tutorial: http://www.youtube.com/watch?v=DmSAQwbbig8