XNA book by my colleagues Tom and Dean

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:


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


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.

Comments (9)

  1. Ujn Hunter says:

    Great foreword! They obviously picked the right guy for the job!

  2. Simon Windmill says:

    This echoes my history (a little earlier and a different 8-bit machine: Sinclair ZX Spectrum) and my feelings about programming & XNA. I've been a professional programmer for years, but the little thrill I get when I see my code running on the phone and the 360 always brings me back to sitting in my living room when I was 10 and exploring how my actions would change what was happening on the screen.

  3. Roy Triesscheijn says:

    Too bad though that the book title only more enforces the stigma that XNA is for WP7 and the Xbox. Why is PC dropped from everywhere (app hub forums, books, xna frontpage)?

  4. Pryankster says:

    Mirrors my experiences almost exactly — Mine was an Apple II+ instead of the Oric.  I completely understand that thrill of having the computer do what _you_ told it to.  I still get that thrill today — but programming is like a drug.  You start off excited about "Hello, World", but pretty soon you're not happy until you've developed a n-tier scalable web application, written a compiler for your own custom "tiny language" or are pushing a few million polygons a second through a custom shader … but I digress 🙂

    I'm also coming to the same conclusion that you did about the barrier to entry being very high w.r.t starting to program. When I was a kid I learned to program by typing in and converting to Applesoft BASIC the programs from David H. Ahl's 101 Computer Games (Still have it on my shelf :-).  

    Now, my 15 year old son is interested in learning to program games, but he sees the high-budget fare available on the consoles and can't help but be disheartened by the learning cliff — making games today isn't just about programming, it's about integration of a huge number of disciplines — 3d modeling, texturing, sound design, level design, music composition.  Having tools like XNA (and other, simpler tools like DarkBasic, EasyBasic, etc.) softens the curve, but it's still a daunting task.

    P.S.: Jaded software guys looking for that "hello, world" high?  Try an embedded  project … Arduino, Netduino, BasicStamp or bare-metal PICs or AVRs.  The first time you blink that LED you'll be hooked all over again!

    — pryankster

  5. SteveProXNA says:

    Wow, I started with at age 12 with the SEGA SC-3000.  Did anyone else learn to program BASIC on this?  Only 26,220 bytes to play with, I'm guessing not many!


  6. Jack says:

    I still have my Oric-1 in it's original packing.

    XNA is a never ending playground 🙂

  7. mseifullah says:

    My copy of book just arrived this evening. I'm certain that it's going to be getting lots of use quite soon. Great foreword and thanks for letting me know that it existed.

  8. Kiveryn says:

    I had almost the same experience, getting my first computer, a C64, in 1989 when I was 13! I summarily learnt BASIC quite soon after, moving on to hex (typed in from all the usual books and magazines) and the tried my hand at asm with the Action Replay Mk6. When I got my second computer in 1991, a 286, I was like, wth? How do I program? Thankfully for me I knew a seasoned Amiga programmer who pointed my in the right direction (while insulting the PC with every spare breath).

  9. Dan says:

    Just bought it through kindle on my windows phone. This surley is the future.