The quintessential Christmas classic gets yet another movie incarnation with this visually impressive version from effects wizard Zemeckis. For most of us, all the surprises here are visual, and it's well worth seeing in 3D.

For seven years after his business partner Marley dies, Ebenezer Scrooge (Carrey) ruthlessly pinches his pennies, underpaying his assistant Bob Cratchit (Oldman) and neglecting the family of his nephew Fred (Firth). Then on Christmas Eve, Marley's ghost informs Scrooge that he will be visited by three ghosts, and that night Scrooge takes a terrifying odyssey through his past, present and future, realising that he has completely missed the point of his life. And of Christmas.

Obviously, Zemeckis can't change anything about this story. So he dives in with gusto, bringing out the darker story elements, ramping up the physical slapstick and making Scrooge a bundle of grumpy humbug and comical bitterness. Motion capture technology lets Carrey shine both vocally and physically (he plays Scrooge at all ages and also all of the ghosts), while Zemeckis reins in his zany excesses to keep the character relatively grounded.

None of the other characters develop much beyond their iconic surfaces, although the voice work is terrific across the board. And the faces and physicality of the actors are clearly visible on screen. They even interact realistically, although as usual there's a disturbing deadness in their eyes, which remains perhaps the last limitation of this kind of animation (and was also a problem in Zemeckis' other mo-cap films BEOWULF and THE POLAR EXPRESS).

On the other hand, the imagery is seriously eye-popping, with 3D snowflakes brushing against our faces as we zoom over and through the streets of 19th century London. Frequent swooping sequences are exhilarating, with imaginative touches along the way. And Zemeckis isn't playing it safe either; the film is packed with some truly scary moments, and the script approaches the story's resonant themes with subtlety and insight. Yes, the "God bless us, every one" message still rings loudly at the end. And even if it feels like a cliche to those of us who grew up on this story, younger viewers seeing it for the first time here will probably find tears in their eyes.