Considered to be the most physics-intensive title to date for the Playstation 3 - and by many people to be the most beautiful as well - Motorstorm crashed onto the gaming scene a showcase title for how recent industry trends towards enhanced physics modeling have contributed in a fundamental manner towards improving the gameplay experience.  Not being a trend limited to the PS3 (several recent PC and XBox 360 games of note pursue a physics-heavy framework as well), the recent efforts of developers and middleware providers to port physics operations onto the SPEs nevertheless set Motorstorm up to serve as a brief snapshot for how developers are coming along in mastering the Cell architecture. Motorstorm itself features up to twelve detailed vehicle models onscreen at once, each vehicle made up of dozens of independent components with associated physical properties, racing on physically differentiated (and at times deformable) terrain, ultimately resulting in truly spectacular crashes.  

When given the chance recently to present technical director of Evolution Studios Scott Kirkland with some questions, we took the opportunity to ask about the development of Motorstorm and where he sees future development efforts on the Playstation 3 as heading. 

B3D: Earlier this year you were quoted in the press release announcing version 4.5 of Havok's SDK; how closely have Evolution and Havok worked together throughout the development of Motorstorm, and to what extent has Havok formed a foundation for Motorstorm's physics-based gameplay?

Scott Kirkland: Since adopting Havok’s physics middleware, Evolution and Havok have worked in very close collaboration. While Havok’s engineers concentrated on refining their core functionality and tools, our internal physics programmers were able to focus on MotorStorm’s application of physics... creating the game’s compelling vehicle dynamics systems, environmental interaction, and spectacular destruction.

Click for a bigger version

B3D: In your mind, what would you say has been the most significant in-house tool development at Evolution to have come out of the Motorstorm project?

Scott Kirkland: We put a lot of effort into the development of real time remote (socket API) debugging tools. These included screen and AV capture, memory allocation tracking and hierarchical performance analysis of instrumented code. This work will provide the foundation for a much broader suite of tools to collect valuable statistics and allow our artists to interactively configure aspects of future products.

B3D: Will the next project out of Evolution continue to build upon the Motorstorm engine, or is the present expectation that work for a new title will commence with a clean slate from the engine side?

Scott Kirkland: During the development of MotorStorm our team learned a great deal about PlayStation3 exploitation and production process refinement. While much of this knowledge fed directly into our systems, some items had to be put on hold due to their more radical nature. As we progress, these areas will be subjected to some serious re-factoring to provide increased performance both at runtime and during development.

SPU usage is a good example. The progressive development of corresponding debugging and profiling tools made thorough exploitation of this powerful resource quite challenging for the less technically biased members of the team. In the aftermath of MotorStorm, with mature tools at our disposal, we’ve been developing mechanisms to make the PPU and SPU’s power and parallelism far more accessible to our entire team, re-thinking data organization and algorithms in the process. MotorStorm only uses between 15 and 20 percent of available SPU resource, so we’re aiming to achieve a 5 fold increase in SPU performance, which should allow us to do some awesome stuff!

B3D: Cell's ability to assist RSX in rendering operations has been a topic of much debate and speculation of late.  Was Cell used in Motorstorm to perform any lighting, vertex, or other transform work?

Scott Kirkland:
We don’t use the Cell’s SPUs in this way at the moment.  All of our lighting and transformation work is done in the RSX’s pixel and vertex shaders.

Click for a bigger version
Our SPU exploiting systems consist of:

i) Havok physics.
ii) Determination of object visibility.
iii) Concatenation of hierarchies.
iv) Billboard object culling and vertex buffer creation.
v) Updating of particles and vertex buffer creation.
vi) Updating of vehicle dynamics.
vii) Updating of vehicle suspension constraints.
viii) Audio (MultiStream).
ix) Video decoding.

B3D: Were Evolution's thoughts that the application of Cell towards such tasks might go too far in removing SPEs from being available for work on AI, physics, and other gameplay-related code?

Scott Kirkland: Cell’s SPUs provide a huge amount of processing power. Early adopters tended to bias usage towards either RSX or PPU support (we fall into the latter category). I’m confident that over the coming months, exploitation of this resource will become far more balanced.

Click for a bigger version
B3D: Further to that, do you believe that as the generation progresses, cooperative rendering techniques will become a larger part of what grows to define baseline PS3 rendering methods, or are your thoughts that such efforts will play out more or less in niche areas?

Scott Kirkland: If by “cooperative rendering” you’re referring to SPUs supporting the RSX, I strongly believe that this approach will become far more widespread. In addition to reducing the vertex load on the RSX through the use of culling and vertex pre-processing, this approach also provides an efficient mechanism to introduce procedural geometry.

Historically, CPUs have provided course grain scene culling using view frustums, occlusion planes, portal visibility and BSP-trees with GPUs left to perform fine grain rejection using guard band clipping, occlusion and backface culling. While such features improve fragment performance, they don’t reduce vertex processing overhead.

The leap in performance provided by Cell gives us the bandwidth to significantly reduce RSX time spent processing vertices that don’t contribute to the final scene. The favoured approach is to use SPUs to generate minimal scene/instance specific index and vertex buffers from compressed data.

B3D: Many thanks for your answers thus far Scott - one last question before we go. Sony Worldwide Studios has seemed very involved in assisting the efforts of closely-affiliated developers, and Phil Harrison in particular has seemed very excited about the title. To what extent would you say Sony WWS provided a hand in aiding Evolution with the development of Motorstorm?

Scott Kirkland: We have had a close relationship with Sony ever since our early days as the PS2 World Rally Championship developer. Sony trusted us with the WRC license, even though we were just a small team with no console experience, just a big sack of talent and enthusiasm. Phil has often visited our studio and knows most of us personally – we certainly never felt neglected by SCEE and their tech guys were always willing to answer our queries. That said, it is the guys at Studio Liverpool who we work most closely with, and they are top guys.

Care to comment on this news? You can do so here