Thursday, November 23, 2006

SERIOUS THOUGHTS ABOUT XNA GSE - PART II

Where were we? Ah, yes ... "Will I succeed by using XNA GSE?".

Let's face it: like everything in life, time will tell. Time will prove you were right or wrong but, is it worth trying? Straight answer: yes, provided you are able and capable of facing and breaking through a tight membrane formed of strong competition.

Like you, everyone is competing to get community, market, publishers and or employers' attention. No matter how shared in common a colleague may behave along the road, it all summarizes to a simple fact: in the end, to some extent, everyone is thinking "that prize has to be mine!". C'mon let me hear "not me". Anyone? (don't panic, just continue reading, ok?)

So, what could make one stand out from the rest? That's the key point.

A combination of skills, dedication, commitment and perseverance (not to mention finance resources to live on day by day).

"How could XNA GSE help me achieve my goals?" Interesting question. Personally speaking, for the first time I feel someone is providing a well-designed framework for game development with great potential.

Many companies offer many solutions to developers but you always find a catch: you have to learn a new language (either for hard-coding and or scripting), the language lacks a professional GUI and or IDE or even it is not an object-oriented one, there is no way you can extend the given framework, it lacks the proper tools, it does not provide the features you need, it does not handle with key aspects of game creation as expected, plenty of bugs, poor support, and so on.

Now we have a framework that plugs into VS2005, and thus to be used with .NET languages (in the case of XNA GSE it plugs into C# Express) which offers a set of tools and features (please read part I) designed from scratch to facilitate the process of creating a game from an object-oriented perspective and last but not least, with strong support. What is more, new tools are being created on top of XNA as TorqueX or will support XNA as Visual3D.NET and I believe we will soon see more coming.

But there is one more factor that XNA GSE is trying to impose which opposses to the fact that we are all competing in the end: a community of developers that really collaborate by sharing experience and knowledge. It's like saying "Ok, we are all trying to cross the finish line first but unless we help each other it's likely that none of us will even get there!". So far, MS is achieving this goal: code snippets, solutions, implementations and complete games are being shared by and to the XNA's community and there is no indication that it will stop. A lot of people, including me, is excited about this whole thing and participates in good mood, what in turn is a lot to say (I can list a bunch of forums where members try to tear each others apart, and newbies, are fiercely bounced and discouraged).

To sum up, this time one cannot complain that "we" do not have the framework and or tools needed (ok, an implementation of one of the "big" physics libraries for .NET/XNA would be welcome, like Havok's or Ageia's) or that there is no support (either from the developer or the community), meaning, now it is really up to each of us -or our teams- to create a game that catches everyone's attention.

So let's go for it!