Good Omens: The Devil is in the Detail

The VFX work for Amazon/BBC’s Good Omens six-part TV adaptation of Neil Gaiman and Terry Pratchett’s cult novel was done by Milk VFX in the UK.

Good Omens stars Michael Sheen and David Tenant

In the short series, the end of the world is coming, which means a fussy Angel and a loose-living Demon who’ve become overly fond of life on Earth are forced to form an unlikely alliance to stop Armageddon. But they have lost the Antichrist, an 11-year-old boy unaware he’s meant to bring upon the end of days, forcing them to embark on an adventure to find him and save the world before teatime.

Good Omens stars Michael Sheen and David Tenant who play angel Aziraphale and demon Crowley respectively. Along with Benedict Cumberbatch as Satan and Miranda Richardson, John Hamm and Jack Whitehall. The show has been described as what it would be like if Monty Python remade The Omen, and as such it often required bizarre and almost unimaginable visual effects.

We spoke to Milk Visual Effects co-founder and Good Omens VFX Supervisor, Jean-Claude Deguara. Milk VFX is an independent visual effects studio with locations in Cardiff, Wales and London, England. The company was launched in 2014. Milk VFX is known for creating complex and innovative sequences for high-end television and feature films. Milk VFX made 650 VFX shots across the 6 episodes, with a tight five-month post production turnaround for Good Omens. The Milk VFX team first got involved in the early stages of the production, pre-script, in Spring 2017, about two years before the final delivery.


The show opens in the first episode with the lush vegetation inside the Garden of Eden, seen as a walled compound inside a barren desert. Shooting took place around Cape Town, South Africa, with the desert scenes filmed in the sun-bleached Atlantis Dunes just outside the city.

FXG: Can you talk about sequences such as Garden of Eden? Were these primarily green screen or partial sets?

Jean-Claude Deguara: Previz for the Garden of Eden shot was created using Google Earth Studio. The exterior landscape of the desert and sky was a normal layered 2.5D matte painting projected back onto simple geometry and cards. Eden itself, consisting of the outer wall, interior terrain and vegetation was a full 3D build created in Cinema 4D.

We used several Mograph Cloners to randomly populate the interior with lush jungle and made heavy use of Arnold’s procedural system to keep the scene light and flexible. Final rendering was performed on our Arnold render farm and we passed off scene geometry, camera data and the rendered layers to Comp where they used Nuke to add in drifting haze and smoke, a traditional flock of birds and animated waterfalls to bring the shot alive. The main 3D asset was then re-used for other shots through-out the Eden sequence and augmented with more traditional 2D matte painted elements to add details in closer shots.

BTS on Day 85

FXG: What was the approach with large and complex models/rigs that were often not used in many shots?  For example, the Kraken, which is great but only seen briefly in the discussion about the whales? 

Jean-Claude Deguara: Many of the main VFX features such as the Kraken appear only once in the six part series as the story moves swiftly towards the apocalypse; so we had to strike a careful balance between delivering impact yet ensuring they were immediately recognisible and grounded in reality.

The Kraken pays homage to Ray Harryhausen and his work on Clash of the Titans. Our ambitious team worked to create the immense scale of the Kraken and take water simulations to the next level. The top half of the Kraken body comes up out of the water and we used a complex ocean / water simulation system that was originally developed for our ocean work on feature film Adrift.

The immense scale of the Kraken and Satan affects the animation for these characters significantly. With Satan towering at 400 feet tall and the Kraken being a similar size means that you have to animate them with great size and mass in mind in order for them to feel realistic and believable. It wouldn’t have suited those characters to animate them in a slow and lumbering manner. It’s a careful balance of animation and timing that needs to feel physically correct. If you were to animate them at a normal human scale they would feel ‘off’ and would not command the grand presence that we strove to give them on the screen.

