Posted Sept. 08, 2014
Share

One of the most anticipated launch titles for the release of the PlayStation 4 was Killzone: Shadow Fall by Guerrilla Games. Early gameplay footage had shown an impressive visual design which took advantage of the power found in the PS4.

Just like earlier Killzone releases, Houdini was an important tool in the Shadow Fall development pipeline. Throughout the series, Houdini has been used to generate a wide range of realistic in-game effects ranging from ocean waves, destruction, cloth simulations, terrain generation and more. In Killzone: Shadow Fall, the effects work got much more ambitious and Houdini played a big part.

Doing More Using Less Particles

Particle effects are powerful VFX tools but they present a unique set of challenges for game artists. In film and commercial VFX, artists are used to working with particle counts in the millions. For game artists, the particle count is restricted to a few hundred because of hardware limitations in the game console. They must use fewer particles that are larger in size while retaining the complexity of detail in the final effect.

Particle effects were given a boost because the PS4’s larger range of memory supported animated sprite image sequences, as opposed to static sprites, making it possible to achieve more realistic results.

Houdini’s ability to render a complete effect as an animated sprite let us retain the fine detail. Rendering in Houdini allowed us to separate different lighting passes and their motion vectors making it easier to fluently integrate the effects in a real time scene.

by Ben Schrijvers, Senior Specialist Artist at Guerrilla Games

Rigid Body Dynamics

Although the new console’s speed bump enabled Guerrilla Games to perform a lot more real-time Rigid Body Dynamics (RBD) simulations, decisions needed to be made about when to consume this processing power in-game. The highly ambitious art direction team wanted to use as many as possible but heavy processing on the hardware can slow the game down. Therefore, it was important to choose wisely which effects to pre-compile and which ones to leave to the console.

In Chapter 8 of Killzone: Shadow Fall, the player must navigate their way through an environment that is erupting with collapsing concrete buildings. The animations of these buildings are at the scale of real-world buildings and their destruction is in no way influenced by the player, therefore the best course of action was to bake out these set piece events directly from Houdini instead of running in-game simulations.

To bring a greater level of realism to this sequence, an internal construction was used inside the geometry, much like the rebar that is found in real world concrete buildings. This technique retained some level of connectivity within the crumbling pieces creating a more realistic effect when compared to buildings collapsing into a heap of blocks.

To achieve this effect, I created a special lattice node that would take the instances and align them to a deforming mesh which was already simulated using a cloth solver. The lattice would not only move the instances around but also figure out the proper orientation.

by Ben Schrijvers

Custom nodes were used to deal with clustering instances together or activating the RBD of instances based on amount of deformation or regular grouping. These instances went through the dynamics network as a final pass with the RBD simulation.

This approach really sped up our workflow and the toolset was solid enough to hand over to my teammates Håkan Persson and Andrius Drevinskas who were relatively new to Houdini. Together we did about 20 Houdini RBD simulations, probably more than in all previous Killzone games combined.

by Ben Schrijvers

Guerrilla Games upgraded their custom fracture toolset in Houdini and added nodes that setup vertex attributes, created physics collision meshes, calculated mass and center of gravity and named the pieces in a preferred order. They also used Houdini to explore ways to generate multiple level of detail (LOD) meshes.

Effects Textures

The use of Houdini to generate in-game effects textures is widespread in Killzone: Shadow Fall because of secondary effects such as smoke or dust. Most of these are sprite animations containing flowmaps were rendered in Houdini to recreate motion in-game.

Multiple cases of flowing water were generated using flowmaps created in Houdini using a custom toolset. Interaction with static objects in the water, foam trails and slope base flow were all calculated procedurally. The primary flow of the water was directed by manually creating curves. Good examples of water flowmaps in the game include the river found in the forest in Chapter 2 and the water sections around the VSA headquarter in Chapter 4.

Textures throughout the game that were deemed as slightly more technical typically ended up on the plate of a Houdini artist. In Chapters 1, 5, and 6 where falling rain is seen, the mask for where the environment is wet or sheltered was created using Houdini. For the rain, they needed to generate a height map for the level sections that would be used by a shader to test if a surface would be wet or not. Rather than using a hard on/off method of testing, variance shadow maps were used to enable a soft mask without blurring the actual height.

Having existing in place tools that were developed for use with RBD simulations made it easier for Guerrilla Games to deal with the instances and complete level sections could be loaded into Houdini and the height map rendered with Mantra.

“A benefit of using Mantra was that we could set the pixel filter to farthest pixel sampling” says Ben. “The environments had a lot of metal grating walkways or stairs and using this setting for rendering the depth map meant that it would still rain below these structures.”

The Benefits Of A Procedural Game Pipeline

In game development there are limits to what can be created because ultimately the final result has to be rendered in real time on the game console. Game artists must also take into account that the data generated to run in a game must be compact enough to reside on an optical disc or within the console’s memory.

“Taking a procedural approach means you can tweak the parameters of an effect to find the minimum in render performance or memory footprint, without changing the essence of the effect itself” says Ben. “Many last minute changes also take place and Houdini’s non-destructive workflow makes those changes easier. I also think the flexibility Houdini provides to move data around from one type to another is a great match with the creative thinking of coders that are developing a game engine.”

Moving Ahead With The Houdini Engine

Houdini has well established its place in the Guerrilla Games pipeline, however early tests with the new Houdini Engine have uncovered new ways Houdini can be used for future projects.

“The Houdini Engine has a high usability because Houdini assets can be loaded into a host application, such as Maya, with adjustable parameters,” says Ben. “Its speed is impressive because it skips the need to write to a file. Currently we are using the plugin for Maya, but we can already see how, in the future, this could also work in any of our proprietary tools.”

Guerilla Games is already prepping Houdini Engine for Maya for their new IP game that is currently in production. Lots of procedurally generated content will be needed which is straightforward enough to wrap into a Houdini Digital Asset (HDA).

Their Environment Artists work mainly with Maya but they recognize the power of Houdini. Now instead of handing over complex jobs to the Houdini artists, a digital asset can be used right inside Maya. For both parties, this is a better solution compared to handing over baked results because that would mean a break in the workflow and challenges when trying to fit ad-hoc jobs into the schedule.

“The Houdini Engine enables us to keep an independent workflow and we finally get to make assets out of the content we already knew was better suited for Houdini” says Ben. “The future is exciting and I personally can’t wait to see a Houdini Engine plugin running in Photoshop. Just for the fun of it, although I’m sure it will be a useful tool for someone.”


COMMENTS

  • There are currently no comments

Please log in to leave a comment.