TechEd 2007: Microsoft May Build XNA Game Developers' Community
ORLANDO - During a TechEd demonstration of arcade game development using XNA Game Studio Express for novices to the genre, Microsoft Game Technology Group community program manager David Weller (whose online handle is "LetsKillDave") stated his company is exploring the possibility of assembling an online community of XNA game developers, not only for sharing with but also for marketing and selling their works to one another.
If Microsoft goes ahead with this project, Weller said, it may have to be separate from Xbox Live Arcade, which showcases downloadable works from Microsoft and its selected partners.
"People have requested the ability to sell their games," Weller told a packed audience on Thursday. "They want to be able to get something out there. It will not be the equivalent of Xbox Live Arcade; that's an important business model, and we're still working very hard at that. But we do want to find some way of creating an environment where you as a developer are very, very motivated to create these really outstanding games, and perhaps give yourselves the opportunity to get some kind of reward from that."
The Xbox team had considered a $5,000 giveaway promotion for qualifying authors, but Weller said, that idea was quashed by the legal department.
Weller's statement came in response to a question from an attendee, who had earlier witnessed a demonstration of techniques which premiered on the XNA Web site.
Here, some relatively simple instructions are given for novice game developers to modify the 3D spacecraft rendering demo that installs along with Game Studio Express, to become a prototype version of the classic Asteroids game, complete with bullets, collisions, and moving asteroids...or rather, moving squashed pinto beans...or maybe moving something else, based on some of the initial snickers from the crowd.
Although the tools have certainly changed over the 30 years' time that it's been more or less possible for consumers to become game programmers just for the sheer fun of it, many of the underlying principles Weller demonstrated are surprisingly familiar. Any game environment exists in a Euclidean geometric matrix, and the movement of objects in that matrix requires a basic knowledge of trigonometry - not a scientific level of skill, but certainly a high-school equivalent. Weller's math for generating the random coordinates of asteroids and then moving them in randomly chosen linear courses in a two-dimensional, wrap-around universe were comfortably basic...though they weren't BASIC any more. The language of choice at Microsoft is now C#.
Game development is a step-by-step implentation of behaviors, with each new step tested to make certain the behavior is what you intend, before proceeding to the next step. Each new step brings the product closer to the ideal behavioral model you have in your mind, but the completion of each step also reveals the extent of what remains for you to accomplish.
In David Weller's case, Thursday afternoon's demo was very true-to-life, complete with compilation mysteries and wild behaviors...which is really all part of game development anyway, so the trial-and-error was nothing out of the ordinary. In fact, there was an element of nostalgia in it all, not just for building an Asteroids game, but in watching Microsoft rediscover the secret to how the early computer industry inspired the first programmers 30 years ago.
The Asteroids demo left off where the programmer would start building ships and intelligence for the enemy saucers that classic gamers of the late '70s used to call "Sluggo" and "Mr. Bill." We asked Weller, would Microsoft or its partners be interested in distributing libraries as helpful for game developers in building artificial intelligence techniques for enemy ships, as XNA is for building 3D models?
Getting into the libraries business (all over again) may not be in the cards for Microsoft, Weller responded, though the company is considering expanding its offerings on its XNA developer's Web site to include a section for community contributions.
"An artificial intelligence library is not really something that is in Microsoft's business model," Weller said. "We're not in the game engine business. A lot of decisions about the kinds of tools we offer are driven by the way our professional game development community then uses them, and we take that input and we try simplifying it for our independent developer community."
With respect to reusable techniques and methods, such as collision detection, "we value the fact that we have partners in our ecosystem who are building those types of things," Weller added. As an example, he cited a company called GarageGames, which is running an open beta of an XNA-supporting game creation toolkit called Torque X. It gives new developers library functions and sample code that they can assemble, in some cases using drag-and-drop, to build original works with built-in math and physics that developers can then freely distribute under a royalty-free license.
Gaming should always be a community affair, and game development should not be any different. It's good to see Microsoft consider returning to the community building process.