Alice

artificial life crowd engine

ARTIFICIAL LIFE CROWD ENGINE

ALICE stands for Artificial Life Crowd Engine. Our in-house crowd software was created originally for Troy in 2004. ALICE enables artists to manage crowd behaviour, motion clip editing and blending, and customised scripting for large groups of agents, and is one of MPC’s flagship software products.

Using ALICE, the Crowd team can tackle everything from a couple of agents to several hundred thousand. Crowd will use a mix of motion capture data and animation clips to inject life into a given scene and have previously used the software to to simulate huge armies, flocks of birds, herds of mammoths, swarms of insects, zombie hordes, space battles and many other types of scenarios.

ALICE stands for Artificial Life Crowd Engine. Our in-house crowd software was created originally for Troy in 2004. ALICE enables artists to manage crowd behaviour, motion clip editing and blending, and customised scripting for large groups of agents, and is one of MPC’s flagship software products.

Using ALICE, the Crowd team can tackle everything from a couple of agents to several hundred thousand. Crowd will use a mix of motion capture data and animation clips to inject life into a given scene and have previously used the software to to simulate huge armies, flocks of birds, herds of mammoths, swarms of insects, zombie hordes, space battles and many other types of scenarios.

CROWD LAYOUT AND MOTIONSIM

At the core of ALICE sits MotionSim, an advanced animation engine that allows ALICE to act not only as a crowd layout and choreography tool, but also as a sophisticated motion synthesis tool, combining animation from different sources using a variety of different operators. These operators are the building blocks in arbitrarily complex node trees which can either be created and used in the context of a crowd sim, or as an entirely separate process to augment the existing motion library with reusable clips.

At the core of ALICE sits MotionSim, an advanced animation engine that allows ALICE to act not only as a crowd layout and choreography tool, but also as a sophisticated motion synthesis tool, combining animation from different sources using a variety of different operators. These operators are the building blocks in arbitrarily complex node trees which can either be created and used in the context of a crowd sim, or as an entirely separate process to augment the existing motion library with reusable clips.

Motion Synthesis

The goal of motion synthesis is to create a new piece of animation by combining existing motion, and/or any of the physical or procedural techniques described above. In MotionSim there are 4 main tools for combining motion from different sources: Transition Blending creates a smooth transition from one action to another. Merging provides a weighted average between multiple inputs, so a very energetic run can be combined with a normal one to produce a run of slightly elevated energy. Additive Blending can, for instance, compare a run with a limp to a normal run, and then extract the limping part of the action and add it to a different walk. Clip Splicing fuses together a hybrid of two different clips at a certain point in the skeleton. For instance the top half of a person fighting on the spot can be combined with the bottom half of someone edging backwards to make someone who is losing the fight.

The goal of motion synthesis is to create a new piece of animation by combining existing motion, and/or any of the physical or procedural techniques described above. In MotionSim there are 4 main tools for combining motion from different sources: Transition Blending creates a smooth transition from one action to another. Merging provides a weighted average between multiple inputs, so a very energetic run can be combined with a normal one to produce a run of slightly elevated energy. Additive Blending can, for instance, compare a run with a limp to a normal run, and then extract the limping part of the action and add it to a different walk. Clip Splicing fuses together a hybrid of two different clips at a certain point in the skeleton. For instance the top half of a person fighting on the spot can be combined with the bottom half of someone edging backwards to make someone who is losing the fight.

Motion Capture/ Keyframe Animation Reuse

ALICE accesses a searchable, catalogued library of motion capture and animation clips that can very rapidly be deployed by artists into shots, either on an individual per-character basis, or in groups.

ALICE accesses a searchable, catalogued library of motion capture and animation clips that can very rapidly be deployed by artists into shots, either on an individual per-character basis, or in groups.

Choreography

In order for artists to choreograph or direct the characters, there is a growing set of modules which implement different behaviours or functions which are in turn controlled by a set of parameters that the artist has access to. Choreography modules include Curve Following (the characters follow a curve defined in space), Target Goal (the characters navigate a path of their own to reach a given target), Object Avoidance (the characters avoid specified objects), and Area Of Influence (a region is defined in which the character changes from one specified behaviour to another). More than one of these modules can be applied to a single character at a time, with any conflicting motivations resolved by deeper parts of the system.

In order for artists to choreograph or direct the characters, there is a growing set of modules which implement different behaviours or functions which are in turn controlled by a set of parameters that the artist has access to. Choreography modules include Curve Following (the characters follow a curve defined in space), Target Goal (the characters navigate a path of their own to reach a given target), Object Avoidance (the characters avoid specified objects), and Area Of Influence (a region is defined in which the character changes from one specified behaviour to another). More than one of these modules can be applied to a single character at a time, with any conflicting motivations resolved by deeper parts of the system.

Group Behaviour

Once you get a large number of characters together, they need to be seen to interact with each other. The group behaviour modules are designed for exactly this purpose. This includes Collision Avoidance and Flocking, where members of the group will try to stay close to each other, as in a flock of birds.

Once you get a large number of characters together, they need to be seen to interact with each other. The group behaviour modules are designed for exactly this purpose. This includes Collision Avoidance and Flocking, where members of the group will try to stay close to each other, as in a flock of birds.

Physics API

MPC’s PAPI (Physics API) is integrated into MotionSim in the form of an operator, allowing rigid body dynamics to be combined with motion from any of the other animation sources that ALICE uses. This has a number of specific applications, for example when a character that has turned dynamic and, say, fallen on the ground, can use the Best Match approach to find a clip that will allow it to stand up again.

MPC’s PAPI (Physics API) is integrated into MotionSim in the form of an operator, allowing rigid body dynamics to be combined with motion from any of the other animation sources that ALICE uses. This has a number of specific applications, for example when a character that has turned dynamic and, say, fallen on the ground, can use the Best Match approach to find a clip that will allow it to stand up again.

Procedural Animation

Additional modules have been written to alter character movement in very specific ways. For example, if the existing run animation isn’t fast enough to allow cg characters to keep up with the live action characters in the filmed plate, the artist can essentially stretch the animation to lengthen the strides.

Additional modules have been written to alter character movement in very specific ways. For example, if the existing run animation isn’t fast enough to allow cg characters to keep up with the live action characters in the filmed plate, the artist can essentially stretch the animation to lengthen the strides.

Exodus: Gods & Kings I Red Sea Sequence 1 Plate Exodus: Gods & Kings I Red Sea Sequence 1 Exodus: Gods & Kings I Red Sea Sequence 2 Plate Exodus: Gods & Kings I Red Sea Sequence 2 Exodus: Gods & Kings I Red Sea Sequence 3Plate AliceGallery3 World War Z Jerusalem sequence: Plate World War Z Jerusalem sequence: Final Shot