The Making of MotorStorm Apocalypse
Digital Foundry talks to Evolution Studios about its most ambitious racer yet.
MotorStorm games are also renowned for the sheer amount of vehicles on-screen at any given point - the introductory stages of the races in particular being a good example. Being able to display so many forms of transport simultaneously involves the use of some visual sleight of hand, slotting in lower-quality assets depending on the distance from the viewer. MotorStorm Apocalypse has six different models (or LODs, for level of detail) for each car.
"Yes, we use LODs based on average polygon size to screen area. We give the artists bias controls to fine-tune the results. We also use shader LODs to help further, rejecting shader code that isn't required at distance," explains Andy Seymour.
"Drawing lots of tiny polygons is really inefficient. Our LOD algorithm looks at the average polygon size in a mesh, and then looks at how big that average polygon would be when projected onto the screen," Oli Wright adds.
"It then chooses an appropriate LOD based on that. It does a pretty good job overall and largely automates the process of determining when LOD switching should take place. It doesn't always work though, so the artists always have the option to override it."
"Our vehicles have to adhere to very strict polygon, texture and memory budgets which are set at different levels for each vehicle class. The vehicles must also pass stringent validation checks prior to export to ensure that they are free from any technical defects and are compliant with the game and its enforced budgets," explains vehicle lead, Nick Massam.
"LOD meshes are manually created for all vehicles and used in conjunction with material LODs which we are able to dynamically adjust and use to balance the frame-rate in-game depending on distance or vehicle usage.
"LOD bias values are also assigned to various part groups of the vehicles to force them to switch LODs earlier or later depending on their relative size, i.e. technical components, bodywork etc. The vehicles also use a shared pool of textures, and library of preset materials which help us to manage and reduce the overall memory footprint of a typical vehicle."
There's constant competition for graphical resources occurring within the engine, and budgets for rendering different elements of the scene (environments and vehicles) shift constantly.
"We had to dig much deeper on MotorStorm Apocalypse due to the performance demands of the game and were forced to find solutions to help improve frame rate especially on some of the animated event and VFX hungry tracks," continues Massam.
"We decided to introduce occlusion shapes on the vehicles for the first time which were used to occlude components within the vehicle that would normally be hidden from view but still rendered i.e. engine, suspension components etc. Vehicle shadow proxy models (lower poly meshes) were also created to reduce the cost of rendering real-time shadows."
The team also added performance statistics in-game, that allowed the developers to quickly judge whether vehicles or world detail were proving too expensive to render.
"We have a couple of tools to try to make sure that the performance of world rendering in particular is as consistent as possible," adds Oli Wright.
"The first is a world benchmarking tool that runs a camera through the world along all possible routes, timing various GPU phases and reporting on hot and cold spots. The second is a tool called 'The Auditor' that gives a more spreadsheet type breakdown of a resource usage for a world."
Adding to the performance challenge is the inclusion of split-screen, with a four-player mode added to MotorStorm for the first time, which also works in 16-player online games to boot. The team's work with dynamic LODs obviously come to the fore here, but the studio also has a number of other techniques to get the job done. As the viewing window per player is literally quarter-res, there is no need for the full-fat models to be generated.
"Split-screen is, obviously, a nightmare. We have lots of things that we can scale back to make four-player split screen possible," Wright observes.
"LOD biasing, shadow resolution, shadow range, SSAO and motion blur. So the visuals are compromised in four-player, but we'd rather have a four-player experience with some compromises than not have it at all."
All of which brings us on quite nicely to MotorStorm Apocalypse's stereoscopic 3D support, widely acknowledged as being one of the very best implementations seen to date - not surprising bearing in mind that most of the pioneering work for the tech was carried out at the team's Liverpool base. Evolution Studios embraced the concept of 3D from an early stage and literally built it into the rendering spec from the outset.
Studio director Matt Southern explains what he wanted to get from the experience.
"We know how common it is to accuse 3D of being a gimmick, and when you make games you have the golden opportunity to disprove this by affecting gameplay, not just visuals which of course are all a movie or broadcast can offer," he says.
"Aside from the obvious fact that our concept proposition lends itself beautifully to forward-rushing spectacle, we tried to make the 3D contribute to the sense of vertigo, and the subconscious ability to judge the player vehicle in relation to the AI, tracks and obstacles. To essentially make judging a racing line more instinctive and have 3D contribute to the vital sensation of 'flow'..."
There were plenty of 3D demos at last year's E3 and a pre-alpha build of MotorStorm Apocalypse was among them. After hands-on time, our concerns were all about the performance level and the sheer "in your face" nature of the whole process perhaps being too much. Killzone 3 shipped in pretty much an identical form to its E3 showing, but MotorStorm Apocalypse is enormously improved to an extent that is really quite remarkable.