For both Satan and the Kraken, texture wise, we had to be clever about UV space taking up a lot more UDIM’s than normal so we could dial up the detail in for when we get close up. The main challenge for Satan, as he was pretty much just red was making him look good and detailed in both really wide shots and extreme close ups without having different sets of textures. We mainly used Mari for textures but used a lot of vector displacement from zBrush, cavity maps and layers of micro bump and skin detail using software called Cronobo.

The main body of the Kraken was simpler as we knew we’d never be too close. He was done in the same way as Satan but without the extra close up detail. The tentacles surrounding him and on his head were all made high-res and needed extra detail when they are seen close up smashing against the windows seen from inside the fishing boat. What helped sell the scale was the water splashing around him from our effects team, the extra debris and seaweed over him and the established ship resting on his head.

We have incorporated Ziva into our pipeline, which ensured our rigging and modeling teams maximised the development and build phases in the time frame. For example, the muscle, fat and skin simulations are all solved on the farm, the animators can publish a scene and then the next day review the creature fx in dailies. As the Ziva simulations are an automated process, most of the creature fx work is at the front end, which would be the building of the muscle and fat rigs, about 90% of the muscle simulations solve correctly on the farm this means the creature fx artists are only working on the 10% which are problematic making us more efficient which is very important when working to a tight deadline.

We use our proprietary software CreatureTools for rigging all our creatures. It is a modular rigging package which allows us very quickly build animation rigs for previz or blocking and we build our deformation muscle and fat rigs in Ziva VFX. It means the animators can start work quickly and there is a lot of consistency between the rigs.

Satan used Mari for textures with vector displacement from zBrush, cavity maps and layers of micro bump from Cronobo.

FXG: How complex was it to conceptualise script elements from the book such as Hastur in the phone answering machine coming out via the maggots? Frankly, it seemed like these would have been almost impossible to storyboard or visualise – but clearly not!

Jean-Claude Deguara: With the sheer volume and variety of work – with 650 shots and a five-month postproduction turnaround, and a crew of 60, it was key to be in constant conversation with Neil and Douglas throughout the entire process –both in pre and postproduction and during the shoot. They were readily available to us throughout so we could always ask them questions and keep the team moving forward. We had constant access to Neil, which was, quite frankly, wonderful! There was never a question that couldn’t be answered! And he would often quote from the book to advise us creatively as we planned and developed the VFX. It also meant we were able to show him concepts the team were developing in the studio while I was on set in South Africa with him.

The planning and development time in pre-production was essential. During pre production we broke down all six scripts with Douglas Mackinnon to plan the methodology for the VFX; working out and refining how to best use VFX to support the storytelling. It was a very collaborative process with Douglas – often we would work with him to decipher and work out how to translate Neil’s vision in words to life on screen and what was workable.

One of the key character transformations in the story consisted of millions of maggots pouring into a room in a Call Centre to reveal the demon Hastur – who has travelled via the Internet and emerges via the maggots from the mouthpiece of a call centre phone microphone! In one continuous shot we had to find a way of seeing the maggots pile up into huge squirming mounds, engulfing a call centre operator, and then morph into the Hastur’s shape, leaving none behind after the final reveal.

The challenge for our effects team was therefore in both the shot choreography and the technical difficulties of how to simulate so many maggots that looked believable at distance and close-up. In order to seamlessly blend between two live action plates we made sure that the mounds of maggots filled the screen, allowing for a CG camera transition at this point. The shape and timing of the mounds was incredibly important and so we decided to use an animated surface that could be sculpted by hand and keyframed to hit exact beats. This later became a collision surface for a dynamic top layer of maggots. The simulation was initially developed as sets of connected rigid body cubes, with the head of each maggot being driven by an oscillating force. This gave very accurate interaction between maggots but was hard to reach the number on-screen that we needed. To work around this we simplified the calculation by making each maggot a single hair. In order to efficiently render all of this geometry with sufficient detail we instanced rigid slices of the full resolution asset onto the hair curves. This enabled us to work with a small number of unique slices that were instanced millions of times, rather than millions of uniquely deforming maggots.

BTS while filming

FXG: How did you approach the hellhound that is released from hell and finds the Antichrist, Adam, in the forest ?

