Deprecated: Function get_magic_quotes_gpc() is deprecated in /home3/secondi2/public_html/textpattern/lib/constants.php on line 149
Second Intention: Powerdrome

Powerdrome

portfolio | « | »

Racing on the edge of control

Speed. Skill. Drama. Humans, aliens and robots flying ramjet-powered blades in deadly competition. As they battle for glory at the speed of sound, a universe watches, and holds its breath.

Second Intention ported Powerdrome from the Xbox to the PC, with the completed game being released in 2005. We added an all-new and highly optimised DirectX 9.0c renderer, with exciting new features like self-shadowing, image-based lens reflections, depth of field, and vehicle damage simulation using Shader Model 3 features.

The end result is jaw dropping, and takes the already-impressive Xbox visuals to the next level.

Gallery

More information

History

Powerdrome was originally developed by Argonaut Sheffield, formerly Particle Systems, for the Xbox and PS2. The team set out to produce a next-generation futuristic racer, focusing on the intensity of the play experience, and providing pure racing action as opposed to the mishmash of racing and shooting typical of the genre. The team was keen to give players a really visceral race experience, where they could literally feel the speed and intensity rather than have to read a speedometer.

Will was the Project Lead for Powerdrome, and the Lead Programmer for the Xbox
version and the cross-platform codebase. He provided overall direction of the project, managed the programming team, and designed the game engine. He also found time to write the Xbox renderer and the physics model, and develop many of the special effects.

The game was released in the US and Europe for Xbox and PS2 in 2004 and has
received positive reviews from the games industry press.

Our key contributions

  • Design of a third-generation game engine. This was completely platform-agnostic, and isolated details of the underlying operating system and hardware from the game codebase.
  • Design and implementation of lightweight and flexible mechanisms to extend C++. These provided the following facilities: reflective RTTI, abstract object factories, object member data publishing, and fast automatic serialisation to and from self describing binary or human-readable XML archives.
  • Design and implementation of the Xbox renderer for the project. This drove the
    Xbox hardware using GPU pixel and vertex shaders in a stripped-down DirectX 8.1 environment. Features include cube-map environmental reflections, bump-mapping, correct lens flare occlusion, high-definition smooth skinned skeletally animated characters, multiple projected shadows, and bump-mapped animated reflective water. The finished game runs at a 60Hz refresh rate.
  • Design and implementation of the Xbox post-process renderer. This provided control of image tone-mapping, motion blur, full-screen defocus filters, and a robust solution for HDR effects. These included coloured bloom from bright or glowing objects, and star-filtered specular sun highlights on shiny surfaces. This was all implemented using the Xbox pixel shading units and ran in real time.
  • Hand-optimisation of key vertex and pixel shaders to reduce the number of GPU clock cycles spent per fragment.
  • Design and implemention of the Xbox audio system using XACT. This involved writing and maintaining the XACT driver code, and authoring the audio environment by building up multiple layers of source wave files, envelope generators, filters, oscillators and so on. The game has a rich, varied audio experience covering vehicle engines, damage, secondary feedback audio, and nonrepeating ambient sound.
  • Production and tuning of a physically-based flight model for antigravity flying vehicles using second-order numerical integration techniques.
  • Writing a lightweight debug interface toolkit to provide custom debug status displays, in-game tuning and performance analysis. This allowed a quick feedback cycle for tuning effects and analysing performance.
  • Design of the appearance and interaction flow of the in-game user-interface.
  • Implementation of custom visual effect code and production of assets for dynamic vehicle engine flames and soft smoke trails.
  • Production and maintenance of on-line documentation using doxygen (Javadoc-style documentation generator) and a Javascript-driven HTML framework to present and manipulate the pages.
  • Production of Javascript tools to automate shader compilation and provide
    Edit-and-Continue support for pixel and vertex shaders.