XNA: Makes Games Programming Easier, Not Easy.

This is in response to the article over at TechRadar.com entitled “How to code games for the PC and Xbox 360” by Paul Hudson (published in PC Format magazine). I’m all for the promotion of the XNA framework but TechRadar’s take on this is completely out of touch with reality. I’m still not convinced it’s not being intentionally sensational (the sub-heading does make a claim of “unlimited riches”) but since the article does seem to go into genuine detail, I’m going to give a genuine response.

To sum it up, the article claims that games programming is suddenly easy thanks to XNA and anybody who tells you otherwise, including those in industry, is a lying idiot. Now maybe you think I’m being sensational here, but in TechRadar’s own words:

We get asked this question a lot: “What’s the best way to start programming?” Some people like to buy books. Some people like to get a computer games programming degree. But they are – and we don’t want to put too fine a point on this – stupid.

The article goes on to say how you can make anything in XNA, mentioning Halo 3 as an example, and have it work on the 360 to boot.

What gets me is the author clearly has done a least a little cursory research in preparing this. He mentions the Xbox 360 having a “curious superset of shader model 3.0”. They don’t print that on the front page of creators.xna.com, so either the author actually does have some experience developing with XNA or else they’ve picked out some choice phrases from someone else who has the experience and is no doubt weeping softly in a corner after reading the resulting article.

Other infuriating excerpts:

[…] we’re not going to explain to you what every line of code does, because, quite frankly, it’s irrelevant.

Don’t worry about debugging for now – a wise man once said that debugging is harder than coding, so if you write your code as cleverly as you possibly can, then you are – by definition – not smart enough to debug it.

The rest of the article goes on to explain how the sample “tutorial” project works, though it’s glossed over to the point where it’s not worth reading. There are so many other better resources out there for learning the basics of XNA, including ziggyware.com and the creators.xna.com website itself (and its forums).

So the article isn’t very helpful; what’s the big deal? There are three main problems:

1. It misrepresents games programming

Contrary to the article, games programming isn’t about stealing code from others, ignoring the debugger, and making the next Halo. It really is as hard as people say to make a AAA game, even with massive budgets and large teams. Comparing the ease of drawing a few sprites on screen with developing a modern real-time engine is a disservice to the industry.

2. It fails to promote XNA properly

How you can have an article devoted to XNA development and completely fail to mention the XNA community at creators.xna.com is baffling. I’ve mentioned it three times already. The article doesn’t even provide any sources of follow-up information for budding developers. The days of developing in a vacuum are long gone. If the intention is to “sell” XNA to readers, why not show them where to get more tutorials, projects, documentation, and community help?

3. It misrepresents XNA

XNA’s great. I love it. But it won’t make a game for you, nor should it. You can’t make a decent game without understanding how to code, nor would you be able to get it onto the Marketplace thanks to peer review. XNA is only a framework and as such, it can’t possibly have everything a budding game designer might want. Texture loading? Sure. Skeletal animation? Not so much.

I can look past the half-hearted jabs at the games industry, forgive the useless tutorial and the lack of any pointers to helpful resources. But I can’t look past encouraging enthusiastic newcomers to ignore learning how to code and making wild claims about the capabilities and ease of the XNA framework. That sort of advice is what sends kids (and adults) off to try it out only to get frustrated and give up once they hit their first roadblock. It can turn them off programming, much less game development, for years, if not forever. Teach them how to do things properly and give them access to they help they need (and they will need it).

Sorry lads. Games programming has gotten easier, but it ain’t easy.


About Ben Kane
I'm a game developer with a heart of gold.

4 Responses to XNA: Makes Games Programming Easier, Not Easy.

  1. Ibrahim says:

    Thank you, that article absolutely sucked.

  2. Pingback: Top Posts « WordPress.com

  3. All I can say is wow…

    p.s. I’m going to write a book on learning to ride a bike 😉

  4. ChaosMaker says:

    Indeed, xna is easy, but it is not easy.
    developers of these programs create an excellent tool, but with scant material.
    Microsoft thinks that its programmers shall go to live forever.
    video games with advanced, multifunctional mobile phones today, people just want to enjoy.
    microsoft but the error is to choose the target audience, such as advanced users, Microsoft will one day need the “New Generation” and when that day comes, will they be ready?

    Microsoft should turn their eyes to novice users. they are the ones that will replace the developers, unless they discover the elixir of life.

    in 50 years, how many programmers left in microsoft?
    Visual C + + / C # / C XNA tools are somewhat difficult for beginners.
    show that language for a beginner, can be enough to make him give up forever.

    if it continues, we’ll see the fall of microsoft

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: