There are a lot of theatrics and melodrama in The Illusionist, a period mystery focusing on a morose magician, Eisenheim (Edward Norton), and the dutiful police chief assigned with breaking him down, Chief Inspector Uhl (Paul Giamatti). Those theatrics are fitting, it seems—in a movie about the fantastic, some level of overblown fuss is required, even appreciated.

And yeah, Eisenheim's tricks are fantastic—even if, thanks to CG, they seem less than magical and more like a showcase for The Illusionist's special effects crew. Which is fine, really, since two more basic forces outshine those pixilated tricks: Norton and Giamatti, two of the best actors working today. Take those two, throw in a few interesting themes—science vs. magic, order vs. chaos, politics vs. love—and some striking moments (nearly all of them from Giamatti), and it'd seem like The Illusionist has everything going for it.

But it doesn't. Writer/director Neil Burger (who adapted the film from a short story by Steven Millhauser) doesn't know what to do with these two great actors, let alone how to handle what should have been a multi-layered drama. Five minutes in, one realizes that just about everything in The Illusionist, with the exceptions of Giamatti and Norton, feels like a cheap TV movie, from the sets to the cinematography to the campy pacing and flashbacks, Burger's film feels amateurish and shallow. And matters aren't helped when Burger brings in Eisenheim's childhood love, Sophie (played by a severely outclassed Jessica Biel), a woman who's not only found a way to get collagen injections in turn-of-the-century Vienna, but has also hooked up with the eeeevil, magic-hatin' Crown Prince Leopold (Rufus Sewell). As the theatrics rise to new, goofy levels and the plot grows tired and predictable, Burger's greatest trick with The Illusionist might be how he could take something with so much promise and transform it into a film that's so mediocre.