Since Wednesday I’m finished with my English: Science Fiction course that I was taking for the first half of the summer for six weeks. Yet, it still feels like the summer just started…
Last time I talked a little about Microsoft’s XNA at EnergizeIT. Jean Beauclair, who is part of Microsoft Canada’s “Developer Evangelist team”, made a comment about XNA that when it was first announced, major game companies that produce AAA games didn’t take XNA seriously. They thought of it as a “toy” that’s only for hobbyists and amateurs and that it didn’t have a place within the professional industry. In fact, the first line in the XNA Game Studio Express documentation specifically says:
Microsoft XNA Game Studio Express is a set of tools based on Microsoft Visual C# 2005 Express Edition that allow students and hobbyists to build games for both Microsoft Windows and Xbox 360.
After several months of being released and people (i.e. hobbyists, students, and the like) actually started using it and produced some games, things are kind of changing now. Game companies are noticing XNA, according to him… really…? I don’t think game companies will immediately switch to XNA if it’s considered an amateur’s tool. And to develop a title across more than one console platform, XNA is out of the question for obvious reasons. Oh, and just as an aside: I see the term “cross-platform” being thrown around a little bit when Microsoft is referring to XNA. This is kind of misleading as it is not cross-platform across consoles, rather it’s cross-platform only across a Windows PC and Xbox360. Ugh.
So my main issue with using XNA is that it’s made by Microsoft. By using XNA I’ll be tied down to developing only for Windows and/or Xbox 360. I’ll admit that I am a little bit of a Nintendo fanboy. If Nintendo ever does open up the DS or Wii for hobbyists to develop for, I’ll be jumping on the wagon without a second thought. Also, I can forget about satisfying the Linux crowd. My second concern is that I won’t get a chance to hone my OpenGL skills. After finishing Chariot of Fire, I just felt like I was just getting started with OpenGL. With those being said, I really should put things into better perspective:
- Majority of PCs out there is over 90% +/- a few percentage. Big audience, yes. But really I shouldn’t be caring about this; I’m better off in the short run to produce something a few people would enjoy.
- Game ideas and mechanics are the meat. It doesn’t matter what platform it runs on as long as it works the same across them. Porting, although can be a lot of work, is doable. But coming up with good game ideas is harder. I should be prototyping, not productioning.
- Based on the U of T Computer Science curriculum, it appears that there’s a dying number of students with C/C++ skills being produced. I like to think of myself as one of the rare students who knows C++ like the back of their hand and show off.
But compared to some of the newer programming languages like Python and Java, there’s less overhead involved in these languages than C++. Garbage collection, pointers being dealt with seamlessly, and built-in data structures and libraries are things which, I guess, are being taken for granted in the newer languages and using them would reduce coding time. - I want to get a working demo done in about a month from now just in time for the SIGGRAPH 2007 conference
I’ve briefly looked at the documentation and wow, it takes so much less code to get an XNA app (which I think is a layer above DirectX9) running than it did with classic DirectX9 using C++. The framework even provides a base class with all the required methods to implement that’s typical of a game app. XNA includes a math library along with some support for curves, sweet. I was doing a little bit of experimenting with bezier and b-spline curves recently but never got around to finishing it…
So considering these points, I’m gonna bite the bullet and dive into XNA for a little while. Congrats Microsoft, you pwn me. Sigh.
Post a Comment