Builder AU recently caught up with Dr Jeff Pobst to talk about the future of software development on Microsoft's Xbox 360 gaming console. Is it just about games?
A long time games programmer, Dr Pobst worked on many of Sierra's PC games such as King's Quest and Gabriel Knight III. Since moving away from programming he has had a variety of roles including work on Half-Life, Lord of the Rings, and Homeworld.
A doctor in aerospace engineering, Dr Pobst is now the lead technical game manager for the Xbox 360 which is due out in Australia in early 2006. We caught up with Dr Pobst while he was in the country for the annual Australian Game Developers Conference to talk about programming for the new console, what new opportunities are in the new console, and his thoughts on hacking the Xbox.
Builder AU: Thanks for your time Jeff. First up, what is new for developers who are looking to build games or applications for the XBox 360? Is it dramatically different from the original XBox?
The exciting thing about what Microsoft has done for the Xbox 360 is that while the hardware is radically different from the first Xbox having dramatically more computing and graphics horsepower, the software interface to game developers is almost identical to what they were used to on Xbox with almost all of the same tools and interfaces available for them to help them develop and optimise their code.
This was a tremendous task in the undertaking for Microsoft, but is so worth it so that the ramping of up new developers on Xbox 360 is extremely fast. Because the hardware is so different, though, later development such as optimisation and taking full advantage of the hardware does require some new skills and approaches - namely multi-threaded programming and architecture and also more advanced memory and cache management.
Also, the next generation graphics processors are very much pixel and vertex shader-based and that was available in the original Xbox, but there were other valid approaches that no longer make sense on the Xbox 360. With all the pixel and vertex shading power now present, some developers will need to come a bit up to speed on their graphics programming to properly make the transition.
We've heard a lot from Microsoft about live services and applications lately. What new 'live' applications will software developers be able to deploy with the XBox 360?
Xbox Live is a full service and set of software functions that game developers can innovate on top of. We're extremely excited about all of the new opportunities provided to game developers with Xbox Live on Xbox 360.
The ability for the console itself to manage friends lists, messaging, presence, notifications, players lists, feedback and more means that game developers don't have to program those features in their games - saving them time to focus on the most entertaining aspects of their games - while consumers have a consistent interface to online features that is the same regardless of which game they are playing.
Meanwhile, our new matchmaking back-end technology, coupled with consumer abilities to self-select the environment in which they play (zones) plus new innovative gameplay from game developers makes online play on the Xbox 360 more fun than ever. Additionally, there are two new avenues for Xbox Live on Xbox 360 that are new avenues for game developers to have a relationship with consumers.
The Xbox Live Marketplace is a place where players can directly access easily in the console and offers hundreds, perhaps thousands of downloadable free and premium content items from demos and trailers, to personalisation items such as gamercard images and dashboard themes, to content for games such as additional levels, characters, tracks, etc.
Also available in the dashboard is the Xbox Live Arcade where smaller "bite-sized" game experiences are available for download, trial, and purchase ranging from classic arcade games, to casual titles, to new concept efforts from game developers. We're extremely excited about what online now brings to the game console experience.
Why is there so much secrecy and exclusivity for developing on the XBox 360? Part of Microsoft's general developer strategy is to be open and transparent but for the XBox 360 the process to get involved is much more difficult. For example, to be part of the XBox 360 tools and middleware program developers need to work for an existing gaming company or be specifically approved by Microsoft. On top of this developers then need to sign non-disclosure agreements. Why?
I actually wouldn't say there was much secrecy with game developers on Xbox 360. Last June we had an event open to all game developers in the US as well as in London providing all details about the Xbox 360 under a very simple NDA.
What has needed to happen through the launch of Xbox 360 was a prioritisation of a limited set of hardware and people resources to make sure that consumers who purchased an Xbox 360 had the best and largest list of games available to them when they bought their console, so our initial and earliest efforts were with the publishers who we knew could bring titles that consumers were looking for out on launch day. As for middleware vendors or developers being approved by Microsoft, that is the same as on Xbox and the same as on all consoles.
Do you think the XBox could gain a greater following if developing for the platform was easier and more open?
I actually believe that developing for the platform is the easiest of all the consoles and is very open to game developers. We have a tremendous following with over 6000 game developers having final hardware development kits worldwide right now with more getting hardware all the time and over 200 games currently in development for Xbox 360 with more and more concepts coming in every week.
The exciting thing is that the games that consumers want, from the top teams in the industry, as well as new and innovative titles from up and coming developers are all a part of that.
If developers are approved to develop games or applications on the XBox 360 what skills do they need? What are the tools of the trade for most XBox developers out there?
Making a game on any console requires a tremendous about of skill and frankly requires a solid team of people. Game development teams now are as large as 150 people with a large portion of those teams being artists and designers. In the next generation, from a programming point of view, multi-threaded programming, cache management, and deep understanding of pixel and vertex shader operations are important.
From an art point of view, never before has so many graphical techniques not only been possible, but now common - from normal mapping to specular mapping, from new animation approaches to new modeling techniques, new particle and environmental per-pixel effects, that the level of fidelity is such that artists are taking their work to a whole new level.
For the designers the capabilities of the platform open up a vast new set of possibilities that were previously unavailable to designers - they've gone from a situation where they're designing games in constrained situations to situations where more is possible than they initially predict. It is a very exciting time for game developers.
The original XBox saw a lot of homebrew developers and modders using the XBox for a variety of tasks other than games. Some used it as a media centre-type PC, others installed Linux, and some put enormous hard drives inside them and ran their games/movies off that. The open source community even built software development kits (like OpenXDK). What is your thoughts on homebrew developers hacking away at the XBox?
Because we are a platform for partners to engage in business, we have a responsibility to our partners to protect their intellectual property and provide them an avenue to connect with the gaming audience. Microsoft is a company that loves innovation and wants to actively support the community in many ways. What we are working on, and will continue to work on, are ways to support the community, while at the same time not compromising our ability to give our partners the best environment possible to conduct business. Because we have just launched, we're not as far along on this as we hope to be at some point, but we do think right now, we offer the gamer the very best experiences in gaming, high definition fidelity, online play and feature set, and additional functionality supporting digital entertainment right out of the box. There is no value right now like that in Xbox 360 in what you get for your gaming dollar.
Maybe it is a touch of my technostalgia but a good game is few and far between these days. What is going to make a great game for the XBox 360? Is it all about better graphics, frame rates, and surround sound?
I believe a great game is always going to be about great gameplay and if any story has been somewhat under-reported so far in my opinion, it is that the group of launch titles play better than anything we've ever seen on a gaming console. So many of them feel "right" and provide very seamless experiences that are "fun." At the end of the day, a game should be judged on how much "fun" you have as a game player. That said, the Xbox 360 not only provides resources for game developers to innovate in new and exciting game play mechanics, but it allows them to do so while providing high definition video and audio and keeping games at a high frame rate so they feel responsive - it is that powerful.