The Last Guardian: Procedural Animation

Below is a write-up of GenDesign animation director Masanobu Tanaka’s CEDEC (Computer Entertainment Developer’s Conference) 2017 presentation on the procedural technology of Trico in The Last Guardian. The presentation was in Japanese so I’ve provided a rough translation of elements pertinent to game animators by deciphering google-translate write-ups in the Japanese press with the aid of the slide visuals.


Mr. Tanaka began working at Sony Interactive Entertainment Japan Studio in 2002 and later joined Gen Design as a launch member of in 2013. Gen Design is the studio comprising Fumito Ueda and staff involved in the development of Ico and Shadow and the Colossus. Tanaka was responsible for the animation of Shadow of the Colossus, and The Last Guardian as animation director and lead game designer.

The challenging characteristics of Trico were four-fold:

  1. Animalistic motion
  2. Quadruped walking
  3. Large body-size
  4. Feathers

Starting With AI

The technique adopted to overcome these problems was procedural animation – every animation frame processes calculations from AI (Artificial Intelligence) → animation → procedural animation → physics → fur → rendering. AI is important as the starting point.

To illustrate the AI he played a movie showing Trico reacting to the boy ‘s call then finding, approaching and finally eating barrels. According to Tanaka, the structure was very simple. On deciding upon a point-of-interest → move to interest → action-decision. The purpose of AI is to convince players that Trico had a mind – so it was important for Trico to grasp the current situation THEN make decisions.

In order to determine a point-of-interest object, an object priority level is set for each object. Trico is interested in things with a high level first. When Trico takes action with the object, the priority or “level of interest” of the object changes, and the interest shifts to other things.

To decide upon an action-decision, the space around Trico is the key factor. For example, when there is a barrel, choose “eat”.  If there isn’t enough space, choose “raking out with forefoot”. When the head is caught, choose “cry”.

Realistic Motion Via Corrective actions

Next up, Tanaka focussed on procedural animation (PA). His description of PA was any motion that was automatically generated using mathematical expressions, scripts & pre-entered data, etc. According to Tanaka, Trico never uses fully automatic generation saying the character is designed with the idea of ​​always adjusting the original animation. As an example of PA in the past work he showed foot IK from Ico and the horse’s spine from Shadow of The Colossus. Trico’s utilisation of PA was significantly improved compared to Shadow of The Colossus.

Subsequently introduced were three typical PAs: walking and attitude, look-ats and eating.

Walking

Regarding walking, the curve of the moving body is determined according to Trico’s spine, and when turning at a steep angle the path is processed in a slightly exaggerated path. In determining the foot-landing point in the movement, it is calculated at the moment the foot is raised.

Avoiding objects that can not be stepped on and trajectory correction around obstacles is performed such that the legs are not displaced, as the walking action is pre-determined. Furthermore, processing that considers the ceiling height is also added to make Trico duck.

Look-At

As for the look-at, their initial experiments were too machine-like. As such, as a new method where only the head was fixed on a target was introduced. With that, the team could realize the snake-like movement of the neck afterwards to maintain realism. Furthermore, by making the axis of rotation as close as possible to the tip of the nose it gave a more impressive appearance of a living, breathing animal.

Also, an important function of the look-at was for the head to detect and avoid walls and similar occluders. If not considered, catching the head on the wall and pillars etc. interfered with the AI’s line of sight.

Eating

Catching and eating a barrel was the closing focus of the PA section. The barrel itself is controlled by a physics engine, and Trico readies to catch the barrel when it enters a catchable range, aiming and crushing it between the upper and lower jaws. When thrown, Trico predicts the arc of the throw so aims at where the barrel will be in the future. On successfully catching, the barrel actually travels down the back of the throat.

A Sense of Presence With Fur

The last section of the session, the fur technology used to move Trico’s feathers was introduced. Displaying fur is traditionally divided into two methods: the cheaper Shell (as used in Shadow of The Colossus) and more expensive Fin method. For Trico they adopted the Fin method, whereby the calculations treat each feather as strips and processes them individually.

As for being affected by wind the feathers’ parameters adjust according to the wind strength. The values change so that they move easily if the wind is weak, but are stiffer when the wind is strong. This gives the impression that Tricho’s feathers stand upright only in strong winds. Also the wind itself implements a wave-like motion in 3D space. Additional movement is generated when the feathers come in contact with each other.


Find the original full Japanese presentation slides here, with translated slides here, (translated by @brando_themando).

Japanese write-ups found on Famitsu, DengekiOnline and GameWatch.