One of the brightest young coding talents I know aspires to be a game developer. His reasoning: games are the best way of demonstrating technology advancements to the average person. The demand for games with ever more impressive graphics drives new and powerful hardware into people’s homes, and the benefits are realized across the entire IT industry.
One thing is for sure — game developers have our attention. We spend more on video games than we do on any other form of entertainment, movie tickets included. Still, our thirst for more realistic and engaging game experiences is not cheaply quenched, with the average development cost of a top-selling game sitting around US$5 million. While, at present, this may be far less expensive than production of a blockbuster film, the steep upward curve of game development costs has industry insiders worried about the future.
Additionally, the complexity of today’s games is forcing developers to spend the vast majority of their time on the “grunt work” aspects of programming — time they would much rather spend on the creative end. Microsoft has responded to these concerns with XNA, a platform intended to abstract away many of the low-level coding tasks associated with game development. Future generations of Windows and Xbox will make use of XNA, which will merge tools currently available in both platforms with new capabilities. Xbox tools will be made available to Windows developers and vice-versa, creating a more unified development environment. Some of the languages folded into XNA are PIX, XACT, and High-Level Shader Language (HLSL). Perhaps the best example of how this will pay off is in a common control interface. By providing a standard button API, XNA saves the developer from the complexities of coding for different input devices. The benefit is even more obvious to game players, as common controls will reduce the learning curve involved in picking up a new game.
According to David Wu of Pseudo Interactive, a Toronto-based game development shop, it will be important to offer gamers simpler control interfaces but also more effective ways of personalizing the controls. Players don’t want to have to customize each game’s settings individually, and under a common control interface they won’t have to. XNA allows game preferences to be abstracted out of the games themselves and managed at the OS level.
Closer integration between games and the Windows environment can be previewed in Longhorn release candidates. One feature sure to be a hit with parents is the ability to block a user’s access to games based on age-appropriate ratings system such as ESRB (Electronic Software Ratings Board). XNA provides developers with the APIs through which the game will communicate such meta information to the OS.
Just in case you aren’t yet sold on how cool XNA is, Pseudo Interactive has provided a demo using just about the coolest scenario possible: crashing two very expensive sports cars together at high speed. Visit www. pseudointeractive.com and prepare to be amazed by the carnage in “Crash 2” — little bits of metal splintering everywhere, reflecting light and casting shadows. Unquestionably, there is art in this destruction.
Cooney is a managing partner and chief software architect for Rivervine Technologies Inc. Contact him at [email protected].