Having delivered visual effects for all three previous seasons of The Witcher (two of which were BAFTA award-winning), Cinesite has once again stepped up to create terrifying creatures and spectacular battles for season 4.
After the shocking, Continent-altering events that closed out season 3, Geralt, Yennefer and Ciri are faced with traversing the war-ravaged world and its many demons apart from each other. Production VFX supervisors Richard Reed and Sara Bennett worked closely with our teams in London and Montreal, to deliver sequences overseen by Cinesite’s in-house supervisors Zave Jackson and Nathalie Girard.
Reprising the Kikimora
The London team had previously created the opening of the very first Witcher episode back in 2019, which introduced The Witcher series to the world with Henry Cavill as Geralt. In that sequence, Geralt fought and killed a spider-like Kikimora monster in a dark swamp. The new season opens with a reprise of the same sequence, introducing new Geralt, Liam Hemsworth, fighting the same creature in an alternative version of the same battle. It’s a clever storytelling device which presents a story within a story, as the battle is described by an adult to a group of children, cutting back and forth between them and the action.
Cinesite dusted off our Kikimora to give the sequence a new lease of life, intensifying the battle by creating four smaller adolescent Kikimoras for Geralt to fight simultaneously, having killed the adult.
Filmed at Longcross Studios in the UK, a large set was dressed with full sized trees, lake and vegetation. The adult Kiki battle takes place in the lake, with Geralt riding its back to drive his sword down through its head. The production built a hand operated blue screen armature for Hemsworth to sit on, which provided a foundation for the capture of his performance. Additional movement was added digitally, along with the creature, replacing the actor’s legs in some shots, for increased dynamism.
The Kikis are humanoid-arachnid creatures, with grotesque heads, spider-like legs, and segmented abdomens. Their lean, anatomically detailed bodies have visible ribs, tendons, and underlying musculature. Creature FX groom played an important role in establishing their unique silhouettes — with dense, needle-like hairs catching the light and responding to movement. The CFX team also created muscle and skin simulations to ensure the surface anatomy felt alive, sliding and shifting believably over ribs as Geralt climbs onto the large Kiki’s back, with tendons and muscles flexing at precise moments.
FX were created using Houdini fluid simulations for blood and splatter. The early part of the fight takes place entirely in the lake, so a full Houdini water simulation was also required to recreate the water surface and its convincing interaction with the Kikimora, which having been killed slowly sinks, leaving concentric ripples on the surface of the lake.
Although the Kikimora resemble spiders in some respects, their movement is much heavier. The Kiki young are nimbler than the adults, with an additional leg joint to aid that movement, but they do not have the lightness associated with arachnids. Therefore, while real world spider motion was a useful reference, it could not be directly transferred to the animation, adding to the challenge of creating bespoke movement and mannerisms.
The Young Kikimora
Designing the four smaller Kikis was a task overseen by Cinesite Head of Assets Maddie Scott-Spencer.
Starting with reference art supplied by the production, anatomical adjustments and characteristics were introduced to distinguish them from the adult, adding extra fangs, texture, patination and Chelicera (claws dangling beneath the throat). A size reference chart was created with the young Kikis about a quarter of adult sized, and about the same height as Geralt (at 6’4) if they were standing upright on their hind legs; although small, they needed to be convincingly formidable opponents. The youngest (baby) Kiki is significantly smaller, only coming up to Geralt’s knee.
Unlike the adult, the younger Kikis are also blind. This shaped their behaviour and movement, with them sniffing the air, sometimes pausing, seeming to sense their environment and working together as a coordinated pack.
Geralt’s Magic
As the four Kikimora simultaneously attack Geralt, he calls on his Quen shield for protection, impaling the youngest creature with his sword inside the shield as the others continue to attack. The Kikis’ interactions with the Shield surface cause ripples and displacement in its energy surface. The animation caches for each of the Kikis were used in Houdini to drive a series of FX passes – these were passed to the compositing team to aid in creating the look for this shield surface disturbance.
Inside the shield, Geralt uses Igni, a Witcher fire channelling sign, to blast fire down his sword blade, which is impaling the baby Kikimora. Although his shield is powerful, Geralt is unable to hold it for long. As the sword’s heat builds it releases, causing an explosive shock wave of smoke FX and caustic tendrils – magically lit remnants of the Quen shield which momentarily disperse the fighting Kikis. Cinesite produced concepts of how that shield explosion would look before developing the look further using a Houdini FX artist and comp.
The glowing steel sword was designed as an active light source within the scene. During the sequence where Geralt cuts into a Kikimora’s head, an internal light pass was added to simulate subsurface scattering, briefly revealing veins and blood beneath the surface. On set, Liam Hemsworth used a practical sword fitted with LED strips to provide accurate lighting reference and interactive illumination on both Geralt and the creatures. The sword’s warm, orange glow was inspired by heated metal in forges, with patches of varying intensity and subtle surface imperfections to create a realistic, uneven heat distribution along the blade.
Early Visualisation
With the younger Kiki battle taking place on the riverbank, careful consideration needed to made for the terrain, with each clawed foot looking planted and believable within the environment. In shots with all four Kikis, 32 legs needed to be animated, along with FX environment interactions – this made them complex to choreograph and to manage. Early visualisation was created, before the sequence had even been filmed, by breaking down the production’s reference QuickTime into shots and making rough 3D tracks in Nuke with a colour coding system for the four creatures in still frame poses. Stunt visualisation also informed this process, with performers standing in for the eight-legged creatures.
This process enabled the team to answer fundamental questions about choreography at an early stage, as well as providing an opportunity to explore which poses and silhouettes were the most successful for describing the behaviour of the young Kiki characters.
Beach Showdown
Another storytelling sequence reprising a previous season 3 battle follows the Kikimora, with Geralt and Vilgefortz fighting on a beach near Aretuza. This gave us an opportunity to revisit more of Cinesite’s creatures, raising the threat level against Geralt as we briefly glimpse the amphibious Aeschna, airborne Chernobog and deadly Basilisk, all preparing to attack. Cinesite created other, invisible and magic related visual effects throughout this newly re-imagined battle.
Crafting Yennefer’s Magic
The Montreal team took on a spectacular magic duel between Yennefer and Vilgefortz for a later episode, designing and creating the bright energy streams connecting the two in their desperate battle for survival. The different sources of their magic present in unique looks for each character.
Designing a fresh aesthetic and colour scheme for Yennefer’s magic shows that she is unleashing her full power in a way not seen before. VFX supervisor Nathalie took reference from Yennefer’s magic and associated eye colour changes from previous seasons, to develop a palette of purple and pink tones. Multiple strands make up her energy stream, with one labelled “the ribbon” by the team in reference to its light, flickering movement. Other strands, created using a combination of FX and compositing, had a range of characteristic movements, combining and interacting to look like dynamic, living light sources. In close-up shots of Yennefer struggling under the force of unleashing her surge of energy, subtle flares were added to integrate the magic into the plate.
A Darker Substance
In contrast to Yennefer’s pink tones, Vilgefortz’s darker power manifests in a black, tar-like substance which oozes out of his storm of sorcery. With examples from previous seasons illustrating his disciples’ power rather than his own, designing a look for his magic would also be something that required a fresh approach.
Vilgefortz’s dark energy was reimagined as black magic, projecting like plasma, but viscous and oily like tar. The FX team took another multi-layered approach – an intense core energy element was dubbed “venom” by the team, with more layers and tendrils on top.
The stream’s movement needed to be carefully paced – too slow and it would lack dynamism, too fast and it would lose the sense of gradual, oozing menace. Again, the visual effects for this sequence were created as a close collaboration between FX and compositing.
Another sequence delivered by Cinesite was set in a similar swamp to the first Kikimora battle. In this episode, Geralt and his companions are abducted one by one by a Rusalka, a malicious water-based creature with a human form made from the roots and vines of the forest. As Geralt is attacked and pulled below the water’s surface, vines spread and grip him as he struggles. The action was 3D rotomated and facial-tracking tools used to capture soft-tissue facial motion, so that the CG vine assets could be accurately matched to actor Hemsworth’s movement. CG water splashes, surface water runoff and interactive shadowing were all added to achieve a seamless blend between Geralt, the vines and the surrounding watery environment.
The Witcher’s fourth season was released on 30th October, 2025 on Netflix.


