>To the West, the sun is setting. To the East, you see a tree. To the North, you see a man.
The man in question is Producer Gavin Carter, and we quizzed him on Elder Scrolls 4: Oblivion, the PC, and Xbox 360.
Throughout the port of Elder Scrolls 3: Morrowind to Xbox, the code was able to remain fairly untouched, mostly because the underlying hardware was largely similar to PC architecture. Now, however, it seems much more like turning an apple into an orange...what has been the greatest difficulty in your conversion process between Elder Scrolls 4: Oblivion for PC and the Xbox 360 version?
Gavin Carter (GC):
It hasn't really been a conversion process since both platforms have been developed simultaneously. With Morrowind we didn't even know about the existence of the Xbox until the game's development was well under way, whereas with Oblivion we knew from day one it would be for PC and console. So that's been a plus. Our big challenge is always to take the big, grandiose things we set out to do and get them to work like their supposed to in a final product.
The Xbox processor will be multiple core, which at the time of Morrowind (2002) was a nearly unthinkable idea for a gaming PC or console. However, by the release of ES4: Oblivion (now 2006), the Pentium-D and Athlon 64 X2 dual-core processors will be even more common place. The Pentium-D EE even features hyperthreading on each core! Will Oblivion be written to make use of these new features on the PC? If so, have you determined how threads will be divided (by class, like AI, physics, etc, or by immediate priority where physics could dominate two threads if little AI is present)?
Oblivion will absolutely benefit from a multi-processor or multi-core PC architecture. These improvements have largely been driven by our optimizations for the Xbox 360 hardware. We have built a dynamic thread management system that manages processor load by our specific direction and by priorities. Portions of physics, AI, loading, audio, and rendering tasks can all be moved to different threads to keep the overall load balanced. The net result for the end user is a smoother experience.
On a further Xbox to PC issue, there has been much talk of ATI's Unified Shader Architecture in the Xbox 360. However, this technology is not available on PCs currently, and will likely not be until at least the release of Windows Vista at the end of 2006. So will this be a benefit to Xbox users that they have it, or will there be no visible difference in speed for PC users? Will the PC version require being patched to make use of this if and when the technology shifts?
The unified shader architecture definitely does help with the speed of shader processing. Plus, it's completely transparent to developers as the optimization all occurs behind the scenes on the hardware side of things. However, we've optimized our shaders so that the overall difference between Oblivion running on the Xbox 360, and Oblivion running on a fast PC with a Shader Model 3.0 card should be slight. We're locking the framerate at 30fps on the 360 so you probably won't see framerate improvements vs. the PC, but you might see a more stable framerate.
The graphics debate between NVIDIA and ATI is always in the limelight with the release of any new game. Since Xbox 360 hardware is ATI branded for graphics, will the game be optimized on PC for their R5xx series cards (X1300 to X1800) and carry the ATI logo, a la Half-Life 2? Or are there no planned allegiances for a particular manufacturer at this time?
We have good relationships and contacts at both companies, and talk to them both frequently during development. I don't see us swearing fealty to one or the other quite yet.
The quality of your modified Havok engine is amazing in the demos. Hopefully, by the release of this game, however, there will have been the release of the Aegis Physx PPU for PC users, which is currently exclusively licensed with the Novodex physics engine. Will there be support for this add-in card in ES4: Oblivion? If not, is there a reason that you chose the Havok engine as opposed to one that supports such future technology?
The PhysX card is an exciting piece of technology and one we'll be keeping an eye on in the future. However, it is still young and I actually haven't seen a released game use it so far. Havok has proven itself over and over in dozens of games, and we're very happy both with our implementation of it and the support we've received from them.
Speaking of physics, the forests look amazing. And it has been rumored that the trees even sway with wind, which got me thinking. Wind is something that is very difficult...it's hard to think of all the subtle interactions it creates. If there's wind that is swaying trees, etc, will there be leaves blowing free? Will it blow your cape, if your character wears one, or their hair? Or change an arrow's course of flight, since you spent so much time in the effort of making ranged fighting more realistic?
The forests and grass do animate differently in response to changing weather conditions. There are also ambient effects to increase your sense of immersion like leaves falling from trees, butterflies flying around, and birds chattering in the trees above you. No cloth physics unfortunately. We found they are a huge sink for processing time and we'd rather spend it in places that really make a difference to the gameplay like AI. Arrows will shoot through the air using physics; arcing based on force and gravity. Wind won't blow them off course however. I think that would really decrease the fun of archery, and you'd start wanting to clutter the UI with things like wind indicators.