As a PC and Xbox 360 developer how have you been finding Microsoft's XNA? Other developers praise its profiling tools and impressive multi-platform integration. What do you like best?

XNA Studio still isn’t released, but the tools they have provided for development and profiling on the Xbox 360 are outstanding. The PIX tool for performance profiling is particularly fantastic and it’s something we use on a daily basis around here.

How different is developing for the PC and Xbox 360 now compared to the PC and original Xbox when you were creating Morrowind?

It’s quite a bit different considering that the original Xbox was fundamentally very similar to PC architecture. The 360 is much more like a traditional game console, in that it is tuned first and foremost for gaming. The differences in things like the multicore architecture and unified memory systems do create some technical challenges, but that is the nature of cross-platform development. The support we’ve received from Microsoft has been tremendous, even better than it was for the original Xbox.

Physics is the new buzzword and with such a rich environment how have you been balancing that with other high CPU utilization subsystems (like A.I. or even the renderer)? Do you think nowadays developers treat physics as a first-class citizen? Should they?

We’ve worked closely with Havok to make sure our implementation of physics is as optimal as possible. I think anyone who’s played Half-Life 2 realizes that physics can add a ton of great gameplay to a game. Developers have definitely taken notice of the importance of physics in games and it’s pretty rare that you see a game without them anymore. I look forward to the advances in gameplay that they’ll bring.

Click for a bigger version

While we're on the subject, although you've mentioned you're quite happy with Havok, is a PhysX/Novodex path later on as a patch a possible expectation for Oblivion?

We certainly always have our eye on new technology that might make good additions to our games. As far as physics goes, Havok is the market leader and for good reason. It’s proven itself in well over 100 games and the amount of support they’ve provided us in implementing and optimizing their system for Oblivion has been invaluable. Either way, I think adding support for an entirely new physics system is far beyond the scope of a patch.

One of Oblivion's great features is the A.I. How are you scaling the complexity of the A.I. routines? Is it tied to visibility (i.e. scale down when actor is not in view, distance-based, etc.)?

It’s mostly based on visibility and the relative location of NPCs to the player. We engage a whole host of optimizations for characters that aren’t being rendered.

Could you reveal your secret on how you can have A.I. actors with 24 hour schedules and a huge world and not have the whole engine halt in its tracks? Are you doing snapshot updates at zone/cell boundaries?

As above, we mostly leverage the amount of processing time based on distance. We have multiple processing levels that control the range and amount of activity an NPC will engage in. Characters far away from the player will engage in less complex behaviours and update themselves less often than characters that a player is likely to encounter in the near term.


We’d like to thank Gavin Carter for answering our questions as well as Pete Hines for helping make this interview happen. Elder Scrolls IV: Oblivion is expected to be released in early 2006 for PC and Xbox 360. Visit the official game website.

  • If you wish to comment on this article please do so here.