Dog : (Hellhound)

Jean-Claude Deguara: Beelzebub (Anna Maxwell Martin) sends the Antichrist (Adam) a giant Hellhound. By giving the giant beast a scary name, Adam will set Armageddon in motion. In reality, Adam really just wants a loveable pet and transforms the Hellhound into a miniature hound called, simply, ‘Dog.’ A Great Dane performed as the Hellhound, photographed in a forest location while a grip kept pace with a small square of blue screen. We tracked the live-action and performed a digital head and neck replacement. Sam Lucas modeled the head in Autodesk Maya, matching the real dog’s anatomy before stretching its features into something quite hellish and grotesque. A final round of sculpting followed in Pixologic ZBrush, with artists refining 40-odd blend shapes for facial expression.

Once our rigging team got the first iteration of the blend shapes, they passed the asset off to animation for feedback. They then added an extra level of tweakers around the lips. In the creature effects phase, they used Ziva VFX to add soft body jiggle around the bottom of the lips and jowls.

FXG:  In Eps 5 and 6 : Could you outline the approach to Crowley (David Tenant) driving through the M25, which is on fire?  Some of this wasn’t VFX I assume, but at least some must have been such as when Crowley gets out of the flaming car at the airbase ?

Jean-Claude Deguara: The digital Bentley featured in scenes showing the car tearing around London and the countryside at 90 miles per hour. The production located a real Bentley 3.5 Derby Coupe Thrupp & Maberly 1934, which we photo scanned and modelled in intricate detail. We introduced subtle imperfections to the body panels, ensuring the CG Bentley had the same handcrafted appearance as the real thing and would hold up in full screen shots. Ultimately David Tennant’s Crowley drives through hell fire on the M25, it catches fire and burns continuously as he heads towards the site of Armageddon.

On location

To achieve this a real Bentley was set on fire (don’t worry it was just a shell!) and that footage was carefully used for reference for the animation and effects with a fair amount of time spent on matching its shapes and speed of movement. The CG Bentley was tracked into the plate and its geometry used as a fuel source for the fire in fx. The speed of the flames was critical in avoiding a liquid feel and helped to achieve the required sense of energy and liveliness. Fast moving noise travelling along the length of the flames added to the flickery effect. We chose not to emit much smoke so as to not overwhelm the live action and give it a subtle fantasy look.

Fast moving objects, such as the Bentley, are always a challenge when simulating fire as the distance travelled between frames requires a huge number of substeps in the simulation to create a smooth look. In the case of the moving Bentley our effects team, lead by James Reid, had the additional problem of the collision object moving through the emitted fire volume and erasing itself. To work around this therefore, they removed a proportion of the car’s translation from its original animation and created a much more manageable simulation environment. This translation was later restored before rendering. In addition to the technical challenges, it was important to have created a robust generic setup to cope with the sheer amount of fire shots with minimal per shot tweaking.

The Wall of Fire itself posed an unusual challenge in that it had to resemble still photo reference of a napalm strike, whilst maintaining a look of constant heat and size. To achieve this effect we created a detailed explosion simulation and spent time on building this into a loopable asset. This was done by animating the object’s scale to give a consistent size and by blending the final voxel values back to those near the start of the simulation. We were then able to randomly offset the result in time and instance it across an object that could be placed and sculpted to define the silhouette of the Wall of Fire per shot.

When Crowley gets out of the burning car at the airfield, production filled the real car with smoke and our effects team added CG fire and burning textures to the exterior of our CG car, which intensified as he continued his journey.

The main challenge was the five-month postproduction turnaround for our 650 shots. It was important to have strong crew across all VFX disciplines as they worked together on the key sequences and creatures concurrently (including the Kraken; Satan; the Hellhound; the small, portly demon Usher who meets his demise in a bath of holy water; and the infamous snake in the Garden of Eden). So we were starting in tracking on one, in effects on another, and compositing and finishing everything off on another. It was a big logistical challenge but certainly the kind that we relish and are well versed in at Milk!