I have no idea how they managed to find time to do this at the same time as finishing up XNA Game Studio 4.0, but my colleagues Tom and Dean have written a most excellent book with the pithy title XNA Game Studio 4.0 Programming: Developing for Windows Phone and Xbox Live. Now in stock at Amazon, so get it while it's hot!
I was flattered that they asked me to write the foreword (sweet, that way I get my name in print without having to put in the effort to write a book of my own :-)
I hope they won't mind if I reproduce the foreword here:
I got my first computer in 1989, when I was 13. It was an Oric-1 with a 1 MHz CPU and 48k RAM. It didn’t come with any games, but when you switched it on, up came a screen that said:
Ready ■
It was ready to be programmed, and the manual dived straight into teaching me how to do this:
First the bad news - ORIC doesn’t understand English. But now the good news - you don’t have to learn a complicated electronic language, because ORIC speaks a language called BASIC. If your machine is switched on, we’ll see how easy this is. Type
PRINT "HELLO"
and then press the [RETURN] key.
Wow! I just made my first program, and the computer did exactly what I told it to. What a thrill! I was hooked.
A few years later we upgraded to an Atari ST. This was better than the Oric in all ways but one: bigger, faster, higher resolution. But when I switched it on, excited to start programming, I saw a desktop waiting for me to launch an application. Where was the programming language? I was horrified to learn I could not program this machine without first locating and buying an expensive third party interpreter or compiler. If I had not already learned to program on the Oric, this hurdle would have been too steep, so I would never have bothered to program the Atari, never gotten a job in the games industry, never joined the XNA team, and would not be writing this foreword today.
Learning to program is important for many reasons. As a society, we need skilled programmers to create and maintain the programs that make the modern world work. As a democracy, we need people who understand computers well enough to make sure we control these programs, and not the other way around. And as individuals, programming can be great fun.
I worry that as computers have become more powerful, they also became more intimidating. I think the best thing about XNA Game Studio is how it restores the immediacy and fun I experienced with my Oric. To lower the barriers to entry, we have a free and easy-to-learn programming language called C#. To provide that magical thrill of making the machine do your bidding, we have powerful yet simple APIs, and the ability to run your creations not just on PC but also Xbox 360 and Windows Phone. And last but not least, to learn how to put all these pieces together, we have books like this one. Nice work Dean and Tom!
I hope you have as much fun making games with XNA as I did with my Oric.