[In this sponsored feature, Kim Davidson, President and CEO of Side Effects Software discusses the role procedural software can play in the creation and deployment of game art. Kim has been working in the computer graphics field for over 35 years with most of his time devoted to bringing quality production tools to artists.]
Established in 1987, Side Effects Software is the developer of Houdini, an award winning 3D animation and special effects software used in film, commercials and video games. Side Effects Software has been recognized three times with Scientific and Technical awards from the Academy of Motion Picture Arts and Sciences and Houdini is used by numerous leading digital content creation facilities including: DreamWorks Animation, Electronic Arts, Blizzard Entertainment, Naughty Dog, Blue Sky Studios, Double Negative, Guerrilla Games, Sucker Punch Productions, Insomniac Games, Pixar Animation Studios and Sony Pictures Imageworks.]
Contact Side Effects here, or visit Booth #224 at GDC 2015.
With each new generation of gaming hardware, the pressure to build bigger worlds populated by highly detailed content is reaching a boiling point. Studios are struggling to meet deadlines and contain costs while some recent games are being released in an imperfect state which creates a frustrating experience for gamers. Hiring or contracting armies of artists is one idea, but this approach increases costs and has practical limits. There must be a better, smarter way that makes it easier to create detailed game art with the team you have and maintain creative control throughout the process.
The solution is to go procedural. A procedural approach to content creation involves building node networks that define a “recipe” to create detailed game art that can be applied over and over. You can wrap up these networks to create custom “smart” assets that are built by artists for artists. And with recent technological advancements, these assets can be loaded into game editors such as Unity or Unreal or even custom game editors using a simple API.
Here is a video which demonstrates how Frima Studio benefited from going procedural:
I have been working with digital artists for over 30 years, and many of them have been game developers looking for something more. Side Effects specializes in procedural workflows which debuted with PRISMS in 1987 and now lives on in Houdini and its node-based interface.
PRISMS was born on the production floor at Omnibus in Toronto, Canada , where Side Effects co-founder Greg Hermanovic and I were working on computer animation projects for clients. As each project would begin, we would use the computer to create geometry, animate and render directly to tape. In a notebook (paper notebook), we would record each step taken to create the shot and all the settings used to get the desired results. Once we were finished, the client would review our work and ask for changes. Using the notes as reference, the shot would be rebuilt with the changes taken into account.
PRISMS User Interface.
It soon dawned on us that the steps listed in our notebooks could be recorded on the computer and from this idea PRISMS, our first generation of content creation software, was born. Now, when a client asked for a change, we could go to the appropriate step in the process, adjust a parameter and output the results. Over the years, this evolved into a much more sophisticated solution with networks of nodes which are used every day to create digital art in a number of fields. The key is that changes can be made deep into production without costing the studio lots of money. The director could ask for more changes and we could finish in the same amount of time.
While game studios have worked with Houdini from our early days, it has been most popular as a tool for feature film VFX. It is only in the last few years that our procedural workflow has been seen as a viable solution for game studio pipelines. This has been a result of several key factors including the need to develop more content faster without growing the team size and the migration of talent from the film industry to games.
While the production challenges of game makers are not the same as VFX artists, the benefits of a procedural solution are shared. The quality of games is fast approaching what we see on film and I know of film studios using game editors such as Unity to pre-visualize and plan out film projects. This convergence is a topic of its own, but suffice it to say, it has provided motivation for us to work more closely with game studios to address their concerns and this has brought procedural technology to the forefront.
Many of the challenges faced by studios on a day-to-day basis can be addressed by going procedural. I have already discussed the idea of creating lots of content with existing talent. Procedural techniques address this by making it easier to complete repetitive tasks and to generate more content faster.
A procedural approach also makes it possible to step back and make changes at any time. This allows for multiple iterations which supports the creative process throughout production. Small studios and indies can use this approach to tackle larger projects that would require either too much time or too many artists using traditional techniques.
Large studios can use procedural techniques to distribute work more easily amongst artists and off-shore partners. Procedural workflows can be shared to ensure consistency while allowing for artistic control at all stages. I have seen this in practice as artists keep their focus on creative challenges without feeling squeezed by project deadlines or spending time on mindless repetitive tasks.
Designing levels is one area where the task is becoming more complex than the typical team can handle on their own. Lots of repetitive tasks take place over a long period of time and making sweeping adjustments often means starting over. With a procedural approach, you can have tools in place to determine the size, shape, and details for your game elements while other tools distribute and place these parts. Having created the initial design, you can continue to step back and by adjusting parameters, achieve different results quickly and easily.
Castle walls built from input curve | Frima
Frima Studio [http://www.frimastudio.com] from Quebec, Canada, used this approach to create levels for their mobile game, Lightbringers: Saviors of Raia. Procedural techniques were used to develop level modeling tools making it possible to rapidly generate map layouts. Each level began with a simple curve which was used to generate towers, walls and fences, complete with UVs. A procedural tower generation system offered control over the number of sides, the number of roof subdivisions, roof shape variations, parapet variations, half or full tower scale options, as well as window and door variations.
For the 2D game Chariot, Frima used procedural tools to create collision geometry, generate art meshes, outline borders such as the floor and ceiling, paint the borders, and shade the results. The 2D level creation process began with importing level design geometry comprised of several individual shapes. All shapes were automatically merged and processed to create a clean continuous spline.
Set Decoration in Chariot | Frima
UV coordinates were derived from world space so that an outline border mesh could be filled appropriately with a texture. Procedures detected the orientation of the polygonal meshes - top surface or bottom surface, as well as their area, and assigned UVs based on this information.
Using another layer of border mesh, grass or another form of decoration was painted on the level mesh. The level was split into several chunks, which allowed the game engine to load them progressively in order to ensure improved performance.
“From procedural modeling to rendering, effects, simulations all the way to texture generation,” says Art Director Kristofer Eggleston. “It's amazing to be able to interconnect all those systems in a single digital asset. From the click of a button, I'm able to generate geometry, render images, and composite them then automatically output them to the game engine using the correct nomenclature.”
Final Set Decoration in Chariot | Frima
Guerrilla Games [http://www.guerrilla-games.com] has been using Houdini for their Killzone titles and has become particularly adept at in-game destruction. Typically this means pre-baking simulations to be called up in the game but with the speed bump on the PS4, Guerrilla Games has been able to perform many more real-time Rigid Body Dynamics (RBD) simulations. The key is deciding when to consume this processing power in-game. The art direction team wanted to use as many in-game sims 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.
Procedural Destruction in Killzone: Shadow Fall | Guerilla Games
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 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.
“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 Schrijvers, Senior Specialist Artist at Guerrilla Games. “Many last minute changes also take place and the non-destructive workflow makes those changes easier. I also think the flexibility this 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.”
Electronic Arts [http://www.ea.com] has been deploying procedural approaches for quite a while using talent pulled over from the VFX industry. Four years ago, Caleb Howard, a CG supervisor from EA who once worked at Side Effects, brought this new procedural mindset to the development of the game SSX. This game was a reboot of a classic which originally had about 10-15 snowboarding tracks. By going procedural, the new version hit the streets with a whopping 156 tracks from 27 majestic peaks across the globe.
To create all of these highly complex environments, under a very tight time budget, EA turned to Houdini to take this game to a whole new level. With Houdini, they were empowered with the ability to give the game a tremendous boost in playable content without having to embark on a staff recruiting spree.
The key was a special pipeline tool called Mountain Man which was designed to plot downhill snowboarding tracks using satellite mapping data. The Mountain Man pipeline allowed them to analyze terrain using digital elevation maps acquired from the NASA Advanced Spaceborne Thermal Emission and Reflection Radiometer (ASTER) project and then procedurally plot a variety of downhill tracks throughout that terrain.
Mountain from satellite mapping data | EA
Mountain Man tools functioned by first working with 2D meshes lifted into mountains according to the NASA data, eventually building volumetric datasets using various, progressively optimal representations. They went from using 2D Manifolds, to Volume Primitives, to hierarchical sets of Volume primitives, and lastly to completely non-uniform Point Cloud representations.
Once each track was generated, it could be tested automatically. “We were able to take source code from our back-end ballistics libraries, and use it within a Surface Operation” Caleb explains. “This allowed us to visualize the likely trajectories of players when they hit a ramp at a range of velocities by using the actual code that would define their motion within the game”.
Downhill track mapped out as volumes | EA
Mountain Man gave EA a solution that enabled them to automate track design work that would have otherwise been completed using hand-modeling techniques. This offered the team limitless potential to create all the tracks required in record time.
Once tracks were designed, the Environment Content Pipeline allowed the team to layout the visual elements required for the appropriate type of terrain. Essentially, the tool is a system used to determine the placement of trees and large rocks based on an analysis of the terrain and the application of predetermined rules.
The analysis took into account existing designer-created controls as well as rules set up to govern the placement of different types of objects. A level designer could specify an area of the terrain that might have a lot of trees, perhaps for an event such as an obstacle avoidance challenge. The tool placed these trees accordingly while taking into account any rules to determine which types of trees grow in the appropriate conditions.
Environment Content Pipeline | EA
Since SSX, EA has continued to leverage the benefits of procedural systems to create next generation game content. The key is that these artist-driven tools help the team deliver more with the resources that are already in place.
These stories show you some of the ways in which game studios have integrated procedural workflows into their pipelines. The idea of artists building tools to speed up repetitive tasks while retaining creative control over the output is a compelling one that is at the center of what Houdini is designed to do.
The software itself is built around a system of nodes, networks and assets. Every time you create something, you create a node that holds parameters which define its shape. When you modify the object, new nodes are added which define the changes being made. After a while, a network of nodes results which gives you a visual record of all of your actions. Many programs use construction history but it can bog down your computer and usually has to be deleted. In Houdini, this flow of data is efficient and can be left intact while you keep working. This promotes collaboration and re-usability because the know-how is retained with the file.
Procedural cable system by Magnus Larsson. To be featured in Vertex 3 by artbypapercut.com.
One fear is that a procedural approach will lead to a grid-like look that is boring for gamers. But this is not the case because artists can introduce randomization, scatter and noise, as well as direct artist intervention, to give a natural feel to the design. A true procedural solution includes this ability and ensures that your results feel organic.
Node networks can be shared with other artists and by changing the input geometry and parameters on the nodes, you can achieve a unique result. This sharing is facilitated in Houdini through the use of Digital Assets. A network of nodes can be collapsed into a subnetwork node and saved to disk as a Houdini Digital Asset. Desired parameters from the network nodes are promoted to the asset to create a high-level artist-friendly UI. This asset can be distributed throughout a studio’s pipeline for use by other artists. An asset can continue to be edited and refined and these changes are easily propagated to all scene files that reference the asset.
Procedural cable system by Magnus Larsson.
Houdini Digital Assets provide a library of solutions that work throughout a project or even between projects. Instead of reinventing the wheel each time a challenge presents itself, studios use existing assets and modify them to suit the new task. Side Effects even has an online portal called Orbolt where Houdini Digital Assets are shared within the wider community of Houdini artists. Some of these assets are freely available and others have a fee. The key is that studios using Houdini for the first time can leverage content and tools created by knowledgeable Houdini artists.
Procedural cable system by Magnus Larsson.
The next question is how can a pipeline built around Houdini Digital Assets be used to help artists working with game editors or other DCC applications such as Autodesk Maya? The answer is the Houdini Engine, which works behind the scenes to allow other applications to load and work with Houdini Digital Assets. Artists working in a host application modify the asset’s parameters to customize the output. Houdini’s procedural engine then “cooks” the asset and the results, which were previously only available to Houdini artists, are generated in the host.
Procedural track building system in Unity | ProTrack
Houdini Engine plug-ins are available for the Unity game editors and Autodesk Maya. Plugins for the Unreal game editor, Autodesk 3DS Max and Cinema 4D are in the works. Studios can also build plug-ins for their in-house software using the compact Houdini Engine API. For independent game makers, we have made the Engine technology available on the Unity Asset store and on our own website.
Also available on the Unity Asset Store are special ProTrack tools for creating procedural terrain, roads and props. This set of Houdini Digital Assets are a perfect example of the Houdini Engine being used to procedurally generate geometry with collision meshes inside the Unity game editor. It has a custom artist-friendly user experience which makes it easy to design and test race tracks. The game makers at IndiePro tools have created the perfect example of a game centric toolset which can meet the needs of many while always producing unique results creatively.
Procedural track building system in Unity | ProTrack
While the idea of procedural game art is appealing to many artists, the idea of learning these “technical” and “programming-oriented” tools can be a turn-off. What many people don’t realize is that the tools in Houdini are designed to provide a procedural framework that artists can work with. Nowhere is this more evident for game makers than the lessons available at Gametutor.com. The same minds behind the ProTrack tools by IndiePro have created a series of lessons designed to make learning procedural approaches easy for everyone.
Suspension bridge lesson | Gametutor
Combining Houdini, Houdini Engine, Unity and Substance Designer, a procedural texture generation tool that shares the same philosophies as Houdini, Gametutor provides lessons for beginner, intermediate and advanced artists and developers.
Houdini Engine lesson | Gametutor
Any game studio who wants to create more art without sacrificing creative control, should take a look at the procedural workflows offered in Houdini and the Houdini Engine. They offer a better way to make better games and contain costs. I always enjoy watching as a studio starts out cautiously then leaps forward once they feel this impact for themselves.
Procedural track building system in Unity | ProTrack
These are early days in our involvement in the game industry and I look forward to learning from you and evolving our technology to meet your future needs. Everyone asks about Houdini Engine working at runtime in their game and while we are not ready for that yet, the positive feedback we have received suggests that it is a clear direction for us to follow.
If you are going to GDC this year, drop by the Side Effects booth [#224] to learn more. We will be having a number of presentations by top studios such as Electronic Arts, Insomniac, Frima Studio, Microsoft Studios, and Ozone Interactive talking about Gametutor and IndiePro Tools.