views:

141

answers:

3

I am looking to delve into the wonderful, windowy-world of C# development, and I am wondering about the best book for the job.

Now, I have two options in my opinion:

1) Get a book that focuses solely on the language, C#, itself.

2) Or, get one that is bundled with doing stuff with XNA Game Studio.

I personally believe option #1 is best, just because it allows for more versatility and adaptability if I just expose myself to the raw language, seeing what I can do with it, and then taking it to XNA later on.

Additionally, I believe option #1 is better because I would love to develop in C# for the Windows 7 PC's, XBOX 360's, AND Windows Phones eventually, so learning the language itself will help with that. Also, I've heard that I can use Unity and Mono to let me use C# for a bunch of different software platforms. That's neat too.

Any suggestions are appreciated about which route I should take.

The other plus about option #2 is that, for beginning, I'd probably do a lot of my coding just solely in XNA Game Studio, because I believe I can dev for the PC and 360 inside of it, possibly W7 phone too.

So, if you guys have the info, a suggestion on which option is better, and which book you recommend would be awesome!

Thanks!!

http://www.amazon.com/XNA-Game-Studio-4-0-Programming/dp/0672333457/ref=sr_1_3?s=books&ie=UTF8&qid=1280879363&sr=1-3

And then, once I learn the basics of C#, I would love to go into a good book on XNA Game Studio 4.0 which covers the phone and XBOX Live dev like this one: http://www.amazon.com/XNA-Game-Studio-4-0-Programming/dp/0672333457/ref=sr_1_3?s=books&ie=UTF8&qid=1280879363&sr=1-3

Sounds good to me, anyone else like these?

+2  A: 

I think you'll find that any good book on XNA will assume knowledge of C# already. So getting a C# book from the get go is your best bet.

As for picking a book, there's already a plethora of questions here already. First two that I found for instance:

SnOrfus
+1  A: 

Check out http://stackoverflow.com/questions/477748/what-are-the-best-c-net-books for a list of C# specific books.

Edward Leno
+3  A: 

In my experience, the biggest difference between learning XNA vs. learning non-XNA C# is being loop-driven vs. event-driven. In XNA, you get the update-draw-update-draw loop, ad infinitum. Outside XNA, you're either writing a simple console app, or your program is driven by events (eg, Windows Forms).

Beyond that difference, both learning paths teach you the same thing (C# syntax, OOP principles), and you've got to learn the API for the libraries you want to use anyway. In short, you should decide what sort of book to look at based on your ultimate goals.

Since you're interested in Xbox 360 and Windows Phone 7 development, you should look at XNA books. (Note that XNA on Windows Phone 7 is only possible with XNA 4.0, currently in beta. Xbox development is not currently possible under 4.0. XNA 3.1 requires VS2008, while 4.0 requires 2010.)

I will admit that I don't have any book on XNA that I can recommend, however. I never learned XNA from a book, but rather from the official XNA Creators Club website, and lab assignments in a freshman game programming course. Start with the beginner's guide (skip ahead as desired based on previous programming experience), and then move on to the XNA Creators Club Education Catalog and XNA Creators Club forums. I also recommend bookmarking Shawn Hargreaves' Blog (Shawn is a developer for XNA GS).

Brian S
Hey thanks for answering my question really well!Just wondering, your mentioning of Xbox development is not currently possibly under 4.0, that kind of confuses me..Can't you develop XBOX games under 4.0? Isn't that one of XNA's biggest attractions?And 2010, would my second book in my question update cover this?
BOSS
@BOSS: XNA 4.0 is currently in beta. From the [XNA downloads page](http://creators.xna.com/en-US/downloads): "XNA Game Studio 4.0 beta is currently for PC and Windows Phone 7 development only." Presumably, it will include Xbox development by the time beta is over. VS2010 is not so different from 2008 that it matters what program you learn to use, but it **does** matter what program you install to use what version of XNA with.
Brian S
It's worth pointing out that you can install both 2008 and 2010, and both 3.1 and 4.0, and they won't get in each other's way.
Andrew Russell
@Andrew Russell: Yes, that's a good thing to mention. Though I think once 4.0 is out of beta there'll be no need. I have a hard time believing 4.0 final won't have Xbox support.
Brian S