Learning XNA 4.0

Aaron Reed

Mentioned 5

Provides information on using Microsoft XNA to create games for the PC, Xbox 360, and Windows Phone 7.

More on Amazon.com

Mentioned in questions and answers.

I have just started programing and i have done some stuff with XNA. i created my first 3d game similar to minecraft.

but its boring. so i decided to take a look at networking as there was a tutorial on the msdn. website. It turns out that the code there was only for the XBox and i started looking around the Internet to find something more useful until I cam across someone saying that XNA doesn't support what I am looking for.

I am seriously considering buying a book for XNA 4.0 (I hate looking for tutorials for hours) but before I do this, I want to know whether networking is possible between PCs. And if it is not, what should I try to learn?

Managed DirectX? C++ DirectX? or something else?

You mention wanting to look for books. I recommend you get this book if you decide to buy one.

I have Learning XNA 3.0 sitting next to me and it really helped teach me a great deal. The guy is great. His new copy doesn't seem THAT different, but different enough such that if you're first learning from Learning XNA 3.0, you'll get a little tripped up.

... also, you can buy it cheaper here.

I'm going to develop a small game with my friend. (we want to do this not for money, just for learning purposes)

Are there any good books or online resources devoted to XNA game developement? Architectural questions are specially interesting for us ;)

p.s. We are pro developers (but in the businesss area), thus even easy things for game developers can be not so obvious for us :)

I started XNA back in may this year, and I have already published my first Windows Phone 7 game which got pretty good reception, and I am now developing my first "big" game, which I am aiming to publish on Xbox Live Indie Games aswell as on PC. It's great :) !

Before you start learning XNA, I recommend that you will learn at least basics of C#, if you dont know them yet. There are some great web sites such as C# Station. Alternatively, you could try this book from Deitel which I found awesome.

As for XNA book, I personally found this book from O'Reilly's great and beginner-friendly. The book introduces you to 2D, 3D and Windows Phone 7 programming, aswell as using and animating Avatar's on Xbox games. Everything what happens in the code is explained well and deeply.

I also recommend you to join App Hub, where is a great and helping community on the forums, and great tutorials and complete and well commented games on the education catalog !

When you have finished your game, dont hesitate to submit it to Xbox Live Indie Games! Although, it requires App Hub premium membership which costs 99$.

I am trying to get involved in XNA game development (most likely for Windows Phone). I have a decent amount of experience programming and have made quite a few small XNA games for practice.

At this point, before I take on a larger project, I would like to make sure I get the fundamental design and flow concepts down. What are the best resources/books you have used to learn good practices and concepts for game design?

Or, if you have worked on projects in the past or are currently working on projects, what are some of the things you wished you had known or done differently?

I found Learning XNA to be a great book. I've got 3.0, but 4.0 is now available which also has a section on Windows Phone 7. I can't imagine they're much different since it's the same author.

As obvious as it sounds, I find that people often overlook or underestimate the usefulness of the Content Catalog on AppHub. Not only from a technical POV, but they have Starter Kits which are useful to go through when learning how to structure the games.

For general game design, I've heard good things about The Art of Game Design. There may be helpful threads over at GameDev StackExchange.

There are some good resources on MSDN and some sessions at this year's MIX.

I want to display my game on the screen.
I started to write a little bit of c# code and I am now trying to get some of it displayed on the screen.

I tried to use System.Windows.Forms / System.Drawing but I have the feeling that it is not meant to be used in this kind of application. Everything gets updated from workerthreads all the time. I would have to use System.Reflection and invoke every update all the time. (methods, properties, add/remove controls). I would rather have my database thread control the information and let the UI poll the portions it needs without anything having to reflect about itself.

I want to stay within the .Net framework for portability and training reasons.
What I want my displayclasses to do is

  • be in fullscreen mode
  • display images for short durations as fullscreen zoom-mode (loadingscreens)
  • display videos in fullscreen zoom-mode (intermission videos)
  • have menues with buttons and sliders (menu, option, mission-selection)
  • have a 3D world based on cubes with moving creatures and static elements while displaying a 2d overlay.

To flesh out your imagination - think about the game Dungeon Keeper 1.

What packages do I need to know about? (please include links to the packages)
Which books can / should I read? (please include links to amazon)

Use a package that is actually made for programming games in C# - XNA. The App Hub has a bunch of tutorials to get you started. This link is for a 2D game.

For a book, I find Learning XNA 4.0 a good resource for anyone learning game development using XNA. Also, there's this other book - XNA 4.0 Game Development. I haven't read it but the reviews say that it's beginner-friendly. So you may want to give that a try as well.

I have been developing some Slot games the last few months, which are developed in c# using flash as interface. For some of this games, flash did a great job, and performance was acceptable, but, as my graphic requirements increase, flash isn't responding as I would want. So now, I am evaluating the posibility of developing the new games, in XNA 4.0. I have take a look at two books, and I really liked what I saw.

OReilly Learning XNA 4.0

XNA4.0 Game Development by example

Although this books give me an idea of XNA development, they seem, to me, incomplete.

So I have a few questions that I would like to get answered, before I decide to look forward into XNA, or into other alternative!

My games are full 2d, resoultion 1280 x 1024, pc based. Hardware requirements are not a problem.

  • Is XNA a solid candidate for my game development needs?

  • What are good information resources (books, tutorials, blogs) where I can learn in deep XNA 4.0 2D oriented.

  • How though is XNA learning curve? (I have been programing full time, in c# the last two years)

  • Are there any other alternatives that can replace XNA, that are compatible with c#?

Also, any advice, tip, will be welcome.

I would highly recommend visiting the Apps forum as they have a large catalogue of examples and the forum is very active too with participants from the XNA team.