-Fortress Assault, a Golaem Crowd* demonstration by Axel Domenger for SIGGRAPH 2012.
Crowd simulation is one of the most challenging tasks in computer animation—so challenging that crowds in virtual worlds are rare. Long accustomed to these crowdfree worlds, audiences today don’t notice the absence. At the same time, computer animation and visual effects (VFX) have become incredibly sophisticated, enabling stunning realism in those worlds. Creating scenes with legions of virtual extras whose every move could make or break the illusion has finally become easier thanks to technological breakthroughs.
Whether filling scenes with opposing armies or throngs of people shuffling to work during rush hour, animation and VFX teams need tools for creating realistic virtual crowds that can interact with their surroundings in a believable manner. For example, they must follow undulations in the landscape, avoid obstacles, and behave like a real cast of thousands, all without the artist needing to manually choreograph a horde of individual characters. Dwindling budgets and compressed timelines are adding further pressures to this complex task.
Golaem, a software company focused on bringing life to digital worlds, is up to the challenge. “Evolution favors simplicity and so do we,” said Michaël Rouillé, Golaem’s vice president of engineering. “Our goal with Golaem Crowd* is to provide the VFX and animation industries with high-performance, easy-to-use tools for populating 3D worlds with visually compelling and believable virtual humans.”
Golaem Crowd is a multi-threaded plug-in for Autodesk Maya* that taps into the power of the Intel® Core™ processor family to enable a streamlined workflow for simulating crowd scenes. With Golaem Crowd, content creators can easily produce a virtual cast of thousands, controlling overall crowd behavior in which the appearance and motions of individual characters are visually believable.
Through its close collaboration with Intel, and by using a variety of Intel® software development tools to optimize code, Golaem has been able to achieve awesome near-perfect scaling, boosting playback frame rates for pre-visualization and delivering faster render times both on workstations and in the cloud.
From Research to Reality
Founded in 2009, Golaem is the brainchild of Stéphane Donikian, a researcher at INRIA, the French National Institute for Research in Computer Science. Golaem currently employs a full-time staff of 13, eight of whom are focused on R&D. The fruits of their research include technologies for realtime animation and navigation, and dynamic simulation of both the behavior of the crowd as a whole and of each individual in the crowd.
SNCF—France’s national railway— was Golaem’s first customer. SNCF used Golaem’s crowd technology to simulate and optimize the boarding and disembarkation process of passenger trains in Paris and its suburbs. “Today SNCF uses our technology to simulate various situations—for example, rush hour, impolite passengers, and passengers with impaired mobility,” Rouillé said.
Intel® Hardware Enables Innovation
A few years ago, computing a thousand-character shot created with Golaem Crowd would have been a completely non-interactive process, taking overnight, a day, or longer. “Thanks to technological advances, a similar crowd simulation can be computed in real-time on a desktop PC,” Rouillé said. “The availability of multicore Intel® processors brings a significant performance boost to our customers.”
Another boost comes from the proliferation of 64-bit OSs. “Thanks to Microsoft Windows* 7 64-bit and Linux* 64-bit, we can take advantage of the 16 GB of RAM commonly available on our users’ workstations,” Rouillé said. “If we can fit all the data for a 50K character crowd simulation in RAM, we do not have to rely on out-of-core algorithms to compute the crowd simulation in multiple passes. This gives us another huge performance boost, because we do not need to access the hard drive as often as when we’re using a 32-bit OS.”
Keeping the Artist in Mind
Ample processing horsepower accelerates rendering and pre-viz, but to speed the creative process, Golaem was selective in the virtual human technologies it built into Golaem Crowd.
“We chose key technologies that would allow artists to focus on creativity and forget about mechanics,” Rouillé said. These technologies include:
• Animation engine for automatic motion retargeting and motion blending.
• Navigation engine for automatic pathfinding and collision avoidance.
• Behavior engine for control over virtual extras; starts and stops animation using environment-aware triggers.
• Procedural rendering plug-ins for V-Ray*, mental ray* renderer, RenderMan* rendering technology, and RenderMan-compliant renderers.
In the VFX and animation market, Golaem encounters as many workflows and creative processes as there are users. To accommodate these variations, Golaem identified common steps that could be implemented in any production workflow.
“We found that most studios build scenes incrementally, step by step, starting with asset creation, followed by placement, animation, then simulation, and finally rendering,” Rouillé said.
Golaem Crowd respects this iterative process, and each tool in Golaem Crowd is paired with one of those steps. “We designed Golaem Crowd to help artists avoid repetitive or cumbersome tasks, giving them more time to focus on what gives real value to the shot. The goal is to make every dollar spent visible on the screen.”
Innovation through Collaboration
Populating the Fortress Assault demonstration using Golaem Crowd* 2.0.
According to Rouillé, customer need— based on audience expectations—in the VFX and animation market is another driving factor in Golaem’s software development process. “In a highly competitive market, a studio needs to innovate to bring the artists’ ideas to screen in less time, with smaller budgets. Our job is to bring innovation to the table and focus our R&D where it’s most needed. We know that our goals are ambitious and that the best way to achieve them is through collaboration with the right partners.”
Whether they’re producing animation and effects for episodic television, feature films, or commercials, “Few have the time or budget to develop tools inhouse,” said Rouillé. “Also, most studios don’t have time to learn how to use complex software or integrate it with their existing pipeline.”
To hasten development and keep training costs down, Golaem chose to integrate directly with Autodesk Maya, which Rouillé thinks of as “the artist’s Swiss Army knife.” Rouillé also felt that Maya’s flexible architecture was ideal for creating scripts and writing plug-ins to help increase efficiency and customize features.
Raising the Bar Again
Golaem Crowd 2.0, due for release in summer 2012, will introduce new features and enhancements designed to make creating complex crowd shots, such as battle scenes and urban population simulation, easier than ever.
• The Behavior editor makes it easier to build characters’ behaviors.
• Group navigation allows characters to be assembled by group (or in formations) that are navigational direction-enabled.
• The physics can simulate rag doll behavior, so characters fall realistically after an impact or an explosion.
Achieving Breakthrough Performance
Golaem customers were also asking for increased simulation performance, which is when Rouillé turned to Intel. “Golaem Crowd 1.0 simulations were CPU-bound,” he explained. “The next logical step was to scale on multi-core processors, so I looked for a partner to help us achieve a holy grail—parallelism; great scaling with a minimum of effort on our part.”
Golaem lacked the tools and expertise to quickly identify where to apply its parallelization efforts. “I have solid experience in code parallelization dating back to SGI architectures,” Rouillé said. “We did our homework by reading on the subject, but nonetheless we did not have the resources for a trial-and-error approach.”
Working with Intel allowed Golaem to fully exploit the potential offered by Intel multi-core processors.
“We achieved a huge performance boost for Golaem Crowd 2.0—a 15x improvement over Golaem Crowd 1.0 when run on Intel® Core™ i7 processors. When run on the 3rd generation Intel® Core™ processor family, performance will improve even more.”
Golaem used two Intel software development tools: Intel® Threaded Building Blocks (Intel® TBB) versions 2.2 through 4, and Intel® Parallel Studio XE, which includes Intel® VTune™ Amplifier XE and Intel® Inspector XE. “Intel TBB gave us cross-platform atomic operations, thread-safe containers, threads, and thread-locking mechanisms as well as multi-thread allocators in a solid package,” Rouillé said.
Intel VTune Amplifier XE helped identify and resolve performance bottlenecks. “The tool gives reliable performance reports through hardware-based sampling that we could compare with blueprints at each improvement and thus measure the impact of any modifications. Furthermore, system-wide, event-based sampling gave us precious information on cache misses in our code. It was an eye-opener for us.” Rouillé added, “Intel Inspector XE saved us weeks of time tracking down subtle errors in our parallel design implementation and, as an added bonus, pinpointed minor memory errors in legacy code.”
How did Intel® tools accelerate Golaem’s time-to-market? “Some years ago, I had to write a library similar to Intel TBB for a cross-platform distributed 3D engine. It took me three months to code and debug the whole thing,” Rouillé said. “With Intel TBB, the guys writing our CPU code provided me with optimized code that I did not have to develop or maintain for critical system services, so I could focus my developers on coding innovations in our key technology.”
When optimizing its code performance, Intel VTune Amplifier XE eliminated the need for Golaem to include profiling code in each function or to guess which functions to optimize. In addition, Rouillé said, “The tool is fast enough for us to use on a daily basis without relying on our own performance-analysis layer.”
Future Gazing: Mobile and Beyond
Rouillé recognized that 3D artists want to take advantage of the latest mobile computing platforms to create whenever and wherever creativity strikes them. “In the near future,” he said, “we must be able to compute crowd simulations remotely and send back the results to our customers, either as a software service that we host or as a service they run remotely.”
Mobile computing devices already play a role in Golaem’s development workflow. “We have a small development team and our customers are spread across the globe, so at any given time one-third of our engineers are abroad. We can access our planning and lists of to-dos, bugs, and tasks from any location, even using a smartphone. We record and keep track of most information in the cloud, so our developers can readily access their code and our servers at any time,” Rouillé said. “The next step will be to significantly improve the remote code-compilation time.”
According to Rouillé, Autodesk chief executive officer Carl Bass foresees that in two or three years all Autodesk products will be only used online. However, Marc Petit, Autodesk’s senior vice president, told the CG Channel that Autodesk Media & Entertainment’s transition to online services will be challenging due to the high bandwidth requirements. “Personally, I believe the cloud will become invisible to users, a way to store and access data worldwide,” Rouillé said. “Golaem does its part by reducing the bandwidth requirement with our procedural rendering techniques because we do not transfer all of the geometry, but rather we use procedural primitive requests that generate the geometry on-the-fly.”
Rouillé also envisions new characteranimation control modes, powered by advances in motion-sensing technology such as Microsoft Kinect* or a Vicon motion-capture system. “I think we’ll be able to use such a system to directly control specific characters’ movements in a crowd simulation, which will help artists and producers pre-visualize a desired shot.” Rouillé continued, “Being a plug-in to Maya gives us access to the user experience and improvements Autodesk develops. Nevertheless, our own user experience could be improved by allowing artists to draw navigation flows or character placement using finger gestures on a touch screen.”
Where’s all of this headed? Rouillé is looking forward to giving his customers the ability to simulate hundreds of thousands of virtual characters in real time, complete with enhanced realism that accurately reflects the complexities of human behaviors. “We’re a long way from being able to deliver characters that can portray simulated emotions, fatigue, memory, and perception,” Rouillé said, “but we’ll get there by harnessing the power of innovations such as Intel® Many Integrated Core architecture and the cloud.”
Today, Intel® hardware and software are driving innovation at Golaem, enabling them to achieve higher playback frame rates for pre-viz and faster render times on workstations or in the cloud—all of which gives VFX and animation studios the ability to save both time and money while delivering impressive results.
For more information on Golaem Crowd, go to: www.golaem.com/crowd
Mikros Image: Crowd Control For Nissan Using Golaem Crowd*
Mikros Image is an Academy Award-winning studio dedicated to high-end digital visual effects. Since integrating Golaem into their pipeline and writing a custom plugin for Solid Angle’s Arnold* renderer using the Golaem SDK, the studio has used Golaem Crowd on numerous commercial projects, including a 60-second commercial spot for the Nissan Juke. Mikros created a CG stadium and used Golaem Crowd to fill it with 5,000 to 12,000 virtual extras, depending on the shot. A tight production schedule added to the pressure, but in about 10 days the team was able to get up and running with Golaem Crowd, set up the shots, and prep all of the assets, including clothes, shaders, and motion.
Visual effects (VFX) producer Christophe Huchet and VFX artist Guillaume Parra said, “Golaem Crowd enabled us to handle the animation cycles very easily. We were also able to introduce variety in the way each character decided to move. The Asset Manager tool made choosing the type and color of the characters’ clothes very simple. For character placement, a particle system localized each seat in the stadium, so all we had to do was map character instances onto the particles.”
About the Author
Before signing on as one of the writing muses for RH+M3, Dominic Milano spent over 30 years in print, online, and event media production, working on DV magazine, GameDeveloper magazine and the Game Developer Conference, Keyboard magazine, magazine, and more.