At Game Developers Conference, Microsoft has taken the opportunity to more fully flesh out its XNA concept with the announcement of a major new product, named XNA Studio. Based on the Microsoft Visual Studio 2005 Team System, XNA Studio is an integrated, team-based development environment tailored specifically for video game development, and will likely launch as a retail product early in 2006.
In particular, XNA Studio builds on top of Visual Studio, currently the tool of choice for the majority of game programmers, and adds asset management, defect tracking, and project automation tools, as well as significant workflow functionality. This new build framework and integrated tool suite is intended to make XNA Studio important to artists, designers, QA testers, and even producers.
In relation to this major announcement, Gamasutra.com had a chance to discuss XNA Studio in detail with Chris Satchell, the general manager of XNA at Microsoft. Satchell, who moved from post-graduate research in distributed artificial intelligence through multiple game companies to a position as director of engineering at Microsoft Game Studios dealing with games such as Project Gotham Racing, Counter-Strike, and Fable, now heads up the team working on XNA, and is charged with overseeing all aspects of development for the software development platform.
XNA Studio's Concepts
Firstly, Satchell makes it clear that XNA Studio can definitely be described as Visual Studio for games development, but targeted at the whole development team, not just programmers. Microsoft and the XNA team have apparently been talking to people in the industry about the problems they're going to face going into the next generation of consoles: The issues are clear: "Consumers are demanding richer experiences. There's both a complexity problem and a volume problem [for assets]."
Thus, the XNA team has been addressing what they consider to be the major problem - how can game developers be enabled to get their content through to their game in an efficient manner when game teams are getting so large and data so complex? The answer, they believe, is one tool to handle the code, art assets, physics data, collision data, and sundry other chunks of information which make up a game, and the ability to build in a robust, scalable, repeatable build process alongside a unified file format, currently called XIF, which drives that build process.
The game assets are then packaged in an asset management system, also including both bug tracking and workflow tools, all built around Visual Studio as the core tool for programming and compiling. But Satchell is keen to explain that the team is "making sure we do the work to make [XNA Studio] specific to the games industry." The close relationships between code, art, audio, QA, and production are intended to be very directly addressed in the tool.
For example, it was suggested that art assets could be checked into the asset management system, and then workflow tools could be used so that the producer could view and sign off on specific major art assets within the XNA Studio interface, and an exportable document created which listed which assets had been approved. It's also intended that artists should be able to compare several versions of previously checked-in textures, which vertices have changed. With the same package, a programmer would be able to view a particular software bug, fix the error in code, and have the bug marked as fixed in the bug tracking part of XNA Studio as the code is checked in. Automation workflows for code testing will also be part of the application, and fairly complex plug-ins should be possible - even graphical workflow tools such as polygon reduction pipelines. [However, it's important to note that art creation is not part of XNA Studio, just asset control and workflow/export related tasks.]
Remote Working, Bedroom Programming?
XNA Studio is also particularly intended to help content creation across distributed teams. Increasingly, certain aspects of code or particular art creation are outsourced in the game industry, or studios owned by the same developer/publisher in different physical locations will work on the same project. According to Satchell, XNA Studio has been specifically designed to allow groups to collaborate who are digitally remote, helping deal with this new trend in gaming.
Interestingly, "people out there in universities and bedroom developers" are also a target for the XNA team. Satchell hopes the tool will help answer the question of many who aren't lucky enough to work for a major games company, and are asking: "I don't have ten people and a million dollars, how can I do something relevant?" He particularly notes that the remote collaboration should allow completely virtual teams to exist fairly easily.
So, what do game middleware creators think of this relatively large move to unite multiple tools? Although it's conceded that some companies, particularly those in the bug tracking or asset management arenas, will view XNA Studio as competition, Satchell comments that most middleware companies "see this as a real enabler." In fact, major backers have already appeared for XNA Studio, or at least, tool companies prepared to go on the record with their enthusiasm regarding the possibilities for the format, particularly in the art and physics tool business, with representatives from Alias, Avid/Softimage, Autodesk/Discreet, Havok, and Ageia/Novodex all contributing verbal support.
For example, Marc Petit, VP of product development at Discreet, commented: "We are excited to be working with Microsoft to help integrate the great technology of 3ds max software with Microsoft's XNA Studio." Manju Hegde, CEO of Ageia Technologies, has also contributed comments suggesting: "XNA Studio brings a unifying workflow foundation to help games artists and programmers drive advanced physics content more effectively into their games through standardization of tools interfaces."
Nonetheless, there are some important questions to be asked about XNA Studio. For one, Microsoft owns or controls a number of the major platforms that games are created on (Windows, Xbox, next-generation Xbox) , but certainly does not own the others (PlayStation 2, next-generation PlayStation, GameCube, Nintendo's next machine, and the portable systems.) How easy will it be to create content in XNA Studio which easily exports to those consoles and handhelds?
In answering this question, Satchell makes it clear that, while XNA Studio runs on Windows for development purposes, there's no reason why any exported data shouldn't be used anywhere, much as Visual Studio data can be compiled for many purposes. However, Microsoft has built or is building more tools closer to the run-time end of the business to give XNA Studio users significant ease in building content for Microsoft platforms, because exported XNA Studio data can be specifically designed to work with these tools.
Satchell notes that the company is "doing everything we can on the other XNA components to make it easy to develop for our platforms." Nonetheless, XNA Studio has no barriers to entry other than buying a retail copy of the utility, and so there's no reason to suppose that it will be excessively obtuse to repurpose XNA-exported data to any non-Microsoft game platform - although there's obviously no definitive answer on this.
He also suggests that it seems very easy to transition from Windows to Xbox to Microsoft's next-gen platform using the XNA structure (which presumably includes XNA Studio), and gives the example of a test porting project inside Microsoft Game Studios, which transitioned an Xbox game to the next-gen Xbox hardware in just three man-weeks.
When XNA was originally launched at Game Developers Conference in 2004, there was some confusion from casual observers as to its true nature, likely due to the early stages of its development and the relatively vague nature of the initial announcement. With this concrete product unveiling, Microsoft appears to have made its XNA strategy much clearer.
On the one hand, Microsoft will continue to develop APIs and tools on the run-time side of XNA, such as PIX, XACT, the XAudio API, and the High-Level Shader Language - DirectX is also technically part of XNA. Some of these, particularly for the Xbox and next-generation Xbox, will only be available to licensed developers, and will help with practical run-time aspects of game creation. On the other, for actually managing and collaborating on the creation side of making games, Microsoft's main product will be XNA Studio, which will be available to all. But with the XNA 'concept' being fairly broad, the XNA umbrella can still be marginally confusing.
But when will XNA Studio be available? It was indicated that the full version of Visual Studio 2005 Team System will debut in Fall 2005, and that targeted alpha versions of XNA Studio, which is based off the former product, should appear toward the end of 2005. The XNA team is hoping to have the publically usable version of XNA Studio usable by Game Developers Conference in March 2006. By then, it should be much easier to see if Microsoft's grand plans to help manage the ever-expanding game development process are starting to work out.